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

elok. 30, 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.

Tuomas Eerola

Senior Cloud Architect

Viimeisimmät kirjoitukset

Webscalen konsultteja.
03 May, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, miten FinOps auttaa pilvikustannuksissa?
Webscalen konsultteja.
26 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on AWS Landing Zone?
Webscalen konsultteja.
19 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mitä on DevSecOps?
Webscalen konsultteja.
12 Apr, 2024
Kysy konsultilta -blogisarjassa konsulttimme tekevät selkoa alan termeistä ja ilmiöistä. Vastaukset on mitoitettu sopimaan pieneenkin tiedonnälkään. Tällä kertaa selvitämme, mikä on Serverless Framework?
Lisää kirjoituksia
Share by: