Infrastructure-as-Code series: What is IaC?
In the Infrastructure-as-Code (IaC) model of technology creation, definition and management, there are no cables, wires, widgets and connection plugs.
It is sometimes referred to as programmable or software-defined infrastructure.
This is a new type of technology substrate built using descriptive model source code files that define connection topologies.
Of course, there are cables and wires running in and out of the (typically cloud) server running the IaC layer, but for our illustrative purposes here let’s assume that they’re all virtual and we are building an abstracted machine.
Deeper into IaC
Using Infrastructure as code, we can enable developers and their corresponding operations teams to automatically manage, monitor and provision resources, rather than manually configure discrete hardware devices and operating systems.
In working motion, IaC is similar to software programming scripts used to automate IT processes.
However, as TechTarget reminds us, scripts are primarily used to automate a series of static steps that are repeated numerous times across multiple servers. Infrastructure as code uses higher-level or descriptive language to code more versatile and adaptive provisioning and deployment processes
In terms of implementation, IaC is not a world apart from software application code used to build apps i.e. it is a ‘descriptive model’ for defining and provisioning the structure of an IT network.
That definition also includes specifications to detail data storage capacities and capabilities, server structures and other associated base elements such as load balancers etc.
In IaC, IT infrastructure is now established through the use of IaC files, which are typically text files written in various languages such as Terraform or CloudFormation or other.
Early IaC beginnings
Guest writer Dick Morrell – a Linux veteran and developer advocate – says that the current ramp up to Infrastructure as Code first started being seen when organisations who had played with both Cloudstack and later OpenStack had created three tiers of applied architecture.
“Those organisations are predominantly running hybrid marriages of open source tools abstracting driven interfaces into one, or often more, cloud provider partners. Embracing their own ambitions by being able to fold data-driven stances around the development of scaled applications and embracing the hyperscale benefits of a provider. There are examples of fintech and insurance companies now using this tried and tested model, incorporating proprietary tools for reporting and in some cases security enforcing functionality,” said Morrell.
Morell will return with a more complete breakdown of those developing tiers in the first of our posts in this series.
The Computer Weekly Developer Network now embarks upon a series of pieces examining this hotly debated area of enterprise system software programming and management.