Infrastructure as code (IaC) is an approach to software development that treats physical compute, storage and network fabric resources as web services and allows apps to run where they are best suited, based on cost and performance data.
Essentially, IaC negates the need for software engineers to be concerned with the physical location of infrastructure components. Instead, when a software application requests infrastructure to run, available services are located through an automated discovery process and resources are allocated on demand. When an infrastructure resource is no longer required, it is re-appropriated so it can be allocated to another application that needs it.
Examples of IaC tools include AWS CloudFormation, Red Hat Ansible, Chef, Puppet, SaltStack and HashiCorp Terraform. Each of these tools has its own way of defining infrastructure, and each allows an administrator to define a service without having to configure a physical infrastructure. These tools are also able to roll back changes to the code, should an unexpected problem arise when new code is released.
Some IaC tools rely on a domain-specific language (DSL), while others use a standard template format, such as YAML and JSON. When selecting an IaC tool, organizations should consider the target deployment. For example, AWS CloudFormation is designed to provision and manage infrastructure on AWS and works well with other AWS offerings. Alternatively, Chef works with on-premises servers and multiple cloud provider IaC offerings.
IaC can be managed through the same version control and automated testing procedures that developers use to maintain quality assurance (QA) in their continuous integration and continuous delivery (CI/CD) pipelines. As of this writing, there are no agreed-upon standards for implementing IaC and the concept is known by several other names, including composable infrastructure, programmable infrastructure and software-defined infrastructure. Continued…
Quote of the Day
“While IT organizations are catching on to the benefits of infrastructure as code, the majority haven’t achieved compliance automation, despite a swath of available tools for the job.” – Kurt Marko
Compliance automation prevents regulation audit snafus
Make compliance automation part of the move to infrastructure as code. The tools available from Chef, Ansible and other vendors fit the bill.
How infrastructure as code benefits and eases provisioning
With infrastructure as code, organizations can automate provisioning. Among the infrastructure as code benefits is the power for an IT team to use scripts to deploy infrastructure more efficiently and the ability for an organization to avoid vendor lock-in.
Benefits of infrastructure as code range from speed to scaling
IT organizations must learn new skills, and possibly new tools, to reap the benefits of infrastructure as code. The effort pays off with enhanced automation and consistency, among other rewards.
Infrastructure governance keeps systems in compliance
Software-defined cloud infrastructure configurations may drift out of compliance over time. Automated infrastructure governance is always on guard.
Become an infrastructure developer to get code to production faster
The infrastructure developer job role combines skills from software programming with knowledge of the base layers of the IT stack to enable fast, stable code rollouts.
Successfully _______ a DevOps culture in a data center isn’t easy, but it brings great rewards.