What is IaC? It is infrastructure (CPUs, memory, disk, firewalls, servers, etc.) defined as code within definition files. The idea behind infrastructure as code (IaC) is that you write and execute code to define, deploy, update, and destroy your infrastructure.
IaC tools include
Hashicorp Terraform, AWS CloudFormation, Azure Resource Manager, Google Cloud Deployment Manager, Pulumi, Chef, Puppet, Ansible, StackOverflow Heat.
Why is IaC transforming DevOps?
With the infractructure defined as code, it increases the effieciency of DevOps processes through:
Self service - the entire deployment process can be automated, and developers can kick off their own deployment whenever necessary.
Speed and Safety - with automated process, deployment will be faster, more consistent, more repeatable, and not prone to manual errors.
Documentation - if your infrastructure is defined as code, then the state of your infrastructure is in source files that anyone can read. That means that, IaC acts as a documentation, allowing everyone in the organization to understand how things
work.Version control - IaC source files can be stored in version control, which means that the entire history of your infrastructure is now captured in the commit log. This becomes a powerful tool for debugging issues, because any time a problem pops up; you check the commit log, find out what changed in your infrastructure, simply revert back to a previous version.
Validation - If the state of your infrastructure is defined in code, for every single change, you can perform a code review, run a suite of automated tests, and pass the code through static analysis tools — all practices that are known to significantly reduce the chance of defects.
Reuse - You can package your infrastructure into reusable modules so that you can build on top of known, documented, battle-tested pieces.
Happiness - Deploying code and managing infrastructure manually is repetitive and tedious. IaC offers a better alternative that allows computers to do what they do best (automation) and developers to do what they do best (coding).
Top comments (0)