Mikä on Infrastruktuuri koodina
Infrastruktuurin hallinta koodin avulla
Infrastructure as Code (IaC) on lähestymistapa infrastruktuurin hallintaan ja käyttöönottoon koneluettavien konfiguraatiotiedostojen avulla manuaalisen konfiguroinnin sijaan.
Hyödyt
- Versionhallinta — infrastruktuuri Gitissä, muutoshistoria
- Toistettavuus — sama ympäristö kaikkialla
- Automaatio — nopea käyttöönotto ilman manuaalisia toimia
- Dokumentaatio — koodi toimii dokumentaationa
IaC-työkalut
- Terraform — pilviriippumaton, deklaratiivinen
- AWS CloudFormation — AWS:lle
- Pulumi — IaC tavallisilla kielillä (Python, TypeScript)
- Ansible — konfiguraationhallinta
Deklaratiivinen vs Imperatiivinen
- Deklaratiivinen (Terraform): kuvaa halutun tilan
- Imperatiivinen (skriptit): kuvaa saavuttamisen vaiheet
Käytännöt
- Tilan tallennus etätallennustilaan
- Moduulit koodin uudelleenkäyttöön
- CI/CD automaattiseen soveltamiseen
- Käytännöt ja tarkistukset (OPA, Sentinel)
Terraform-esimerkki
resource "aws_instance" "web" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}