{"id":7,"date":"2019-06-28T15:46:18","date_gmt":"2019-06-28T15:46:18","guid":{"rendered":"http:\/\/10.180.0.80\/?p=7"},"modified":"2019-06-30T02:23:27","modified_gmt":"2019-06-29T18:23:27","slug":"why-infra-as-a-code","status":"publish","type":"post","link":"https:\/\/mayanknauni.com\/?p=7","title":{"rendered":"Why Infra as a Code?"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Disclaimer: &#8211; This \nnote was written by me (Mayank Nauni)&nbsp;in my personal capacity. The \nopinions expressed in this article are solely my own and do not reflect \nthe view of my employer or my preference towards any of the OEMs.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Deploying changes in the IT infrastructure has always been \nrepetitive and tedious work, infra engineers usually hate this kind of \nmonotonous work which is thousand miles apart from creativity. <a href=\"https:\/\/en.wikipedia.org\/wiki\/Infrastructure_as_code\" target=\"_blank\" rel=\"noreferrer noopener\">Infra as a Code<\/a>, is the way of addressing repetitive tasks efficiently, the direct benefits are: &#8211;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fast and Fearless<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Automating tasks helps to deploy them faster and in a reliable \nmanner as the tasks have been tested in the past and free from \ninconsistency induced by manual errors.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Easy validation of changes <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Codes are easy to be tested in virtualized environment ( I use \nEVE-NG for the same), you can perform a code review, run a series &nbsp;of \nautomated tests, to ensure that the code does not break the production \nenvironment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Promotes documentation <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Old infrastructure has lot of dependency on the administrator for \nthey have the knowledge of dependencies and challenges associated with \nthe infra they manage but sadly in most of the organizations it is not \ndocumented, when the administrator leaves the organization along goes \nthe knowledge with him. The fundamental benefit or IaaC is \ndocumentation, everything is in the source file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>4.&nbsp;&nbsp;&nbsp;&nbsp; Re-usability <\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The validated test codes can be deployed in different environments \nwithout major effort involved in re-coding the parameters from zero.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Self-Service Capability<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After the codes are tested thoroughly and hit maturity phase, they \ncan be passed on to the developers to self-provision ( and delete) infra\n as and when needed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>Version Control<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is my personal favorite; version control using Git ( or any \nother similar tool for that matter) brings a lot of agility and \nreliability. All changes in your code is tracked actively in the commit \nlogs and whenever you hit upon a configuration induced issue it can be \ntracked and rolled-back efficiently.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What are the tools which can help you start your IaaC journey:-<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Config Management Tools<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ansible<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Chef<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Puppet<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Provisioning Tools<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Terraform<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OpenStack Heat<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cloud Formation (AWS)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;I shall be writing an article on both tool category soon.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Disclaimer: &#8211; This note was written by me (Mayank Nauni)&nbsp;in my personal capacity. The opinions expressed in this article are solely my own and do not reflect the view of my employer or my preference towards any of the OEMs.&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[2],"tags":[],"class_list":["post-7","post","type-post","status-publish","format-standard","hentry","category-infra-as-a-code"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mayanknauni.com\/index.php?rest_route=\/wp\/v2\/posts\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mayanknauni.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mayanknauni.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mayanknauni.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mayanknauni.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7"}],"version-history":[{"count":1,"href":"https:\/\/mayanknauni.com\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions"}],"predecessor-version":[{"id":8,"href":"https:\/\/mayanknauni.com\/index.php?rest_route=\/wp\/v2\/posts\/7\/revisions\/8"}],"wp:attachment":[{"href":"https:\/\/mayanknauni.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mayanknauni.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mayanknauni.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}