Back to the Present
Explore the principles of Infrastructure as Code and immutability to define and manage infrastructure efficiently. Understand why Terraform and similar tools offer better options than traditional configuration management, enabling reliable and uniform cloud environments.
We'll cover the following...
Using infrastructure as code
Today, infrastructure as code (IaC) and immutability are closely tied together. IaC allows us to define everything as code, while immutability brings uniformity, reliability, and speed. Servers are defined as code in the form of configurations, and scripts are used to create VM images. Clusters are defined as code in the form of instructions for how to create and manage VMs based on those images and how to tie them together through different services.
Tools at our disposal
The traditional configuration management tools do allow us to define infrastructure as code, but they’re not based on the principles of immutability. That doesn’t mean that they can’t be used to create immutable infrastructure, but rather that they aren’t designed for that. As such, they tend to be suboptimal at performing these processes. We can think of them as the first generation of such tools. Even though some are newer and more advanced than others, they’re all based on the same principles. Today we have better options at our disposal.
We could adopt vendor-specific tools like CloudFormation for AWS, or whatever our hosting vendor provides. But they’re often not the right choice. They’re closed and focused on a single platform.