<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: David Dennis</title>
    <description>The latest articles on DEV Community by David Dennis (@daviddennis02).</description>
    <link>https://dev.to/daviddennis02</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F230079%2Fe9a830f2-5e18-45d4-b63a-cb37a02e1ac2.jpeg</url>
      <title>DEV Community: David Dennis</title>
      <link>https://dev.to/daviddennis02</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/daviddennis02"/>
    <language>en</language>
    <item>
      <title>Strategies for Cost Optimization in Container Deployment in AWS</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Sun, 31 Mar 2024 16:52:55 +0000</pubDate>
      <link>https://dev.to/aws-builders/strategies-for-cost-optimization-in-container-deployment-in-aws-gc8</link>
      <guid>https://dev.to/aws-builders/strategies-for-cost-optimization-in-container-deployment-in-aws-gc8</guid>
      <description>&lt;p&gt;Embracing cost optimization strategies for container deployment on AWS transcends traditional cost-cutting measures, evolving into a nuanced art of maximizing resource efficiency without compromising on performance or scalability. To navigate this landscape with a fine ship, businesses are encouraged to meticulously tailor their container configurations. In configuring container workloads on AWS, there are several best practices to adhere to, which I will share with you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Right-sizing&lt;/strong&gt;, a practice that involves configuring containers with just the right amount of resources, prevents overspending on underutilized assets, striking a perfect balance between cost and capability.&lt;/p&gt;

&lt;p&gt;Furthermore, the &lt;strong&gt;strategic utilization of AWS Spot Instances&lt;/strong&gt; &lt;br&gt;
emerges as a cornerstone for cost optimization. By leveraging these instances for suitable workloads, businesses can tap into the vast pool of unused AWS capacity at significantly reduced rates, achieving cost savings while maintaining the desired performance levels.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Optimizing resource utilization&lt;/strong&gt; is another critical strategy, ensuring that every allocated resource is used to its fullest potential. This involves scrutinizing resource usage patterns and making informed adjustments to prevent waste, thereby fostering a more cost-efficient deployment environment.&lt;/p&gt;

&lt;p&gt;Lastly, the implementation of &lt;strong&gt;auto-scaling&lt;/strong&gt; policies stands as a testament to the dynamism of AWS's container services. These policies enable businesses to automatically adjust their container resources in response to fluctuating demands, ensuring that they are paying only for what they use when they use it. This dynamic scalability not only aids in managing costs effectively but also in maintaining an agile and responsive operational framework.&lt;/p&gt;

&lt;p&gt;By adopting these strategic approaches to cost optimization, businesses can significantly enhance their container deployment efficiency on AWS, paving the way for a more cost-effective, scalable, and performance-driven digital infrastructure.&lt;/p&gt;

</description>
      <category>aws</category>
      <category>containers</category>
      <category>devops</category>
      <category>cost</category>
    </item>
    <item>
      <title>What the Heck Is Docker Housekeeping? 🤷🏾‍♂️</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Tue, 09 May 2023 05:55:58 +0000</pubDate>
      <link>https://dev.to/daviddennis02/what-the-heck-is-docker-housekeeping-hb5</link>
      <guid>https://dev.to/daviddennis02/what-the-heck-is-docker-housekeeping-hb5</guid>
      <description>&lt;p&gt;Performance issues in your docker environment are more common if you are a Developer, DevOps engineer or SRE managing docker environments. You might wonder if you're a good enough engineer at times because of this performance bottleneck (maxing cpu, memory, or storage).&lt;br&gt;
&lt;a href="https://i.giphy.com/media/3d3shvzRKQe9p3i4VZ/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/3d3shvzRKQe9p3i4VZ/giphy.gif" alt="wonder" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  What is Docker Housekeeping?
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/Qvpxb0bju1rEp9Nipy/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/Qvpxb0bju1rEp9Nipy/giphy.gif" alt="housekeeping" width="480" height="270"&gt;&lt;/a&gt;&lt;br&gt;
The process of managing and maintaining Docker resources to guarantee effective and optimal use of system resources is referred to as "docker housekeeping." This includes removing any no longer required containers, images, volumes and networks. Housekeeping is important to prevent resource exhaustion and improve overall system performance.&lt;/p&gt;

&lt;p&gt;Here are some basic housekeeping tasks you can perform in Docker:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remove unused containers:&lt;/strong&gt; Use the &lt;code&gt;docker container prune&lt;/code&gt; command to remove all stopped containers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remove unused images:&lt;/strong&gt; Use the &lt;code&gt;docker image prune&lt;/code&gt; command to remove all dangling images.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remove unused volumes:&lt;/strong&gt; Use the &lt;code&gt;docker volume prune&lt;/code&gt; command to remove all unused volumes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remove unused networks:&lt;/strong&gt; Use the &lt;code&gt;docker network prune&lt;/code&gt; command to remove all unused networks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remove unused containers, images, volumes, and networks:&lt;/strong&gt; Use the &lt;code&gt;docker system prune&lt;/code&gt; command to remove all unused containers, images, volumes, and networks.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also use various options and filters with these commands to remove specific resources or prune them based on various criteria. &lt;/p&gt;

&lt;p&gt;Here's an example command that will remove all Docker images that are older than 30 days using the &lt;code&gt;docker image prune&lt;/code&gt; command with the &lt;code&gt;--filter&lt;/code&gt; option to specify the date range.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P0U5NV_2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n2tmim0sz67uu6t3s6uw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P0U5NV_2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n2tmim0sz67uu6t3s6uw.png" alt="Terminal" width="800" height="65"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's a good practice to schedule housekeeping tasks periodically using tools like cron jobs or scheduling software to automate the process and ensure that the system stays optimized over time.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thank you for reading, your comments are appreciated&lt;/em&gt; 🙏&lt;/p&gt;

