What is Infrastructure as Code?
IaC is a type of IT infrastructure provisioning process where systems are automatically built,
managed and provisioned through code, rather than less flexible scripting or a manual
process.
The benefits
- Automate entire provisioning and deployment process
- State infrastructure in source files
- Store source files in version control
- Validate each infrastructure change through code reviews and automated tests
- Reusable, documented, battle-tested infrastructure packages that make it easier
to scale and evolve the infrastructure
Automations Tools
- Chef
- Puppet
- Ansible
- Salt
- Heat
- Vagrant
- Terraform
- So on...
Terraform
Write, Plan, and Create Infrastructure as Code.
Why
- Configuration Management vs Orchestration
- Mutable Infrastructure vs Immutable Infrastructure
- Procedural vs Declarative
- Client/Server Architecture vs Client-Only Architecture
Demo
- Install Terraform
- Build Infrastructure
- Change Infrastructure
- Provisioning
- Destroy Infrastructure