Back to all blog posts
Guide

Infrastructure as Code Landscape in 2023

The IaC landscape is rich and diverse, with Terraform leading the pack due to its extensive capabilities, and agnostic nature. As businesses continue to scale and cloud infrastructures become more complex, the demand for efficient, effective IaC tools will only grow.

Sören Martius
Sören Martius
· min read
Infrastructure as Code Landscape in 2023

2023 was a pretty big year for Infrastructure as Code. We’re seeing more and more organizations turning to IaC solutions to manage their cloud infrastructure. This is due in part to the increasing adoption of cloud-native technologies, which have made it easier than ever to quickly spin up an environment tailored to your specific needs.

The market for Infrastructure as Code is expanding rapidly. It’s projected to skyrocket from USD 0.8 billion in 2022 all the way to USD 2.3 billion by 2027 . That’s a whopping 24.0% Compound Annual Growth Rate (CAGR) over the forecast period of five years! It’s a fast-paced, dynamic field with a number of key players contributing to this growth. This includes tech giants like AWS, Google Cloud, and Microsoft Azure, as well as specialized providers like Hashicorp.

From Terraform and Pulumi to CloudFormation, and CDK on AWS. Azure Resource Manager (ARM) on Azure, and Kubernetes everywhere, there’s an abundance of IaC solutions available today; all of them offering powerful features that can automate deployment pipelines and simplify complex configurations with relative ease. However, Terraform, a tool from HashiCorp, undeniably dominates the space. This article will explore various IaC tools available in 2023 and explain why Terraform stands out from the pack.

An Overview of IaC Tools

There are numerous tools available for managing Infrastructure as Code. Each one is designed for specific use-case and helps to set up environments automatically.

Some of the big players are:

Terraform

Terraform is an IaC tool created by HashiCorp. With its declarative programming approach and ability to manage a vast array of service providers, it commands a significant portion of the market. This IaC tool’s provider-agnostic capabilities make it a versatile choice for many companies. This year, Hashicorp changed the license type for Terraform, making it no longer open-source.

Pulumi

Pulumi offers developers a multi-language, multi-cloud development platform. Its unique selling point is that it allows developers to write IaC using their preferred programming language, contributing to its growing popularity.

AWS CloudFormation and AWS CDK

AWS CloudFormation, a service by Amazon Web Services, gives developers an easy way to create and manage a collection of AWS resources. AWS CDK, on the other hand, is a powerful software development framework for defining cloud infrastructure in code and provisioning it via AWS CloudFormation. Both these tools are extremely beneficial for those deeply invested in the AWS ecosystem.

Azure Resource Manager (ARM) and Bicep

Azure Resource Manager is Azure’s deployment and management service, providing a management layer to create, update, and delete Azure account resources. Bicep, a Domain Specific Language, is designed to simplify authoring ARM templates, making it a potent tool for Azure-based applications.

Google Cloud Deployment Manager and Google Config Connector

Google Cloud Deployment Manager enables users to automate the creation, deployment, and management of Google Cloud Platform resources. The Google Config Connector represents Google Cloud resources as Kubernetes objects, assisting in managing Google Cloud services with the already in-use Kubernetes tools. Both tools are beneficial for those extensively utilizing Google Cloud.

Crossplane

An open-source IaC project from Upbound , Crossplane enables the management of applications and their infrastructures across various on-premises, cloud, and edge environments. Its unique strength lies in its ability to integrate directly with Kubernetes.

Winglang

Winglang is a recently released “programming language for the cloud.” It combines infrastructure and runtime code into one language, making the development process less complicated. It compiles to IaC languages (HCL, CDK, etc), and Javascript.

Why Terraform Stands Out

Terraform is the clear leader in the IaC landscape that has made its mark in the DevOps ecosystem. It leverages cloud APIs to transform them into declarative configuration files, simplifying cloud and on-prem resource provisioning/management.

  1. Multi-Cloud Provisioning: Terraform stands out because it manages resources across many cloud providers like AWS, Azure, and Google Cloud. Its versatility simplifies infrastructure management, particularly for multi-cloud deployments.
  2. Kubernetes Management: Besides cloud resources, Terraform enables the provisioning and managing Kubernetes clusters across different cloud platforms. With the Kubernetes Terraform provider, interaction with your clusters becomes seamless, though it is not used nearly as much as other Kubernetes management tools such as Helm and Kustomize.
  3. Network Infrastructure Management: Terraform takes over key networking tasks, such as updating load balancer member pools or applying firewall policies, ensuring your network stays secure and updated.
  4. Workflow Integration: Terraform smoothly integrates into existing CI/CD workflows, automating infrastructure deployments as part of your established development process.
  5. Policy Enforcement: Terraform uses Sentinel policy as code to enforce policies before infrastructure creation, ensuring compliance with your organization’s regulations.
  6. Ecosystem and Community: Terraform’s rich ecosystem and robust community offer a plethora of open-source modules, making it easy for teams to leverage pre-written scripts. Furthermore, Terraform’s community actively contributes to problem-solving, providing an extensive knowledge base and support for users.
  7. Seamless Integration and Enterprise-Level Support: Terraform seamlessly integrates with existing DevOps tools and practices, providing a unified, streamlined pipeline for infrastructure management. Terraform’s Enterprise version provides features such as collaboration, governance, and policy as code, which are appealing to larger organizations.

Its popularity is evident with 43,461 companies harnessing its potential according to Enlyft . Predominantly used by companies in the IT and Services industry with 50–200 employees and revenue between 1M-10M dollars, Terraform’s largest user base is in the United States, a testament to its prowess and wide-ranging applications.

Table Infrastructure as Code Landscape in 2023HashiCorp License Change / OpenTofu

On August 10th, 2023, HashiCorp announced that it would be changing the license of Terraform from MPL v2 to the BSL license for all future releases. This means that Terraform is no longer an open-source tool. This change was very poorly received by the open-source and DevOps communities. The good news is that v1.5.5 and earlier as still under the MPL v2 license. Because of that change, OpenTofu was born. It is a fork of the v1.5.x Terraform code which is being maintained by the community and is managed by the Linux Foundation.

Preparing for the Future of IaC

The rise in IaC usage has also sparked tremendous interest in open-source IaC solutions. Many of these open-source projects are designed to be vendor agnostic, making it possible to reap the benefits of Infrastructure as Code without being tied down to a single provider. With so many options available, it’s never been easier for companies to get their infrastructure up and running quickly and with minimal effort, but how do we manage these infrastructures efficiently?

With this, understanding and leveraging IaC becomes increasingly essential. Embracing tools like Terramate can help businesses automate deployments, manage complex environments using stacks, detect changes, ensure DRY principles, and maintain consistency across the infrastructure. In 2023 and beyond, the success of companies will be tightly linked to their ability to manage their infrastructure effectively.

Developers need to familiarize themselves with the array of IaC tools available and the strengths each one brings. While Terraform may be a dominant player, the right tool for your specific use case may differ based on various factors, including the complexity of your environment, your team’s expertise, and the cloud services you use.

Conclusion

The IaC landscape is rich and diverse, with Terraform leading the pack due to its extensive capabilities, and agnostic nature. As businesses continue to scale and cloud infrastructures become more complex, the demand for efficient, effective IaC tools will only grow.

As you navigate the IaC landscape, remember that the best tool for your team depends on your specific needs and circumstances. Whether you choose Terraform, OpenTofu, Pulumi, AWS CloudFormation, Azure Resource Manager, or another tool, the goal is to manage infrastructure efficiently and effectively through code. Ultimately, IaC is not just about choosing the right tool — it’s about transforming how we think about and manage infrastructure in the cloud era. We believe Terramate offers seamless ways to manage your infrastructure. For IaC updates, info, tips, tricks, and more, be sure to join our Discord channel.

Soren is the co-founder and Chief Executive Officer of Terramate. Prior to founding Terramate, he consulted companies such as Flink and 1Komma5 on designing and implementing cloud and internal developer platforms.