Junior — Middle
Can you explain the concept of Infrastructure as Code and its main principles?
sobes.tech AI
Answer from AI
Infrastructure as Code (IaC) is a practice of managing and configuring infrastructure using code rather than manual actions through interfaces or consoles. It allows automating the deployment of servers, networks, databases, and other resources.
Key principles of IaC:
- Versioning: Infrastructure is described in code files that can be stored in version control systems (Git, etc.).
- Idempotency: Reapplying the code results in the same infrastructure state without side effects.
- Automation: The entire deployment and configuration process is performed automatically, reducing errors and speeding up delivery.
- Documentation: The code also serves as documentation for the infrastructure.
Examples of tools: Terraform, Ansible, CloudFormation.
Example of a simple Terraform configuration to create a virtual machine:
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}