IaC / Infrastructure as Code
IaC (Infrastructure as Code) tarkoittaa lähestymistapaa, jossa tietokoneohjelmoitavaa koodia käytetään infrastruktuurin hallintaan ja määrittämiseen, kuten palvelimien, verkkojen ja tietokantapalveluiden luomiseen ja hallintaan. IaC on osa DevOps-menetelmää ja pilviteknologian hallintaa.
IaC:n perusajatus on, että infrastruktuurin määrittäminen ja hallinta tulisi tehdä samalla tavalla kuin ohjelmakoodin kirjoittaminen. Sen avulla voi kuvata tarvittavan infrastruktuurin koodina, joka tallennetaan versionhallintaan (esim. Git), ja jota voidaan hallita ja jakaa kuten ohjelmakoodia. Tämä mahdollistaa automatisoinnin ja skaalautuvuuden, sillä infrastruktuuri voidaan luoda, muokata ja poistaa automaattisesti koodin perusteella.
IaC tarjoaa useita etuja, kuten
- Koodinhallinta: Infrastruktuurin koodi tallennetaan versionhallintaan, mikä helpottaa muutosten seuraamista ja tiimityötä.
- Toistettavuus: Voit luoda identtisiä infrastruktuureja toistuvasti koodin avulla, mikä vähentää virheiden mahdollisuuksia.
- Dokumentaatio: IaC-koodi toimii myös dokumentaationa siitä, miten infrastruktuuri on määritelty.
- Automatisointi: Infrastruktuurin luonti ja hallinta voidaan automatisoida, mikä säästää aikaa ja vähentää inhimillisiä virheitä.
Suosittuja IaC-työkaluja ovat esimerkiksi Ansible, Terraform, Puppet, Chef ja AWAS CloudFormation. Nämä työkalut tarjoavat erilaisia tapoja määrittää ja hallita infrastruktuuria koodin avulla riippuen käytetystä pilvipalvelusta ja tarpeista.
Kts. myös pilvipalvelu