{"id":3708,"date":"2021-09-13T04:22:04","date_gmt":"2021-09-13T04:22:04","guid":{"rendered":"https:\/\/cloudxlab.com\/blog\/?p=3708"},"modified":"2022-04-07T13:40:22","modified_gmt":"2022-04-07T13:40:22","slug":"devops-an-introduction","status":"publish","type":"post","link":"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/","title":{"rendered":"DevOps: An Introduction"},"content":{"rendered":"\n<p>Learn the basic concepts of DevOps. You will also learn the benefits of using DevOps practices in your application.<\/p>\n\n\n\n<p class=\"has-large-font-size\">What is DevOps?<\/p>\n\n\n\n<p>DevOps is essentially cultural philosophies, practices, and tools to help deliver your applications and services and tools to your huge number of users.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img width=\"699\" height=\"298\" src=\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-10-at-9.33.26-AM.png\" alt=\"\" class=\"wp-image-3709\"\/><\/figure>\n\n\n\n<p class=\"has-large-font-size\">Benefits of DevOps<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img width=\"816\" height=\"421\" src=\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-11-at-6.22.43-PM.png\" alt=\"\" class=\"wp-image-3713\"\/><figcaption><br>Benefits of DevOps<\/figcaption><\/figure><\/div>\n\n\n\n<!--more-->\n\n\n\n<ol><li><strong>Rapid Delivery<\/strong><br>Increase the frequency and pace of releases so you can innovate and improve your product faster.<\/li><li><strong>Reliability<\/strong><br>Ensure application updates and infrastructure changes so you can deliver at a more rapid pace.<\/li><li><strong>Scale<\/strong><br>Operate and manage your infrastructure and development processes at scale.<\/li><li><strong>Speed<\/strong><br>Innovate for customers faster, adapt to changing markets better, and grow more efficient<\/li><li><strong>Better Collaboration<\/strong><br>Build more effective teams under a DevOps cultural model, which emphasizes values such as ownership and accountability.<\/li><li><strong>Security<\/strong><br>Move quickly while retaining control and preserving compliance.<\/li><\/ol>\n\n\n\n<p class=\"has-large-font-size\">Understanding DevOps<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img width=\"832\" height=\"364\" src=\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-10-at-9.53.29-AM.png\" alt=\"Tools used in DevOps\" class=\"wp-image-3711\"\/><figcaption>Tools used in DevOps<\/figcaption><\/figure>\n\n\n\n<p>DevOps stands for:<br>1. Development and<br>2. Operations<\/p>\n\n\n\n<p>There are 8 phases in DevOps as follows:<\/p>\n\n\n\n<p><strong>1<\/strong>. <strong>Plan<\/strong><br>The planning phase involves a shorter goal planning. A scrum or agile planning is a better choice. The various tools you use are:<br><br>1. Microsoft Office, Google Docs \/ Sheet<br>2. Project Management Tools &#8211; Microsoft Project<br>3. Task Management tools &#8211; Asana, Jira, Mantis<\/p>\n\n\n\n<p>2. <strong>Code<\/strong><br>Text editors and Integrated Development Environments<br>1. VS Code, Vim, Emacs<br>2. Eclipse, XCode, Visual Studio<br><br>Source Code Management (SCM) Tools<br>1. Git &#8211; Best Choice, Older: SVN, CVS<br>2. Server &#8211; GitLab, GitHub, or own<br><br>Unit Test Case Libraries &#8211; depends on the language<br>1. Selenium, JUnit<\/p>\n\n\n\n<p><strong>3. Build<\/strong><br>Build process involves compiling code, copying the assets, generating config and documentation. It should work on the developer machine as well as on the unattended machine.<br><br>There are various build tools:<br>Maven, Ant, SBT, etc<\/p>\n\n\n\n<p><strong>4. Test<\/strong><br>Testing involves verifying if the code is performing as per requirement. Unit Testing starts at coding time. <strong>Write test cases before you code.<\/strong><br><br>Various types of testing are:<br><strong><em>Manual testing, Unit testing, Integration testing, Stress testing<\/em><\/strong><br><br>Tools: <strong><em>xUnit, Selenium, Scripts<\/em><\/strong><br><br>To ensure completeness, we use code coverage tools like <strong><em>Cobertura<\/em><\/strong>.<\/p>\n\n\n\n<p><strong>5. Release<\/strong><br>Once the testing has been successfully done, the build is released as <strong><em>RC<\/em><\/strong> (release candidate) which is ready for being deployed in production.<br><br>Tools like <strong><em>Jenkins<\/em><\/strong> are used for release. Also, <strong><em>Apache Maven repositories<\/em><\/strong> are also used for releasing the binaries.<\/p>\n\n\n\n<p><strong>6. Deploy<\/strong><br>Once the release is finalized, we can deploy it using different automation tools:&nbsp;<strong><em>Puppet, Chef, Ansible, SaltStack<\/em><\/strong><br><br>Newer tools such as <strong><em>Docker<\/em><\/strong> and <strong><em>Kubernetes<\/em><\/strong> help scale infinitely and instantaneously.<br><br>Docker and Kubernetes are used in testing also these days in Continuous Integration.<\/p>\n\n\n\n<p><strong>7. Operate<\/strong><br>Once the software is in production, users can use it and the product managers can customize it. During the operating phase, we can measure the effectiveness using <strong><em>A\/B Testing<\/em><\/strong>.<\/p>\n\n\n\n<p><strong>8. Monitor<\/strong><br>We also need to monitor the various system resource consumptions such as Nagios.<br><br>We must also monitor the various logs and errors being thrown by the system. See: <a href=\"https:\/\/logging.apache.org\/\">Apache Logging System<\/a><br><br>Visualization tools such as <strong><em>Grafana<\/em><\/strong> are used to represent metrics.<\/p>\n\n\n\n<p class=\"has-large-font-size\">DevOps Practices<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img width=\"330\" height=\"374\" src=\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-11-at-6.30.17-PM.png\" alt=\"\" class=\"wp-image-3714\"\/><figcaption>DevOps Practices<\/figcaption><\/figure><\/div>\n\n\n\n<p><strong>Continuos Integration<\/strong><br>It refers to the build and unit testing stages of the software release process. Every code commit triggers an automatic workflow that builds the code and&nbsp;tests the code. It helps in finding and addressing bugs quicker.<\/p>\n\n\n\n<p><strong>Continuous Delivery<\/strong><br>It automates the entire software release process.&nbsp;Continuous Delivery extends the Continuous Integration.<br>Every code-commit triggers an automatic workflow that builds the code (Continuous Integration). Tests the code and (Continuous Integration). Then deploys the code to staging and then to production.<\/p>\n\n\n\n<p><strong>Microservices<\/strong><br>Design single application as a set of small services. Each service runs its own process. Each service communicates with other services through a lightweight mechanism like REST APIs. Microservices are built around business capabilities. Each service caters to a single business purpose.<\/p>\n\n\n\n<p><strong>Infrastructure as Code<\/strong><br>Infrastructure is provisioned and managed using Code and Software development techniques such as&nbsp;Version control and&nbsp;Continuous integration. This helps developers and system admins to manage infrastructure at scale.&nbsp;Without worrying about manually setting up and configuring the servers and resources.<\/p>\n\n\n\n<p><strong>Monitoring and Logging<\/strong><br>Monitor metrics and logs to see how the application and infrastructure are performing. Taking necessary actions to fix the bottlenecks.<\/p>\n\n\n\n<p><strong>Collaboration<\/strong><br>DevOps process setup strong cultural norms and best practices. Well defined processes increase the quality of communication and collaboration among various teams<\/p>\n\n\n\n<p>Check out the DevOps Certificate Course Offered by CloudxLab&nbsp;<a href=\"https:\/\/cloudxlab.com\/course\/60\/devops-certification-training\" target=\"_blank\" rel=\"noreferrer noopener\">here.<\/a><\/p>\n\n\n\n<p>In this course, we will learn to deploy applications to various environment likes testing, staging, and production by building Continuous Integration (CI) and Continuous Delivery (CD) pipelines. Also, we will see end-to-end examples of how to deploy, scale and monitor your application using Docker, Kubernetes, Prometheus, and Jenkins.<\/p>\n\n\n\n<p>The course will be completely hands-on and we will make sure to deliver a best-in-class learning experience and provide you with enough knowledge to start your career as a DevOps Engineer. Also, the course provides sufficient solid foundations to you so that you can start preparing for various certifications like DCA(Docker Certified Associate) and CKAD(Certified Kubernetes Application Developer)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn the basic concepts of DevOps. You will also learn the benefits of using DevOps practices in your application. What is DevOps? DevOps is essentially cultural philosophies, practices, and tools to help deliver your applications and services and tools to your huge number of users. Benefits of DevOps<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[141],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DevOps: An Introduction | CloudxLab Blog<\/title>\n<meta name=\"description\" content=\"Learn the basic concepts of DevOps. You will also learn the benefits of using DevOps practices in your application.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DevOps: An Introduction | CloudxLab Blog\" \/>\n<meta property=\"og:description\" content=\"Learn the basic concepts of DevOps. You will also learn the benefits of using DevOps practices in your application.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/\" \/>\n<meta property=\"og:site_name\" content=\"CloudxLab Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cloudxlab\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-13T04:22:04+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-07T13:40:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-10-at-9.33.26-AM.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@CloudxLab\" \/>\n<meta name=\"twitter:site\" content=\"@CloudxLab\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"5 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/#website\",\"url\":\"https:\/\/cloudxlab.com\/blog\/\",\"name\":\"CloudxLab Blog\",\"description\":\"Learn AI, Machine Learning, Deep Learning, Devops &amp; Big Data\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/cloudxlab.com\/blog\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-10-at-9.33.26-AM.png\",\"contentUrl\":\"https:\/\/blog.cloudxlab.com\/wp-content\/uploads\/2021\/09\/Screenshot-2021-09-10-at-9.33.26-AM.png\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/#webpage\",\"url\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/\",\"name\":\"DevOps: An Introduction | CloudxLab Blog\",\"isPartOf\":{\"@id\":\"https:\/\/cloudxlab.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/#primaryimage\"},\"datePublished\":\"2021-09-13T04:22:04+00:00\",\"dateModified\":\"2022-04-07T13:40:22+00:00\",\"author\":{\"@id\":\"https:\/\/cloudxlab.com\/blog\/#\/schema\/person\/0efa3c54df68406de820ea466f002d3c\"},\"description\":\"Learn the basic concepts of DevOps. You will also learn the benefits of using DevOps practices in your application.\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/\",\"url\":\"https:\/\/cloudxlab.com\/blog\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@id\":\"https:\/\/cloudxlab.com\/blog\/devops-an-introduction\/#webpage\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/#\/schema\/person\/0efa3c54df68406de820ea466f002d3c\",\"name\":\"Abhinav Singh\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/cloudxlab.com\/blog\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fc74fe31169bf872f6ab11bbab621d53?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fc74fe31169bf872f6ab11bbab621d53?s=96&d=mm&r=g\",\"caption\":\"Abhinav Singh\"},\"sameAs\":[\"https:\/\/cloudxlab.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/posts\/3708"}],"collection":[{"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/comments?post=3708"}],"version-history":[{"count":5,"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/posts\/3708\/revisions"}],"predecessor-version":[{"id":3785,"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/posts\/3708\/revisions\/3785"}],"wp:attachment":[{"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/media?parent=3708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/categories?post=3708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudxlab.com\/blog\/wp-json\/wp\/v2\/tags?post=3708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}