</description>
      <category>docker</category>
      <category>devops</category>
      <category>sre</category>
      <category>programming</category>
    </item>
    <item>
      <title>Elastic Container Service</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Mon, 02 May 2022 07:12:30 +0000</pubDate>
      <link>https://dev.to/aws-builders/elastic-container-service-5f5h</link>
      <guid>https://dev.to/aws-builders/elastic-container-service-5f5h</guid>
      <description>&lt;p&gt;In this post, I will introduce us to the Amazon Web Service offering for running and managing containerised workloads. &lt;/p&gt;

&lt;p&gt;Let's begin by understanding what containers are. You can skip if this seems familiar to you. &lt;/p&gt;

&lt;p&gt;For newbies are you ready? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/lsqUDSmbnAeuxmZhw7/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/lsqUDSmbnAeuxmZhw7/giphy.gif" alt="image" width="480" height="480"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Containers&lt;/strong&gt; are basically operating system virtualised unit of software that packages codes and all of its dependencies; libraries, binaries so that the application can be moved from one computing environment to another fast and reliably. This solves the problem of environment drift, the popular "it works on my machine syndrome", for developers. Containers run as isolated processes on your operating system, most likely Linux. This provides security to your application as processes don't interfere with one another since they are isolated from one another and the host. You can have one to ten containers running on your linux machine and its somewhat easy to manage these containers and their hosted applications, in terms of resources, liveliness, networking etc.&lt;/p&gt;

&lt;p&gt;As a developer, you have deployed applications in containers. These containers are managed by you. Users begin to love your application and you are getting hundreds to thousands of traffic per day, this definitely demands for more containers in order to scale to meet user traffic. Hence your container infrastructure would increase to hundreds and thousands. The big question is, do you have the manpower, skill and time to manage an infrastructure with hundreds to thousands of containers. The answer would be &lt;br&gt;
&lt;a href="https://i.giphy.com/media/vPN3zK9dNL236/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/vPN3zK9dNL236/giphy.gif" alt="image" width="400" height="313"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where &lt;strong&gt;Amazon ECS&lt;/strong&gt; comes to the rescue. Amazon Elastic Container Service (Amazon ECS) is a fully managed container orchestration service that provides the most secure, reliable and scalable way to run containerised applications. With Amazon ECS, you can launch thousands of containers without worrying about management. You can deploy your web applications and auto-scale as your user continuously grows.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/5xtDarmwsuR9sDRObyU/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/5xtDarmwsuR9sDRObyU/giphy.gif" alt="ECS" width="443" height="250"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would love to keep this post short. Here are resources that would help you get started with Amazon ECS service.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/ecs/features/?pg=ln&amp;amp;sec=gs"&gt;AWS ECS features&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/ecs/resources/"&gt;AWS ECS resources&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://aws.amazon.com/ecs/getting-started/"&gt;Getting started with AWS ECS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>beginners</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Shifting Left: What, How, and Benefit.</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Tue, 04 May 2021 06:35:28 +0000</pubDate>
      <link>https://dev.to/daviddennis02/shifting-left-what-how-and-benefit-a7k</link>
      <guid>https://dev.to/daviddennis02/shifting-left-what-how-and-benefit-a7k</guid>
      <description>&lt;p&gt;&lt;em&gt;This article talks about shifting left as an approach to developing and delivering quality software that is stable on production systems, reducing the risk of a production outage.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevOps is about continuity;&lt;/strong&gt; continuous development, continuous testing, continuous deployment, continuous delivery/release, continuous monitoring, and continuous feedback in every stage of software development from ideation to release. This 'continuity' creates a form of a loop, we iterate over the various stages in the software development cycle to improve and ensure things don’t get broken on production and our customers always have quality software/services. DevOps provides a ton of tools and with automation, most of the manual repeatable tasks are reduced, and teams can focus on delivering quality software.  How do we ensure things don’t break on production, and our users always have quality service?. Today, IT failures have been inherently accepted and should be expected, most importantly, IT failures should be managed efficiently.&lt;/p&gt;

&lt;p&gt;The cost of production outage can not be taken mildly, this can bring a bad reputation to the organization, and possibly the organization may go out of business.  How do we ensure that applications competing in a global market do not suffer failure?. The team (developer and operation) needs to be able to identify and solve flaws early in the development and deployment procedures before the software gets to production. There has to be a form of sync, shifting left the operations.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Shifting Left:
&lt;/h2&gt;

&lt;p&gt;Shifting Left is a culture, a way of doing software development, where the team is more concerned about being proactive to issues/factors that can cause technical debt at the later stage of the software development lifecycle especially at the production stage.  In a shifting left culture, emphasis is on the items that will ensure developers deliver quality code.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Some Areas Engineers can Shift Left
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;The longer a vulnerability lasts in your SDLC, the more costly it is to fix. &lt;a href="https://www.netsparker.com/"&gt;&lt;strong&gt;Netsparker&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;System Administrator should ensure the infrastructure or environment created to house the applications are secured and pose no backdoor for vulnerability. To automate this, engineers can use vulnerability scanner tools like &lt;a href="https://nmap.org/"&gt;&lt;strong&gt;Nmap&lt;/strong&gt; &lt;/a&gt;(free and open-source network scanning tool), &lt;a href="https://docs.microsoft.com/en-us/windows/security/threat-protection/mbsa-removal-and-guidance"&gt;&lt;strong&gt;Microsoft Baseline Security Analyzer&lt;/strong&gt;&lt;/a&gt;(testing Windows systems for vulnerability - &lt;strong&gt;MBSA&lt;/strong&gt;). Application scanning tools like  &lt;a href="https://www.netsparker.com/support/what-is-netsparker/"&gt;&lt;strong&gt;Netsparker&lt;/strong&gt;&lt;/a&gt;can scan web applications for vulnerabilities. Once vulnerabilities are discovered, it is important that they are eliminated and this process must be tracked for closure. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developers ensure there are checkers or code reviewers scrutinizing pull requests based on the project coding standard.  Set static code analysis and code coverage tools like &lt;strong&gt;Sonarcloud, PMD, Jacoco&lt;/strong&gt;. &lt;a href="https://sonarcloud.io/code-quality"&gt;&lt;strong&gt;Sonarcloud&lt;/strong&gt;&lt;/a&gt; is a static and dynamic code analysis tool that generates Bugs, Vulnerabilities, Code smells reports. The team can set a quality gate; acceptance criteria reviews to be used throughout the project. This will enforce quality in the code and make the team follow a standard. It is advised that these standards be set at the early stage of development. However, if you are at the later stage of your project, you could look more at applying the rules on new codes(PRs), and over time you will be introducing fewer bugs to your entire base code. This approach is more manageable than having to start correcting your entire base code after running an analysis.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developers should be empowered to imbibe the culture of unit testing their codes early in the project. If this is done right, the probability of having little to no technical debt at integrated testing and other testing stages(User Acceptance Testing, Post-Deployment testing) will be high. &lt;br&gt;
Quality Assurance (QA) engineers should perform tests against a verified checklist of items/requirements that the application should meet. Defects detected should be logged and the corresponding remediation is tracked adequately. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, shifting left seems to be more about testing, finding, and preventing defects early in the software delivery process to reduce/eliminate technical debts and improve the quality of the application. Collaboration and communication among the team(Developers, System administrator/Infrastructure Engineer, QA, etc) must be managed effectively, no one likes re-working but if there is a culture of shared responsibility, then it is a lot easier since the team understands that the goal is to improve the software delivery process and increase the quality of service/software.&lt;/p&gt;

&lt;p&gt;To conclude, here is a list of benefits that answers why your team should shift left in their software delivery process.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automation:&lt;/strong&gt; removal of human errors, fewer production issues, thus fewer application support tickets raised.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Increased speed of application/service delivery.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Increased revenues:&lt;/strong&gt; technical debt is removed early and the organization does not need to pay for man-hours that it would have taken to rework any technical debt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Increased customer satisfaction.  &lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I hope this article was insightful, please share and drop your comments on what your views are on this topic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;Header Image - &lt;a href="https://www.techarcis.com/wp-content/uploads/2016/09/Shift-Left-Testing.jpg"&gt;Techarcis&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;em&gt;&lt;a href="https://www.bmc.com/blogs/what-is-shift-left-shift-left-testing-explained/#:~:text=Shift%20Left%20is%20a%20practice,in%20the%20software%20delivery%20process.&amp;amp;text=Shift%20Left%20testing%20means%20testing%20earlier%20in%20the%20software%20development%20process."&gt;Shift Left Testing: What, Why &amp;amp; How To Shift Left&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>testing</category>
      <category>culture</category>
      <category>agile</category>
    </item>
    <item>
      <title>How I Passed the AZ-400 Certification.</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Mon, 04 Jan 2021 06:19:26 +0000</pubDate>
      <link>https://dev.to/daviddennis02/how-i-passed-the-az-400-certification-1n05</link>
      <guid>https://dev.to/daviddennis02/how-i-passed-the-az-400-certification-1n05</guid>
      <description>&lt;p&gt;I am a DevOps Engineer from Nigeria, I took the Azure DevOps Certification and passed with a good score. In this post, I would like to share a bit of my experience, the resources, and the steps I took that helped me while preparing for the Azure DevOps Certification exam.&lt;/p&gt;

&lt;p&gt;Azure DevOps Expert Certification is a 3-star certification that falls under the Microsoft expert-level certifications.&lt;/p&gt;

&lt;p&gt;As a professional, certifications provide industry-endorsed proof of mastering the skills in your area of expertise.&lt;br&gt;
&lt;a href="https://home.pearsonvue.com/voc" rel="noopener noreferrer"&gt;The 2018 Pearson VUE Value of IT Certification&lt;/a&gt; survey puts it that &lt;strong&gt;91%&lt;/strong&gt; of certified IT professional get more professional credibility, &lt;strong&gt;89%&lt;/strong&gt; are more valuable to their employers, and &lt;strong&gt;35%&lt;/strong&gt; of the surveyed candidates reported a salary/wage increase as a benefit of getting certified. The Microsoft Certified: DevOps Engineer Expert certification is no different as regards the above-listed benefits.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Microsoft Certified: DevOps Engineer Expert Code-named, AZ-400, is an exam that validates the skills of subject matter experts working with people, processes, and technologies to continuously deliver business value.
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Prerequisite
&lt;/h4&gt;

&lt;p&gt;A candidate for this exam must have written either or both of the Microsoft certification. I chose to write the &lt;a href="https://www.youracclaim.com/badges/c4177e3a-c0de-430b-84e5-2d9818957832/public_url" rel="noopener noreferrer"&gt;Azure Developer Associate&lt;/a&gt; because of my experience as a software developer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Microsoft Certified: Azure Developer Associate&lt;/li&gt;
&lt;li&gt;Microsoft Certified: Azure Administrator Associate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fx4mntivzug0iryerakt0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fx4mntivzug0iryerakt0.png" alt="Certification Path"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Scheduling your exam
&lt;/h4&gt;

&lt;p&gt;You can schedule or book for your AZ-400 Exam with  &lt;a href="https://home.pearsonvue.com/" rel="noopener noreferrer"&gt;PearsonVue&lt;/a&gt;, a computer-based testing solution provider. You can choose to take your exam at a test center or at your office/home depending on which is convenient for you. The exam &lt;a href="https://docs.microsoft.com/en-us/learn/certifications/devops-engineer#certification-exams" rel="noopener noreferrer"&gt;cost&lt;/a&gt; differently depending on the country you are taking it from.&lt;br&gt;
I will advise you to schedule for your exam a month or more ahead for effective preparation.&lt;/p&gt;

