{"id":17,"date":"2025-02-06T23:27:01","date_gmt":"2025-02-06T23:27:01","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/huddlesk\/?p=17"},"modified":"2025-02-06T23:27:01","modified_gmt":"2025-02-06T23:27:01","slug":"the-beautiful-simplicity-of-infrastructure-as-code-iac","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/huddlesk\/2025\/02\/06\/the-beautiful-simplicity-of-infrastructure-as-code-iac\/","title":{"rendered":"The beautiful simplicity of Infrastructure as Code (IaC)"},"content":{"rendered":"\n<p>It was June of 2022&#8230; I had just been hired for my first internship with a Trimble, Inc. As a young engineer with no practical experience, I went into the internship with a very common skillset for students. In my first several years of study, I was introduced to the fundamentals of programming and operating systems. I was also taught how to develop websites and manage their hosting environment. What I wasn&#8217;t taught&#8230; is how to deploy those hosting environments in a cloud environment. I hadn&#8217;t yet realized the impact technologies such as Terraform had made on the deployment mechanism&#8217;s in live production environments. I didn&#8217;t yet know what Infrastructure as Code (IaC) meant. I was about to learn.<\/p>\n\n\n\n<p>Terraform is a simple, declarative programming language that allows infrastructure to be provisioned as code. Terraform is a vendor agnostic tool widely utilized and supported. All major cloud platforms (AWS, GCP, Azure, etc.) support Terraform provisioning. I had an opportunity to begin learning Terraform use strategies early in my career with Trimble, and I continue to utilize it today. If I was asked to share my favorite technology \/ framework to work in, there is no competition; terraform is the winner.<\/p>\n\n\n\n<p>Some of the benefits of Infrastructure as Code are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>When Infrastructure configuration is stored as code, it can be versioned (AZDO, GitHub, etc)<\/li>\n\n\n\n<li>When Infrastructure configuration is stored as code, changes can be tested and rolled back as part of standard CI \/ CD deployments.<\/li>\n\n\n\n<li>Combined with the scalability of cloud computing, Infrastructure as Code creates more opportunities for low or zero downtime deployment strategies (such as blue \/ green deployments and canary deployments).<\/li>\n<\/ul>\n\n\n\n<p>I am looking forward to incorporating the use of terraform into my current project, Dividend Dollars Investment App. For this application, we are planning to run a MySQL DB instance and Web Server on Google Cloud Platform (GCP). Being able to lay down these components as part of our CI \/ CD pipeline will allow us to manage cost and streamline development.<\/p>\n\n\n\n<p>Infrastructure as Code was a career-altering experience for me as an engineer. I highly recommend it as a potential area of study for current students.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It was June of 2022&#8230; I had just been hired for my first internship with a Trimble, Inc. As a young engineer with no practical experience, I went into the internship with a very common skillset for students. In my first several years of study, I was introduced to the fundamentals of programming and operating [&hellip;]<\/p>\n","protected":false},"author":14575,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-17","post","type-post","status-publish","format-standard","hentry","category-daily-check-in"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/posts\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/users\/14575"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":1,"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/posts\/17\/revisions"}],"predecessor-version":[{"id":18,"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/posts\/17\/revisions\/18"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/media?parent=17"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/categories?post=17"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/huddlesk\/wp-json\/wp\/v2\/tags?post=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}