Kysy konsultilta: Mitä IaC tarkoittaa ja mitä hyötyä siitä on?

30. elokuuta 2023

Mitä IaC tarkoittaa ja mitä hyötyä siitä on?

IaC, Infrastructure As Code, tarkoittaa pilvi-infrastruktuurin määrittelemistä koodina. Koodissa määritellään tarvittavat resurssit kuten virtuaalipalvelimet ja niiden konfiguraatio, kuormanjako, verkkoyhteydet sekä niiden suojaukset, pääsyoikeudet yms. Yleensä IaC-koodi tallennetaan johonkin versiohallintaan kuten GitLab, GitHub tai Bitbucket.


Infrastruktuurin määrittely koodina auttaa dokumentoimaan mitä kaikkea ympäristöön sisältyy ja helpottaa muutosten testaamista sekä jäljittämistä. Versiohallinnassa voidaan tehdä muutoksille hyväksyntäprosessi ja nähdä esimerkiksi kuka muutokset on tehnyt. Koodissa voi helposti myös dokumentoida miksi jotain on tehty. IaC-työkalut voivat myös helpottaa ympäristön rakentamisen rutiinitoimenpiteissä, esimerkiksi AWS:n CDK osaa yleensä rakentaa tarvittavat pääsyoikeudet automaattisesti. Koodina voi myös olla valmiita kirjastoja tyypillisiin käyttötarkoituksiin kuten vaikkapa AWS CDK:n ApplicationLoadBalancedFargateService, jolla pystyy rakentamaan kuormanjaolla varustetun www-container -palvelun hyvin vähäisellä määrittelyllä ilman, että se rajoittaa mahdollisuuksia laajentaa ympäristöä. Vastaavantyyppisiä kirjastoja pystyy myös tekemään itse oman yrityksen käytäntöjen ja vaatimusten mukaan. Näillä saadaan myös yhtenäistettyä koko yrityksen käytäntöjä.


Versiohallintaan yhdistettynä IaC mahdollistaa ympäristön muutosten viemisen tuotantoon automaattisesti sekä toistettavasti samanlaisena kehitys-, testaus- ja tuontantoversioon. IaC:llä on myös helposti tehtävissä vaikka joka kehittäjälle tai tiketille oma rajattu testausympäristönsä. Kehitysympäristöjä voidaan ajaa ainoastaan työpäivän ajan tai jos projekti ei ole aktiivisessa kehityksessä voidaan kehitys- ja testausympäristöt ajaa kokonaan alas ja saada ne tarvittaessa pitkänkin ajan jälkeen helposti uudelleen käyttöön.


IaC voi myös helpottaa ympäristön siirtoa pilvipalveluntarjoajalta toiselle. Kun tuotantoympäristön elinkaari päättyy, IaC auttaa jäljittämään resurssit ja oikein tehtynä kaiken pystyy poistamaan kerralla eikä ympäristöihin jää häntiä aiheuttamaan myöhempää ihmetystä tai kustannuksia. Tunnetuimpia IaC-työkaluja ovat useissa ympäristöissä toimivat Terraform ja uudempana tulokkaana Pulumi, ja pilvikohtaisena AWS:n CloudFormation ja CDK, Azuren Bicep ja ARM sekä Googlen Cloud Deployment Manager. Myös Kubernetes Helm chartit voidaan laskea IaC:ksi.

A man wearing glasses and a gray shirt is looking at the camera.

Tuomas Eerola

Senior Cloud Architect

Viimeisimmät kirjoitukset

AWS DevOps Agent
8. joulukuuta 2025
AWS:n DevOps Agent on autonominen virtuaalinen on-call-tiimikaveri, joka tutkii häiriöt automaattisesti, kokoaa tilannekuvan useista järjestelmistä ja ehdottaa korjauksia keventäen SRE-tiimien kuormaa.
4. joulukuuta 2025
AWS tuo uudenlaista joustavuutta palveluihin yhdistämällä serverless-mallin ja perinteisen instanssihallinnan. Uudistus hämärtää rajaa Lambdan ja EC2:n välillä, kun funktiot voidaan ajaa valituilla instanssityypeillä AWS:n edelleen hoitaessa skaalauksen ja ylläpidon.
24. marraskuuta 2025
Deploying software on EC2 instances nowadays feel like going backwards in time - most of the applications would be usually preferably deployed as Docker containers or serverless functions.
18. kesäkuuta 2025
Kesäkuun alussa suuntasimme aurinkoiseen Tukholmaan AWS:n järjestämään Partner Summitiin ja sitä seuranneeseen Summit -päätapahtumaan.
Lisää kirjoituksia