&lt;h4&gt;
  
  
  Study for your exam
&lt;/h4&gt;

&lt;p&gt;The AZ-400 Exam contains about 40-60 questions with a duration of about 180minutes. Candidates are required to have a passing score of 700/1000 to earn the certification.&lt;/p&gt;

&lt;h5&gt;
  
  
  Structure of the exam
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Single-choice questions( with YES/NO options) &lt;strong&gt;Cannot be reviewed, skipped, or returned to later&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Single-choice questions.&lt;/li&gt;
&lt;li&gt;Multiple-choice questions.&lt;/li&gt;
&lt;li&gt;Arrange in the right sequence questions.&lt;/li&gt;
&lt;li&gt;Case-study with multiple questions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Study plan
&lt;/h5&gt;

&lt;p&gt;A typical study plan may last for a month at about 5 hours of daily study. The study plan depends on the level of experience candidates have on the various topics measured in the exam. Experienced DevOps professionals may spend less time compared to the beginner fellows. &lt;/p&gt;

&lt;h5&gt;
  
  
  Study materials
&lt;/h5&gt;

&lt;p&gt;This exam measures your ability to accomplish the following technical tasks: develop an instrumentation strategy; develop a Site Reliability Engineering (SRE) strategy; develop a security and compliance plan; manage source control; facilitate communication and collaboration; define and implement continuous integration; and define and implement continuous delivery and release management strategy. The following materials should be helpful.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/learn/certifications/devops-engineer#certification-exams" rel="noopener noreferrer"&gt;Microsoft learn: Azure DevOps Learning Path&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://azuredevopslabs.com/" rel="noopener noreferrer"&gt;Azure Devops Labs&lt;/a&gt;: get hands-on experience using various Azure DevOps services to solve real-life scenario business problems.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops" rel="noopener noreferrer"&gt;Azure DevOps documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/azure/?product=featured" rel="noopener noreferrer"&gt;Azure documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h5&gt;
  
  
  Practice question materials
&lt;/h5&gt;

&lt;p&gt;The listed links below are very helpful and may tell you what the questions may look like. All the objectives of this exam are covered so you'll be ready for any question on the exam.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://global4.mindhub.com/az-400-microsoft-azure-devops-solutions-microsoft-official-practice-test/p/MU-AZ-400?utm_source=microsoft&amp;amp;utm_medium=certpage&amp;amp;utm_campaign=msofficialpractice" rel="noopener noreferrer"&gt;AZ-400: Designing and Implementing Microsoft DevOps Solutions &lt;strong&gt;Microsoft Official Practice Test&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.whizlabs.com/microsoft-azure-certification-az-400/practice-tests/" rel="noopener noreferrer"&gt;Whizlabs-AZ-400 Practice test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.examtopics.com/exams/microsoft/az-400/" rel="noopener noreferrer"&gt;ExamTopics-AZ-400 Practice test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Taking your exam
&lt;/h4&gt;

&lt;p&gt;It is important you arrive at your test center 15-30 minutes before your scheduled appointment time. This will give you adequate time to complete the necessary sign-in procedures. If you arrive more than 15 minutes late for an exam and are refused admission, payments are due for the exam and delivery fees.&lt;br&gt;
Be prepared to show two (2) valid forms of personal identification, a National Identity card, Drivers license, or an International Passport.&lt;/p&gt;

&lt;h5&gt;
  
  
  Tips
&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Mark questions whose answers you are not sure about for review, and revisit them when done with the others.&lt;/li&gt;
&lt;li&gt;Don't leave any questions unanswered and make sure to submit before proceeding to the next section.&lt;/li&gt;
&lt;li&gt;Case-study questions come after the first section.&lt;/li&gt;
&lt;li&gt;Make sure you keep to time.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You will receive your transcript upon submission in less than an hour, and an acclaim badge upon passing the exam in your mailbox. Share your badge on social networks like LinkedIn, Twitter, or Facebook. &lt;br&gt;
&lt;strong&gt;Voila&lt;/strong&gt;, congratulations, you are now a Microsoft Certified: Azure DevOps Expert, you deserve it. Keep your skills sharp and transfer your knowledge to real work situations.&lt;/p&gt;

&lt;p&gt;Thank you for reading, I hope this helps you prepare and pass the AZ-400 examination.&lt;br&gt;
&lt;a href="https://www.youracclaim.com/badges/646f370d-4864-45e2-94db-2240cdbc153d/public_url" rel="noopener noreferrer"&gt;You can view my Azure DevOps badge here 😊&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Reference&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://docs.microsoft.com/en-us/learn/certifications/devops-engineer#certification-exams" rel="noopener noreferrer"&gt;Microsoft Certified: DevOps Engineer Expert
&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://azuredevopslabs.com/" rel="noopener noreferrer"&gt;Azure DevOps Labs
&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://home.pearsonvue.com/voc#myDIV" rel="noopener noreferrer"&gt;2018 Pearson VUE Value of IT Certification
&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>career</category>
    </item>
    <item>
      <title>DevOps Tools Every Engineer Should Know</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Mon, 02 Nov 2020 05:32:29 +0000</pubDate>
      <link>https://dev.to/daviddennis02/devops-tools-every-engineer-should-know-hf2</link>
      <guid>https://dev.to/daviddennis02/devops-tools-every-engineer-should-know-hf2</guid>
      <description>&lt;p&gt;DevOps is a software development practice that keeps evolving. &lt;br&gt;
