What is Infrastructure as Code?

It is a practice of managing and provisioning computing infrastructure such as servers, networks, databases, storage through machine readable scripts or definition files rather than manual configurations or interactive GUI based tool allowing IT team to deliver and define infrastructure in code instead of manually configuring infrastructure whether its new application, or user or server. Many large organizations have a mandate creation of any new object or any new infrastructure to be done through code because of how it is so core and critical to the modern business.

The main purpose of Infrastructure as code is to remove human error and inconsistency in infrastructure management by ensuring that every deployment follows the same predefined configurations. There is also a record of the configuration that was used which provides a clear understanding if something went wrong or if there were some differences in your code versus the standard. It also allows your infrastructure to be deployed modified, replicated with minimal manual intervention eliminating a lot of loads on the devops, platform team and makes it an essential component for modern devops and cloud native computing because it reduces so much that manual labor previously had to do to create a new infrastructure.