Infrastructure as Code
Varun Kaushik
Solution Design, Consulting & Sales | Technical Pre-sales | Business Development | Commercial Architecture | Technical Account Management
What is Infrastructure as code (IaC) ?
Infrastructure as Code (IaC) is a method or an approach to manage the data center infrastructure (server, storage, network) through the use of code/script, instead of using manual processes. This approach automate the provisioning and configuration tasks.
What are advantages of IaC?
- Improved productivity and reliability - IaC is very helpful to increase the efficiency of developers, administrators, and operators. It allows to use CIDC tools and techniques to minimize the human errors.
- Consistence Configuration – There is reduced number of errors and inconsistency if IaC (standardized configuration) is used in configuration management.
- Simplified and accelerate the provisioning and configuration by using the IaC. Different environments (development, staging, and production) can be built easily and quickly.
- Engineers can spend more time in high-value tasks instead of spending time on provisioning and configuration through manual and tedious tasks. This will reduce the cost.
What are IaC Tools (not complete list) ?
- Terraform – Terraform is cloud-agnostic, infrastructure provisioning tool which uses JSON compatible language HCL (Hashicorp Configuration Language). It allows to automate infrastructure stacks from multiple CSPs simultaneously and integrate other third-party services.
- AWS CloudFormation - This tool allows to automate the deployments by using a template file (created with YAML). It allows to preview the proposed changes to AWS infrastructure stack and show how they impact the resources.
- Chef – Chef is most popular configuration management tool. Chef is cloud-agnostic tool and can work with many CSPs. Chef allows you to create “recipes” and “cookbooks” using its Ruby-based DSL.
- Puppet – Puppet is configuration management tool, similar to Chef. This tool uses declarative approach (where administrators declare what they want their configuration to look like, and then Puppet finds out how to get/configure it).
- Ansible – This tool is created by Red Hat. Ansible models infrastructure by describing how components and system related to each other. It is agent less tool and code is written in YMAL.
- Docker – Docker helps to create containers that package code and dependencies together to run application in any environment. Dockerfiles, blueprints to build the container images, are configuration files create by YAML.
IaC is the future of provisioning and managing computing resources. IaC is going to be a default standard for infrastructure management for all organizations.
Director - IT Service Management and Operations at Novartis
6 年Thanks for thr article varun. May I know if this is currently being used for any of the areas in CGI ?