Organizations are moving from the traditional development practices (Waterfall model) to a more agile, effective, and adaptive software development approach (Agile Development).&lt;br&gt;
DevOps was born out of the need to unify Software development and IT Operations, remove silos between teams, increase software delivery velocity, and improve products at a faster pace. &lt;/p&gt;

&lt;p&gt;DevOps share the agile principle of &lt;strong&gt;People-Process-Tools&lt;/strong&gt;. Though the &lt;strong&gt;People-Process-Tools&lt;/strong&gt; is mentioned in order of priority, none is greater than the other. You need people to commit to a process by using effective tools that deliver working software frequently.&lt;/p&gt;

&lt;p&gt;In this article, our focus will be on the tools that help automate the devops processes allowing engineers to design, build, test, deploy, manage, and operate applications and systems faster and reliably. We will be looking at a few tools that can get you started as a DevOps engineer, though the list is endless and can be specific to an organization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Git:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://git-scm.com/"&gt;Git&lt;/a&gt; is a distributed version control tool, a much-needed tool in a successful CI/CD workflow. With git, developers have a local copy of the source code which is a complete copy of the central repository. Developers can commit each set of changes on their development machine and perform version control operations such as history and compare without a network connection. The development team save their code, track changes, and integrate code changes/updates to a single location. The development team is able to develop, collaborate faster, and perform quick deployment. You can get started with a few &lt;a href="https://git-scm.com/"&gt;Git command&lt;/a&gt;, a GitHub repository,  and the CLI tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jenkins:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.jenkins.io/"&gt;Jenkins&lt;/a&gt; is an open-source automation server that enables developers around the world to reliably build, test, and deploy their software. Jenkins is a standard open-source software for automating continuous integration and continuous delivery (CI/CD) in DevOps. Developers can use Jenkins to automate the build, test, and source code integration continuously. Jenkins takes source code through a pipeline from source code creation all to production deployment. &lt;br&gt;
With thousands of plugins, Jenkins is highly extensible and integrates with every tool in a &lt;a href="https://www.infoworld.com/article/3271126/what-is-cicd-continuous-integration-and-continuous-delivery-explained.html"&gt;CI/CD&lt;/a&gt; toolchain. Jenkins can be easily installed, has a simple GUI to configure and setup your projects.&lt;br&gt;
Jenkins can connect to your GitHub, Bitbucket, or any other code hosting platform to detect code changes. Run automated builds with Gradle, run tests, and deploy a containerized application using Docker to Kubernetes cluster. Jenkins is a versatile tool and its use is limitless and can be extended based on your project demand.&lt;/p&gt;

&lt;h2&gt;
  
  
  Docker
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt; is a software tool that provides Operating System(OS) level virtualization in contrast to Virtual machines. It is the world’s leading containerization software platform, a reason you have to learn it. Docker provides containers allowing you to package up your code and all its dependencies into a single unit/application, so the application runs quickly and reliably from one computing environment to another. The container technology help eliminates &lt;a href="https://access.redhat.com/blogs/766093/posts/1976463"&gt;“Dependency Hell” and “Environmental Hell”&lt;/a&gt; issues since containers are isolated environments and can run regardless of the infrastructure or environment. Hence, Docker provides a consistent environment throughout the delivery pipeline and is a more agile approach to software development and deployment. You can build your application or environment into Docker images, push them to your Container Registry or DockerHub, share them with your development team, and anyone can pull the image and run it as a container on their machine seamlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Kubernetes:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://kubernetes.io/"&gt;Kubernetes&lt;/a&gt; is an open-source container-orchestration software tool, birthed out of the need to automate the deployment, management, maintenance, and scaling of a containerized application. &lt;br&gt;
We want to run the software, update it and possibly roll it back in case of any code breakages but all this should be done in an automated fashion, so Google developed a standard that metamorphosed into what Kubernetes is today. Kubernetes is now maintained by Cloud Native Computing. Kubernetes has become a standard tool to deploy containerized applications in a production environment. It offers powerful features like self-healing, managing container state and automatically correcting faulty containers, thus, helping us to achieve stable and reliable systems. Organizations that embrace the DevOps approach build Cloud reliant systems on Kubernetes. Kubernetes is a much-needed tool and the probability is quite high that you will need it in the toolchain when building cloud-native applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Ansible:
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.ansible.com/"&gt;Ansible&lt;/a&gt; is an open-source software provisioning,  configuration management, application deployment tool enabling Infrastructure as Code, IaC, a practice of automating the provisioning of infrastructure through the same versioning as the DevOps team uses for source code. The Infrastructure as Code is a representation of your Infrastructure in a particular state, allowing you to provision and de-provision infrastructure resources in a reliable manner. Ansible uses IaC, Ansible playbooks, a YAML file; which is a step by step instruction on how to provision and configure the infrastructure your application is to run on. This is very helpful when you are considering moving your application from the development stage to the testing and production stage but need to replicate hundreds of infrastructure resources, say VMs, with typical environments, to accommodate the load. Ansible is an agentless automation tool with less learning curve, easy to install, and get up running to handle your configuration management jobs, and automate repeatable tasks using playbooks. Ansible has become more popular than its counterpart; Puppet and Chef. Ansible uses SSH by default to connect, communicate, and operate on an inventory list of servers, simplifying strenuous repeatable tasks that would have taken a long time to finish.&lt;/p&gt;

&lt;h2&gt;
  
  
  Prometheus and Grafana:
&lt;/h2&gt;

&lt;p&gt;We have looked at tools that can help us automate our repeatable task from versioning and managing our code, deploying applications, and provisioning and maintaining the infrastructure on which our application runs. It is very important that we monitor the performance of our applications and infrastructure so we continuously deliver value to our customers. We need tools to monitor the health of our systems and give feedback. DevOps team act on the information generated in order to mitigate any possible issues that may hinder service delivery to the users. This is where Prometheus and Grafana come in. &lt;br&gt;
&lt;a href="https://prometheus.io/docs/visualization/grafana/"&gt;Prometheus and Grafana&lt;/a&gt; are monitoring stacks used by DevOps teams for storing and visualizing time series data. Prometheus acts as the storage backend, collecting metrics from monitored targets while Grafana is the visualization layer for the analysis of the monitoring data received. This allows the DevOps team to have a full view of how their applications, processes, and tools are performing and have the opportunity to measure how much value is delivered to the users. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As a DevOps engineer, theoretical knowledge is not enough, one must have the knowledge of practicing DevOps and know the various DevOps tool needed to perform tasks in everyday DevOps setting. &lt;br&gt;
The tools mentioned above are in no particular order and in no favor of any organization. &lt;br&gt;
The list of DevOps tools is endless and organizations                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         practicing DevOps are very specific to the tools they use as determined by the project needs. &lt;/p&gt;

&lt;p&gt;Please let me know what your opinions 🤔 are on this topic. &lt;br&gt;
You can also share in the comment which tools your organization use and what requirements guided the decision to choose those tools.&lt;/p&gt;

&lt;p&gt;Thank you for reading!!! 🙏&lt;/p&gt;

</description>
      <category>devops</category>
      <category>opensource</category>
      <category>ansible</category>
    </item>
    <item>
      <title>DevOps Engineering, what is it? Pt 3</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Thu, 01 Oct 2020 00:19:13 +0000</pubDate>
      <link>https://dev.to/daviddennis02/devops-engineering-what-is-it-ll4</link>
      <guid>https://dev.to/daviddennis02/devops-engineering-what-is-it-ll4</guid>
      <description>&lt;h2&gt;
  
  
  Who is a DevOps Engineer?
&lt;/h2&gt;

&lt;p&gt;A DevOps Engineer is a professional who understands the software development lifecycle,  works with software developers, system administrators, and operations to oversee code releases using various automation tools for developing continuous integration and continuous delivery (CI/CD) pipeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  Skills a DevOps engineer should have?
&lt;/h3&gt;

&lt;p&gt;A DevOps professional should show a variety of both soft skills and technical skills. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Soft skills include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Strong interpersonal skill&lt;/li&gt;
&lt;li&gt;Empathy&lt;/li&gt;
&lt;li&gt;Flexibility&lt;/li&gt;
&lt;li&gt;Decision-making&lt;/li&gt;
&lt;li&gt;Openness to feedback&lt;/li&gt;
&lt;li&gt;Growth mindset&lt;/li&gt;
&lt;li&gt;Team player attitude&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Technical skills include:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good knowledge of source code management (version control systems like Git and GitHub).&lt;/li&gt;
&lt;li&gt;Proficient in developing Continuous Integration and Continuous Delivery (CI/CD) pipelines.&lt;/li&gt;
&lt;li&gt;Knowledge of operating systems (Linux and Windows).&lt;/li&gt;
&lt;li&gt;Knowledge and experience with CI/CD automation tools like Jenkins.&lt;/li&gt;
&lt;li&gt;Knowledge and experience with cloud providers like Azure, Amazon Web Services (AWS), and Google Cloud Platform(GCP).&lt;/li&gt;
&lt;li&gt;Knowledge of programming/scripting in an object-oriented or scripting language.&lt;/li&gt;
&lt;li&gt;Knowledge of automating infrastructure, writing Infrastructure as Code (IaC) using tools like Azure Resource Manager (ARM) template and Terraform. &lt;/li&gt;
&lt;li&gt;Knowledge of Configuration Management and Deployment tools like Ansible, Chef, and Puppet.&lt;/li&gt;
&lt;li&gt;Knowledge of Continuous Monitoring tool like Nagios.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are roles and responsibilities that revolve around the DevOps philosophy.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Site Reliability Engineer&lt;/li&gt;
&lt;li&gt;DevOps Architect&lt;/li&gt;
&lt;li&gt;Integration specialist&lt;/li&gt;
&lt;li&gt;Release manager&lt;/li&gt;
&lt;li&gt;Automation Engineer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevOps is a relatively new topic and there is a lot of innovation around it. DevOps will continue to evolve with the software industry. According to &lt;a href="https://www.businesswire.com/news/home/20200629005453/en/DevOps-Software-Market-Analysis-and-Forecast-2020-2025---ResearchAndMarkets.com"&gt;businesswire&lt;/a&gt;, the global DevOps market was valued at US$3.832 billion in 2019 and is expected to continue showing solid growth over the next years. Hence, there will be a lot of opportunities for professionals seeking to start a career in DevOps. &lt;/p&gt;

&lt;p&gt;Are you seeking to start a career in DevOps, well, you are not alone? Here is a list of platforms that have helped me through my personal self-study.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-in/azure/devops/?view=azure-devops"&gt;Azure DevOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aws.amazon.com/devops/"&gt;AWS DevOps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kodekloud.com/p/kodekloud-engineer"&gt;KodeKloud Engineer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.udacity.com/course/cloud-dev-ops-nanodegree--nd9991"&gt;Udacity&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://linuxacademy.com/"&gt;LinuxAcademy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://app.pluralsight.com/paths/skill/understanding-devops"&gt;Pluralsight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/learning/topics/devops-foundations?u=76192106"&gt;LinkedIn Learning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.udemy.com/topic/devops/"&gt;Udemy.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I hope to share in your testimonies as you begin or progress in your DevOps career. Please be kind enough to share and comment on your opinions. We grow by learning from one another’s experiences.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.sevenmentor.com/devops-automation/"&gt;Cover Image Source&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;** &lt;em&gt;Thank you for reading.&lt;/em&gt; **&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cicd</category>
      <category>career</category>
      <category>agile</category>
    </item>
    <item>
      <title>DevOps Engineering, what is it? Pt 2</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Wed, 30 Sep 2020 23:54:20 +0000</pubDate>
      <link>https://dev.to/daviddennis02/devops-engineering-what-is-it-pt2-1lgf</link>
      <guid>https://dev.to/daviddennis02/devops-engineering-what-is-it-pt2-1lgf</guid>
      <description>&lt;h2&gt;
  
  
  Core values of DevOps
