Infrastructure as Code (IaC) is not a new concept to architects & engineers in today’s cloud space, but increasingly it has become a hot topic and go-to tool-of-the-trade.
The recent IaC uptake is a result of various improvements and refinements. Several years ago, the concept of IaC was known as Desired State Configuration; looking back, it was fragmented, complex, and not nearly as enticing to people as it is today.
Nowadays, IaC has become more mainstream and simpler to use, due primarily to automation-as-a-service acceptance, generally, and HashiCorp Terraform, specifically. I believe IaC will run full circle now in use benefits, which will definitely justify my excitement about the great IaC phenomenon to colleagues and friends.
Growing up, I knew I was destined for a career in the tech world but often worried about the fact that I had no desire to learn how to code. I continued to strive towards automation and system optimisation, as opposed to creating infrastructure from scratch. I’ve always considered operations and developers as “brothers in arms” within the IT world and wanted to become part of this field.
Today, the roles of developers and operators are converging, so the tools of the trade require both skillsets. But, to those concerned, fear not, tools like Terraform function in a newly created language called HashiCorp Language (HCL), which is astonishingly easy to read and write; after a few days of learning the technology and putting it to practice, I was able to create rather complex environments from paragraphs (or blocks) of code. I can now effectively pick up the code, put it in my pocket, and re-use it for another environment over and over again. Through Terraform, I am able to deploy an entire environment over multiple cloud providers with all changes versioned within minutes.
Even with Terraform, and its mystical multi-cloud powers and the joy I get in writing and telling people about it, there is still a strong place for the siloed solutions of AWS CloudFormation and ARM for both AWS and Azure. Processes such as DevOps workflows make it time-efficient and practical to keep solutions in house. Currently a more fluid option in use Azure ARM templates alongside the Azure DevOps suite to build, test, and release code on freshly built infrastructure (if Azure is the strategic cloud platform of choice).
However, with open-source technologies being vital to achieving a slick DevOps pipeline, the integrations with DevOps products like Azure DevOps and Terraform are anticipated to grow and improve—especially as Microsoft seek to align more with open source, as Microsoft’s CEO Satya Nadella has suggested.
No matter what your cloud choice, take heart in knowing that cloud and cloud infrastructure management capabilities are better than ever. And, one reason is IaC. Yes, this article is a mild love letter to Terraform and how it’s skyrocketed IaC practices into the mainstream. Whether you know it, love it, or not, the fundamental point is that IaC is no longer the future, it is the present, and I’d like to think it makes people giddy with excitement, but then again maybe that’s just me…
It’s so gratifying that, coming from a non-coding background, I know that I can design and build an entire enterprise environment using coding language. And to those considering entering the industry because of the many opportunities that cloud brings, I hope they read these encouraging words.
For more information reach out to us by email at firstname.lastname@example.org or by using the form below: