DevOps & Automation
The End of the ‘ClickOps’ Era
In the early days of cloud computing, system administrators managed their infrastructure by manually logging into web portals (such as the AWS Management Console) and clicking virtual machines, networks, and databases together with the mouse. This process, often jokingly referred to as ‘ClickOps,’ is slow, impossible to audit, and non-reproducible. If a data center fails, it takes weeks to manually rebuild the infrastructure. Infrastructure as Code (IaC) changed this forever by approaching infrastructure as software. You write configuration files, store them in Git, and tools provision the exact cloud resources described. Although HashiCorp Terraform was the undisputed king of this domain for years, the IaC market is currently in turmoil due to licensing changes and emerging competitors.
HashiCorp Terraform vs. OpenTofu (The Open Source Fork)
Terraform uses HCL (HashiCorp Configuration Language), a declarative language that allows you to describe *what* you want (e.g., “I want 3 AWS EC2 instances”), after which Terraform figures out *how* to do that via the cloud APIs. The secret of Terraform lies in the ‘State’ file: a local (or cloud) file that keeps track of exactly what has actually been created. On a subsequent run, Terraform compares your code to the State and executes only the differences (diffs).
In 2023, HashiCorp decided to change the Terraform license from open-source (MPL) to the more restrictive Business Source License (BSL). This met with enormous resistance from the community and competitors. In response, ‘OpenTofu’ was founded, a direct open-source fork of Terraform, managed by the Linux Foundation. OpenTofu promises 100% drop-in compatibility with Terraform, causing many open-source purists and large enterprises to begin migrating to OpenTofu to avoid vendor lock-in.
Pulumi: Real Programming Languages for Infrastructure
Meanwhile, a completely different approach is gaining enormous popularity: Pulumi. While Terraform forces you to learn a domain-specific language (HCL), Pulumi lets you program your infrastructure in ‘real’ languages such as TypeScript, Python, Go, or C#. This is a game changer for software developers, who can now use their familiar IDEs, for loops, if statements, unit tests, and package managers (npm, pip) to deploy cloud resources.
If you want to create 10 subnets, for example, you write a simple TypeScript in Pulumi. map() function instead of complex HCL constructs. Pulumi bridges the gap between software developers and system administrators, transforming ‘Infrastructure as Code’ into ‘Infrastructure as Software’.
Drift Detection and FinOps Integration
Modern IaC tools go beyond simply deploying servers. ‘Drift Detection’ is becoming increasingly important: tools that continuously monitor whether someone has manually opened a security port in the cloud that is not included in the Terraform code, and trigger an immediate alarm. IaC is also integrating more and more with FinOps (such as Infracost), where developers receive an immediate estimate of how much the new Terraform code will cost extra on their monthly AWS bill when creating a Pull Request in GitHub. Read more about advanced DevOps implementations at AG Connect.
Next:eBPF: The Silent Revolution in Linux Networking and Observability
