A close up of the word webscale on a white background

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

21. helmikuuta 2025
Pilvipalvelut mahdollistavat niin nopeamman innovoinnin, resurssien tehokkaamman hallinnan kuin joustavammat liiketoimintamallitkin. Jotta pilven tarjoamat liiketoimintaedut pystytään hyödyntämään, tarvitaan pilven käyttöön kuitenkin suunnitelmallisuutta ja järjestelmällisyyttä.
19. helmikuuta 2025
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 Amazon Cognito?
13. helmikuuta 2025
Pilvipulssi tuo ajankohtaiset uutiset AWS- ja Azure-pilvimarkkinoilta suoraan asiantuntijoiltamme. Tutustu uuteen AWS CloudFormation Hooks -ominaisuuteen, joka auttaa varmistamaan, että infrastruktuurimuutokset noudattavat ennalta määriteltyjä sääntöjä ennen käyttöönottoa.
11. helmikuuta 2025
AWS DevOps Services Competency on merkittävä virstanpylväs yrityksellemme ja osoitus sitoutumisestamme korkealaatuisiin DevOps-palveluihin AWS-ympäristössä. Mutta mitä tämä tarkoittaa asiakkaillemme, ja miksi AWS Competency -ohjelma on tärkeä?
Lisää kirjoituksia
Share by: