IaC like I'm Five |
---|
What is Infrastructure as Code |
Why should we use it |
How do we use it |
Terraform Example |
Other IaC Tools |
What is Infrastructure as Code?
Historically, creating infrastructure involved manually setting up servers and configuring systems to run applications, operating systems, databases...etc. Infrastructure was imperatively configured and maintained, meaning this was done with step by step instructions and executed by the admin. This process becomes unsustainable with large & complex systems leaving room for issues with cost, availability, and consistency.
Infrastructure as Code solves these problems by automating setup and management by writing code in a high-level descriptive language.
HashiCorp's Founder, Armon Dadgar explains IaC simply and eloquently in this short video
Why should we use it?
Accidents happen, human error happens. By automating infrastructure with code we reduce error and produce more reliable code.
Complexity, with the emergence of cloud-based infrastructure IaC is paramount for scaling distributed systems, cloud-native applications, and service-based architecture.
How do we use it?
Terraform Example
Terraform is a cloud provider agnostic orchestration tool. This means we can build, version, and destroy resources across multiple providers at the same time. We can also easily look up modules to use directly from the Terraform Registry saving time on creating common configurations. These features make it a leader in IaC. Now let's take a look at the power of Terraform with an example.
Other IaC Tools
Another Orchestration tool is AWS CloudFormation, this tool is similar to Terraform but it is only AWS focused.
Along with orchestration tools, there are configuration management tools. They are used to install and manage software on existing servers.
Common configuration management tools:
** Some configuration management tools can be used for orchestration. It all depends on the best fit for your needs or the task.
Top comments (0)