Infrastructure as code is the process of provisioning and managing computer data centres through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. The definitions may be in a version control system such as Github or GitLab. It can use either scripts or declarative definitions, rather than manual processes, but the term is more often used to promote declarative approaches.
Short: Building all your servers using a programming language.
Many languages that apply this style attempt to minimise or eliminate side effects by describing what the program must accomplish in terms of the problem domain, rather than describe how to accomplish it as a sequence of the programming language primitives.
Short: Telling something what you want but not how to do it!
IaC completely standardises the setup of infrastructure so there is reduced possibility of any errors or deviations
Because code can be version-controlled, IaC allows every change to your server configuration to be documented, logged, and tracked. And these configurations can be tested, just like code.
Automating the infrastructure deployment process allows engineers to spend less time performing manual work, and more time executing higher-value tasks. Because of this increased productivity, your company can save money on hiring costs and engineers’ salaries.
As all the infrastructure is coded, you have the most accurate set of build documents available.
What tool do I need?
There are many answers to this question and most of it comes down to a few things, they are what you are actually building, where you are trying to build it, language preferences and previous experience.
Terraform – https://terraform.io is a tool from HashiCorp, who make a suite of tools which are fantastic when looking to automate your IT estate. This tool will work in all major cloud providers and does allow you to extend it yourself with custom providers should you want to!
CloudFormation – This is AWS’s offering and limited to the AWS environment.
Pulumi – https://www.pulumi.com This tool offers great customisation and enables you to write code in your favourite language so from a developer point of view is small learning curve.
All the above have simple getting started guides on their websites, go and have a try and if you get stuck drop us a message and we will help you out!
Drop us a message or give us a call and we will be in touch to help you gain a better understanding of infrastructure as code in your business
Date: September 4, 2019
Author: Magnetar IT