Terraform your IT infrastructure
3 March 2021
This blog is meant as a business introduction to Terraform. No, we’re not going to be talking about launching nuclear missiles at Mars’ north poles, but rather about one of the most popular IT-infrastructure tools available right now.
In short, Terraform allows you to easily manage IT resources like public cloud infrastructure, private cloud infrastructure, network appliances, SaaS products, etc. The way this is done is by creating configuration files, which are then used by tools like Terraform to perform the actual provisioning. In technical terms, this is called “Infrastructure as code”.
Why use infrastructure as code?
Though this is largely a technical discussion, imagine the following analogy:
Let’s say you want to build a house, and for that, you have to rely on a number of subcontractors to get the job done. Each of these subcontractors has an office with a very nice lobby and professional people to help you with your every problem. Sounds good right? While this is certainly viable for smaller projects, solving complex interconnected issues would have you driving all over town to coordinate with your different subcontractors.
Now imagine instead you had a small notebook, and all your concerns written down in that notebook are magically communicated and resolved with the relevant subcontractors.
IT infrastructure is similar: If your infrastructure is small-scale, using the tools and portals provided by Google, Oracle, Azure, etc. is perfectly viable. But for larger organisations with many interconnected parts, often using multi/hybrid-cloud setups, an infrastructure as code solution is extremely valuable.
Having a magical notebook that automatically configures and provisions your IT resources comes with a number of advantages:
- Speed: Because you can configure many different systems from a central location without having to navigate each providers’ interface, deploying or connecting resources can be done a lot faster than before
- Reliability: Instead of having many interconnected services, each configured locally to work in tandem, you can have a central location where the entire configuration of your infrastructure is managed.
- Automation: Since the configuration is done through code, it can also be more easily managed and manipulated by code. Need a configuration change due to high demand? Without any human intervention, your load balancer can modify the IaC configuration to modify your infrastructure. You can even use version control to manage your infrastructure, just like your software.
Terraform is not the only infrastructure as code tool out there, but it does have some interesting features that set it apart:
- Open-source: Terraform was created as an open-source tool, which comes with some inherent advantages. You don’t need to pay licensing fees to use Terraform, and it works completely locally, without relying on external servers. The large developer base also ensures new improvements and features are added quickly and consistently
- Modules: The true power of Terraform comes from a large number of plugins, written by communities of contributors. Regardless of which cloud provider you use, it’s easy to find plugins, extensions, and professional support. This large developer base also means that new improvements and features are added all the time.
- Platform agnostic: Terraform can be used with any major cloud services provider, meaning that you can easily use Terraform for your multi-cloud needs. Why hire multiple specialists when one terraform expert can do them all?
Any organization using a multi- or hybrid-cloud setup should strongly consider using an IaC solution to radically simplify the way their IT infrastructure is managed. Not only does this save time (and therefore, money!), but it also increases reliability by centralizing your infrastructure management. In our opinion, Terraform is the best of the IaC bunch thanks to its open-source nature and availability of handy modules making Terraform integration a piece of cake.
Want to learn more about how your organisation can improve its IT infrastructure with IaC or other new DevOps techniques? Why not get in touch with us at FlowFactor, and we’d be more than happy to guide your organisation towards new DevOps horizons. IT infrastructure is what we do, and IaC is just one of the tools under our belt!