{"id":342523,"date":"2021-09-21T21:00:00","date_gmt":"2021-09-21T18:00:00","guid":{"rendered":"https:\/\/en.buradabiliyorum.com\/a-beginners-introduction-to-devops-principles-cloudsavvy-it\/"},"modified":"2021-09-21T21:00:00","modified_gmt":"2021-09-21T18:00:00","slug":"a-beginners-introduction-to-devops-principles-cloudsavvy-it","status":"publish","type":"post","link":"https:\/\/buradabiliyorum.com\/en\/a-beginners-introduction-to-devops-principles-cloudsavvy-it\/","title":{"rendered":"#A Beginner\u2019s Introduction To DevOps Principles \u2013 CloudSavvy IT"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a2f20b65e15d\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #dd3333;color:#dd3333\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #dd3333;color:#dd3333\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a2f20b65e15d\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/buradabiliyorum.com\/en\/a-beginners-introduction-to-devops-principles-cloudsavvy-it\/#The_Basics\" >The Basics<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/buradabiliyorum.com\/en\/a-beginners-introduction-to-devops-principles-cloudsavvy-it\/#Continuous_IntegrationContinuous_Delivery_Pipelines\" >Continuous Integration\/Continuous Delivery Pipelines<\/a><\/li><\/ul><\/nav><\/div>\n<p><strong>&#8220;#A Beginner\u2019s Introduction To DevOps Principles \u2013 CloudSavvy IT&#8221;<\/strong><\/p>\n<div id=\"article-content-area\">\n<figure style=\"width: 700px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"type:primaryImage imgchk9 wp-image-6703 size-full\" srcset=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/12\/463a2d88.png?width=398&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 400w, https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/12\/463a2d88.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1 1200w\" sizes=\"auto, 400w, 1200w\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/12\/463a2d88.png?width=1198&amp;trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"DevOps cartoon programmers working\" width=\"700\" height=\"300\" data-crediturl=\"https:\/\/www.shutterstock.com\/image-vector\/programmers-work-concept-can-use-web-1397759843\" data-credittext=\"Shutterstock\/BoVLD\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"type:primaryImage imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-vector\/programmers-work-concept-can-use-web-1397759843\">Shutterstock\/BoVLD<\/a><\/span><\/figcaption><\/figure>\n<p>DevOps is a buzzword that\u2019s commonly thrown around\u2014really, it\u2019s a set of principles designed to streamline and govern the entire development process, from the brains of your programmers and onto your servers.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"The_Basics\"><\/span>The Basics<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Most teams can probably split their developers into two major categories:<\/p>\n<ul>\n<li>Developers, who handle updating the codebase, fixing bugs, and all around programming. You could also include other roles, such as web and UI designers in this category. In <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/general\/\" data-internallinksmanager029f6b8e52c=\"3\" title=\"General\" target=\"_blank\" rel=\"noopener\">general<\/a>, it includes anyone who is involved in actually building your product.<\/li>\n<li>SysAdmins, or the \u201cOperations Team.\u201d These people handle updating servers with new code, managing both your public-facing and internal server infrastructure, and all around keeping everything up and running.<\/li>\n<\/ul>\n<p>To put it simply, DevOps is all about integrating these two teams together (hence the\u00a0portmanteau of a name). It isn\u2019t going to make your developers into sysadmins, or vice versa, but it should help them work together.<\/p>\n<p>Each aspect and phase is complemented with tools that make this whole process easier. DevOps is more than just tools and automation, and implementing a set of \u201cDevOps tools\u201d won\u2019t automatically make your team work twice as fast, but these tools are a major part of the process, and it\u2019d be hard to be as efficient without some of them.<\/p>\n<p>While there\u2019s a lot of of other buzzwords thrown under the umbrella of \u201cDevOps,\u201d the basic concept is pretty simple. When a team is working properly, DevOps generally flows like so:<\/p>\n<figure style=\"width: 700px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5267 size-full\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2020\/01\/c0a7ea47.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"\" width=\"700\" height=\"300\" data-crediturl=\"https:\/\/www.shutterstock.com\/image-vector\/team-programmer-concept-devops-software-development-1363648634\" data-credittext=\"Shutterstock\/Ribkhan\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><figcaption class=\"wp-caption-text\"><span class=\"imagecredit\"><a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.shutterstock.com\/image-vector\/team-programmer-concept-devops-software-development-1363648634\">Shutterstock\/Ribkhan<\/a><\/span><\/figcaption><\/figure>\n<p>To explain, we\u2019ll start with the monitoring phase. This involves keeping an eye on your servers, watching analytics, analyzing logs, and identifying problems with your codebase. While a large part of this is code related, a lot of it falls on the business side of things as well. Are you effectively achieving your goals?\u00a0 Are your clients h<a href=\"https:\/\/buradabiliyorum.com\/en\/category\/download-scripts-themes-apps\/\" data-internallinksmanager029f6b8e52c=\"9\" title=\"Download Scripts &amp; Themes &amp; Apps\" target=\"_blank\" rel=\"noopener\">app<\/a>y? This phase is all about finding out what\u2019s wrong so you can set proper goals. Popular monitoring tools include <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.nagios.org\/\">Nagios<\/a>, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/cloudwatch\/?tag=reviewgeek-20\">AWS CloudWatch<\/a>, and analytics software like Google Analytics.<\/p>\n<p>Perhaps you get a ticket directly from a client, and start from the planning phase. This is where you\u2019ll sit down with your lead developers and discuss what needs to be done to complete a ticket. If you\u2019re using software like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.atlassian.com\/software\/jira\">Jira<\/a>, you\u2019ll probably break down a large ticket into individual stories and issues that can be tracked more easily and assigned to individual developers. If you\u2019re planning a code sprint for the next week or two, you\u2019ll want to have your plan clearly laid out to cut down on time spent reiterating code.<\/p>\n<p>Rather than testing and building only once when everything is finished, in a DevOps environment, each developer will ideally submit changes to source control multiple times a day, whenever issues are complete or a minor milestone is reached. This allows the build and testing phases to start early, and make sure no developer gets too far away from the HEAD of the master source control. This stage is mostly about proper source control management, so having an effective git service like GitHub, Gitlab, or BitBucket are\u00a0crucial to keeping continuous integration running smoothly.<\/p>\n<p>You don\u2019t have to deploy every commit to production right away, but quick automated deployments are a major part of being able to push rapid releases. Plus, it takes some stress off you operations team, allowing them to focus on more important things than manually updating servers with new code.<\/p>\n<p>Once new changes are deployed, the cycle starts over again. Perhaps that new feature you added is causing the staging database server to work overtime, and might need to be marked for performance review and fixed before deploying to production. If everything flows properly, DevOps stops being a fixed <a href=\"https:\/\/buradabiliyorum.com\/en\/category\/watch-movies-tv-seriess\/\" data-internallinksmanager029f6b8e52c=\"8\" title=\"Watch Movies &amp; TV Series\" target=\"_blank\" rel=\"noopener\">series<\/a> of steps and simply becomes a culture that everyone follows naturally.<\/p>\n<h2 role=\"heading\" aria-level=\"2\"><span class=\"ez-toc-section\" id=\"Continuous_IntegrationContinuous_Delivery_Pipelines\"><\/span>Continuous Integration\/Continuous Delivery Pipelines<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Automation and tools are a major part of any DevOps environment. Perhaps the biggest tool to have is a\u00a0Continuous Integration\/Continuous Delivery (CI\/CD) pipeline. This is an automated process that starts with source code and handles the process of building, testing, and deploying to servers.<\/p>\n<p>AWS\u2019s CodePipeline is a good example of this. Whenever a change is detected in source control (either GitHub, BitBucket, or AWS CodeCommit), it is sent over to AWS CodeBuild for building and testing. Alternatively, <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/jenkins.io\/\">Jenkins<\/a> is used quite often to handle this build phase.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2863\" src=\"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/11\/e3a4b9bb.png?trim=1,1&amp;bg-color=000&amp;pad=1,1\" alt=\"codepipeline release\" width=\"700\" height=\"327\" onload=\"pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\" onerror=\"this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);\"\/><\/p>\n<p>Usually, once a build is completed, you\u2019ll want to send it to a testing environment before heading directly to production. Even still, automating deployments to both testing and production servers will speed up iteration times significantly. In AWS\u2019s pipeline, this is handled by CodeDeploy. Jenkins can also handle deployment, as well as software like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/www.ansible.com\/\">Ansible<\/a>.<\/p>\n<p>All in all, a CI\/CD pipeline can automate most of the DevOps flow, from build to deployment, making it a crucial piece for any team looking to work efficiently.\n<\/p><\/div>\n<blockquote><p><strong><span style=\"color: #ff6600;\">If you liked the article, do not forget to share it with your friends. Follow us on\u00a0<span style=\"color: #ff0000;\"><a style=\"color: #ff0000;\" href=\"https:\/\/news.google.com\/publications\/CAAqBwgKMLG0nwswvr63Aw\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google News<\/a><\/span>\u00a0too, click on the star and choose us from your favorites.<\/span><\/strong><\/p><\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\">For forums sites go to <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/forum.buradabiliyorum.com\/\" target=\"_blank\" rel=\"noopener\">Forum.BuradaBiliyorum.Com<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<blockquote>\n<p style=\"text-align: center;\"><strong>If you want to read more like this article, you can visit our <span style=\"color: #ff9900;\"><a style=\"color: #ff9900;\" href=\"https:\/\/en.buradabiliyorum.com\/technology\/\" target=\"_blank\" rel=\"noopener\">Technology category.<\/a><\/span><\/strong><\/p>\n<\/blockquote>\n<p><span style=\"color: black;\"><a style=\"color: #ff9900;\" href=\"https:\/\/www.cloudsavvyit.com\/3233\/a-beginners-introduction-to-devops-principles\/\" target=\"_blank\" rel=\"noopener\">Source<\/a><\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;#A Beginner\u2019s Introduction To DevOps Principles \u2013 CloudSavvy IT&#8221; Shutterstock\/BoVLD DevOps is a buzzword that\u2019s commonly thrown around\u2014really, it\u2019s a set of principles designed to streamline and govern the entire development process, from the brains of your programmers and onto your servers. The Basics Most teams can probably split their developers into two major categories:&#8230;<\/p>\n","protected":false},"author":1,"featured_media":342524,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/www.cloudsavvyit.com\/p\/uploads\/2019\/12\/463a2d88.png","fifu_image_alt":"","footnotes":""},"categories":[18],"tags":[],"class_list":["post-342523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology"],"_links":{"self":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/342523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/comments?post=342523"}],"version-history":[{"count":0,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/posts\/342523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media\/342524"}],"wp:attachment":[{"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/media?parent=342523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/categories?post=342523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/buradabiliyorum.com\/en\/wp-json\/wp\/v2\/tags?post=342523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}