Mis on Infrastruktuur koodina
Infrastruktuuri haldamine koodi kaudu
Infrastructure as Code (IaC) on lähenemine infrastruktuuri haldamisele ja juurutamisele masinloetavate konfiguratsioonifailide abil käsitsi seadistamise asemel.
Eelised
- Versioonihaldus — infrastruktuur Gitis, muudatuste ajalugu
- Korratavus — sama keskkond igal pool
- Automatiseerimine — kiire juurutamine ilma käsitsi toiminguteta
- Dokumentatsioon — kood toimib dokumentatsioonina
IaC tööriistad
- Terraform — pilvest sõltumatu, deklaratiivne
- AWS CloudFormation — AWS jaoks
- Pulumi — IaC tavalistes keeltes (Python, TypeScript)
- Ansible — konfiguratsioonihaldus
Deklaratiivne vs Imperatiivne
- Deklaratiivne (Terraform): kirjeldab soovitud olekut
- Imperatiivne (skriptid): kirjeldab saavutamise samme
Praktikad
- Oleku salvestamine kaugmällu
- Moodulid koodi taaskasutamiseks
- CI/CD automaatseks rakendamiseks
- Poliitikad ja kontrollid (OPA, Sentinel)
Terraformi näide
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}