Vad är Infrastruktur som kod
Hantering av infrastruktur genom kod
Infrastructure as Code (IaC) är ett tillvägagångssätt för att hantera och distribuera infrastruktur med maskinläsbara konfigurationsfiler istället för manuell konfiguration.
Fördelar
- Versionshantering — infrastruktur i Git, ändringshistorik
- Reproducerbarhet — samma miljö överallt
- Automatisering — snabb distribution utan manuella åtgärder
- Dokumentation — koden fungerar som dokumentation
IaC-verktyg
- Terraform — molnagnostisk, deklarativ
- AWS CloudFormation — för AWS
- Pulumi — IaC i vanliga språk (Python, TypeScript)
- Ansible — konfigurationshantering
Deklarativ vs Imperativ
- Deklarativ (Terraform): beskriver önskat tillstånd
- Imperativ (skript): beskriver stegen för att uppnå
Praxis
- Lagring av tillstånd i fjärrlagring
- Moduler för återanvändning av kod
- CI/CD för automatisk tillämpning
- Policyer och kontroller (OPA, Sentinel)
Terraform-exempel
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}