&lt;/h2&gt;

&lt;p&gt;The core values of DevOps is summarised as the CAMS Model pioneered by &lt;a href="https://itrevolution.com/faculty/john-willis/"&gt;John Willis&lt;/a&gt;  and &lt;a href="https://www.linkedin.com/in/damonedwards"&gt;Damon Edwards&lt;/a&gt;.&lt;br&gt;
The core values of DevOps practice are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;C&lt;/strong&gt;ulture: This is the very essence of devops. Culture is a way of life. Practicing devops is about bringing understanding between the development team and operations, thus, focusing on people over process over tools. A DevOps culture is an embodiment of communication and collaboration, eliminating silos between teams. This fosters understanding and bonding between team members. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A&lt;/strong&gt;utomation: Devops was adopted to meet up with continuous business changes and customer feedback. Automating devops processes through continuous integration and continuous delivery pipeline, and infrastructure as code accelerates the benefits of doing Devops. Automating devops reduces manual errors and saves time on repeatable tasks, reduce failures, and increase efficiency in delivering quality applications to users rapidly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;M&lt;/strong&gt;easurement:  In order to understand the effectiveness of a devops adoption and transformation in your team, you need metrics. Measuring key metrics like Mean Time To Recover(MTTR), Mean Time Between Failure(MTBF), Mean Time To Failure(MTTF), Lead Time, Deployment frequency. These metrics serve as indicators of overall business performance. It is advised that result should be actionable if you want to increase value to customers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;S&lt;/strong&gt;haring: “...without sharing, there is no Devops” -  &lt;a href="https://..."&gt;Patrick Debois&lt;/a&gt;. People will always make a mistake and the first approach is always to point fingers or blame someone. It is in nobody’s place to blame a team member for errors. But it is a shared responsibility to fix such a potential error prioritizing the overall business value. In DevOps everything is shared, team members are encouraged to ask questions and share opinions to reduce friction and encourage understanding.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The &lt;strong&gt;CAMS&lt;/strong&gt; model provides successful adoption of devops and continuous improvement in the devops lifecycle.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://dev.to/daviddennis02/devops-engineering-what-is-it-ll4"&gt;continue to pt3&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cicd</category>
      <category>career</category>
      <category>agile</category>
    </item>
    <item>
      <title>DevOps Engineering, what is it? Pt 1</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Wed, 30 Sep 2020 23:31:48 +0000</pubDate>
      <link>https://dev.to/daviddennis02/devops-engineering-what-is-it-pt1-32g</link>
      <guid>https://dev.to/daviddennis02/devops-engineering-what-is-it-pt1-32g</guid>
      <description>&lt;p&gt;DevOps is a practice of operation and development engineering teams participating together in the entire process of software/service lifecycle from requirement definition and design, to development and deployment process, and delivery and to monitoring (production support). &lt;/p&gt;

&lt;p&gt;DevOps practices apply continuity in every stage of the software lifecycle providing, software/solutions that meet the always-changing customer’s requirement. &lt;/p&gt;

&lt;p&gt;In the traditional software development process, the waterfall model was used. Though the model had various advantages to certain kinds of engineering project execution like smaller projects where requirements were very well understood and it was a one-off project. Such projects will not be revisited for updates and change, if this happened the project will be at risk of deadlock.  The waterfall model was not effective in delivering large software projects. &lt;/p&gt;

&lt;p&gt;Engineering teams had to look for a better process that is agile, iterative, and accommodate changing requirements. The Agile model shifts focus to providing a short-fixed timeline that allows for continuous immediate feedback from the customer and the ability to move deliverables into production. DevOps practice is an offshoot from agile development because it ensures that software continues to be available. DevOps and Agile model brings the ability to quickly embrace changes and succeeding in a dynamic environment whilst increasing collaboration between developers, operations, and business teams. The fusion of these two offers the following;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High-quality software that can be deployed faster, be monitored, and maintained easily.&lt;/li&gt;
&lt;li&gt;Continuity in the software development process like automation, continuous development, continuous testing,  continuous integration, continuous deployment, and continuous monitoring.&lt;/li&gt;
&lt;li&gt;Rapidly receive and implement feedback from customers into working software for business growth.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://dev.to/daviddennis02/devops-engineering-what-is-it-pt2-1lgf"&gt;&lt;em&gt;continue to part-2&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cicd</category>
      <category>career</category>
      <category>agile</category>
    </item>
    <item>
      <title>Introduction to Cloud computing.</title>
      <dc:creator>David Dennis</dc:creator>
      <pubDate>Thu, 03 Oct 2019 03:50:21 +0000</pubDate>
      <link>https://dev.to/daviddennis02/introduction-to-cloud-computing-5cg</link>
      <guid>https://dev.to/daviddennis02/introduction-to-cloud-computing-5cg</guid>
      <description>&lt;p&gt;The "Cloud" is often referred to as the "Internet" because it is a web of interconnected devices such as servers in a datacenter sharing data and other services over the internet.&lt;/p&gt;

&lt;p&gt;Cloud computing offers a range of computing resources that Service providers deliver to customers via the internet. It is simply the provision of Infrastructures, services that enable businesses to build, deploy or use applications over the cloud in a scalable, efficient and Pay-as-you-go manner.&lt;/p&gt;

&lt;p&gt;For a formal definition, Cloud computing is the on-demand availability of computer resources, especially data storage and computing power, without direct active management by the user. The goal here is to help businesses achieve economies of scale.&lt;br&gt;
Cloud computing has been around since the 2000s and has technology would have it, cloud computing keeps evolving to solve potential business or computing challenges through innovation and host of competing cloud service providers.&lt;br&gt;
Now that we know what cloud computing is about. Let's dive a bit into the models through which these services are delivered to customers.&lt;/p&gt;

&lt;p&gt;Cloud computing delivers services through two models: the Service Model and Deployment Model.&lt;/p&gt;

&lt;p&gt;Cloud Service Model: The most common and widely used cloud computing services are Infrastructure as a Service (Iaas), Platform as a Service (PaaS) and Software as a Service (SaaS).&lt;/p&gt;

&lt;p&gt;Infrastructure as a Service (Iaas): IaaS is the most basic form of cloud computing service. With IaaS, computing architecture and infrastructure (servers, virtual machines, storage, and networking and firewall security ) are virtually provisioned to the customer or client. On this underlayer, the customer installs, configure, and manages their software - operating systems, middleware, and applications. Customers do not have to worry about IT infrastructure.&lt;br&gt;
Benefits are: this is very helpful in a High-performance computing environment, for faster setup of the Test and Development environment, and to host Web apps quickly. The target customer here is the IT administrator.&lt;br&gt;
Some IaaS providers include Amazon Web Services - EC2 (Elastic Cloud Computing), Cisco Metapod, Microsoft Azure, Google Compute Engine, Heroku, DigitalOcean, and Rackspace.&lt;/p&gt;

&lt;p&gt;Platform as a Service (PaaS): The cloud service provider provides a platform allowing customers to develop, run and manage applications with no complexity of building and maintaining the infrastructure. IT resources provided include Networks, servers, and storage, Operating systems, and databases. The customer is provided with hardware and software(Operating system (Windows, Linux) environment, programming language support, frameworks, etc) tools, that enable rapid application development.&lt;br&gt;
Benefits are: shorter coding time, increased time of development and deployment, scalability, and more resources can be released as the application grows. The providers perform all the latest component updates and security patches, thus, your application runs on the latest technologies. However, I will advise customers using PaaS to perform regular backups and ensure data security. The target customer here are Software developers.&lt;br&gt;
Some PaaS providers include Amazon Web Service - Elastic Beanstalk, Google App Engine, RedHat Openshift, and Microsoft Azure.&lt;/p&gt;

&lt;p&gt;Software as a Service (SaaS): SaaS providers lease application software to clients. The cloud service provider hosts the application, manage the infrastructure, run maintenance, software upgrade, and security patches. The client access the service, through the web browser, independent of any platform, and over the internet. The software is licensed on a subscription basis to the customers. There is no need for any installation.&lt;br&gt;
Benefits are: the platform is universally accessible, allows multi-tenancy, provides modest software tools and users can work collaboratively. The target customer here are End-users.&lt;br&gt;
Some SaaS providers include Google Apps (Gmail, Google Drive), Office tools (Google Docs and Microsoft Office365), customer relationship management software (Salesforce), and so on.&lt;/p&gt;

&lt;p&gt;Let's look at the Deployment model of cloud computing.&lt;/p&gt;

&lt;p&gt;Cloud Deployment Model: The most common and widely used cloud computing services are Public cloud, Private cloud, and Hybrid cloud. Cloud deployment models show how cloud services are made available to users. You must choose a model that meets your business objectives. Each model solves a particular business need through its value offerings and cost. Choices should be made based on informed decisions guided by the following; business goals, cost of deployment and management, infrastructure requirement and data security and privacy. Now let's discuss each model.&lt;/p&gt;

&lt;p&gt;Public cloud: The cloud provider maintains the hardware and computing infrastructure that an organization needs for free or at a specific cost with the possibility of scaling up when more resources are needed. This model is available to all users who want to make use of computing resources. Public cloud lowers capital expenditures for servers and other computing infrastructure.&lt;br&gt;
The benefits are Scalability, little or no downtime(24/7 operation), cost-effectiveness, uncustomized environment that is readily available. However, the public cloud model is less secured compared to other deployment models. One's choice depends on the objective of the business. If privacy and security are not paramount, Public cloud may seem like a good option.&lt;/p&gt;

&lt;p&gt;Private cloud: Private cloud is a good option for any organization that security and privacy are paramount. It is most suitable for a large Enterprise-level organization that can pay for the very expensive cost. That is why this secure, flexible computing deployment model is not a choice for small to medium-sized enterprises. The private cloud model offers more controlling abilities over the resources. Computing services are provisioned over private IT infrastructure for the dedicated use of a single organization.&lt;br&gt;
The benefits are Storage and network components that can be customized, a high level of control over corporate information, and a high level of security, privacy, and reliability. The most significant disadvantage of the private cloud model is the high-cost intensiveness in acquiring and maintaining the IT infrastructure.&lt;/p&gt;

&lt;p&gt;Hybrid cloud: As the name suggests, a hybrid cloud is a combination of public and private cloud best offerings. Organizations can use a private cloud for running confidential and critical operations and use the public cloud for sharing workloads and scale the infrastructure.&lt;br&gt;
The Benefits are; High level of scalability and flexibility, High level of security, privacy, and reliability, and Relatively affordable cost.&lt;/p&gt;

&lt;p&gt;Cloud computing provides near-instant access to as many computing resources as you want when you need it along with the ability to obtain computers with a specific configuration. Also, scalability, fast product or service delivery and greater IT efficiencies are benefits of cloud computing. Organizations should carefully consider their choice of a cloud service and deployment model that best suit the business objectives.&lt;/p&gt;

</description>
      <category>saas</category>
      <category>cloud</category>
      <category>azure</category>
      <category>aws</category>
    </item>
  </channel>
</rss>
