What is IAC - Infrastructure as code
Infrastructure as code is a concept that allows us to provision and manage our infrastructure as a code instead of doing the same through manual labor. This ensures our infrastructure to be managed in a faster and more reliable manner in an automated environment. We can do this because of the infrastructure being in a code form, and we can make changes without much of a wait time and repercussions.
What are the different types of IAAC tools in the market ?
- Terraform
- CloudFormation
- Ansible
- Chef
- Puppet
Challenges without IAC
Before IAC, all these tasks were done by the Engineers manually to set up the infrastructure.
- Setup Servers
- Configure Networking
- Create Route Tables
- Install Software
- Configure Software
- Install DB
In addition to Manual setup another challenge was to maintain the tasks which included tasks like
- Update Versions
- Deploy new release
- DB Backups/Updates
- Recover Apps
- Add recover servers
All these tasks took a lot of time and efforts from system engineers and makes the whole process much slower.
IAC automates these tasks in 3 main categories
1. Infrastructure provisioning
- spinning up new servers
- network configuration
- creating load balancer
- configuration on infrastructure level
2. configuration of provisioned
- infrastructure
- installing apps on servers
- managing those apps
- prepare the infrastructure/servers to deploy your app
3. Deployment of the Main required application
Lifespan of different tools in Infrastructure management