Karelia-ammattikorkeakoulussa järjestettiin toukokuussa Terraform- ja Ansible-aiheiset koulutukset omalle henkilöstölle sekä yhteistyökumppaneille. Koulutus järjestettiin yhteistyössä Eduhouse Oy:n kanssa. Koulutusten tavoitteena oli vahvistaa osaamista infrastruktuurin automaatiossa, palvelinympäristöjen hallinnassa ja Infrastructure as Code -ajattelussa.
Mutta mitä nämä työkalut oikeastaan tekevät? Yksi tapa hahmottaa asiaa on verrata niitä rakennustyömaahan tai laajempaan infrastruktuurirakentamiseen.

Digitaalisen infrastruktuurin rakennustyömaa
Kun rakennetaan fyysistä kampusta, tietä, sähköverkkoa tai toimitilaa, tarvitaan suunnitelmia, perustuksia, liittymiä, asennuksia, käyttöönottoa, valvontaa ja ylläpitoa. Sama ajattelu pätee myös ICT-ympäristöihin. Ensin tarvitaan tekninen perusta: palvelimet, verkot, palomuurit, tallennustilat ja käyttöympäristöt. Sen jälkeen nämä ympäristöt pitää asentaa, konfiguroida, dokumentoida ja pitää käyttökunnossa. Tässä kokonaisuudessa Terraform ja Ansible täydentävät toisiaan. Yksinkertaistettuna voidaan sanoa: Terraform rakentaa infrastruktuurin. Ansible viimeistelee ja konfiguroi sen.
Rakennustyömaavertauksessa Terraform vastaa enemmän tontin, perustusten, runkorakenteiden ja liittymien rakentamisesta. Ansible puolestaan muistuttaa työmaamestaria, asentajaryhmää ja huoltotiimiä, joka tekee rakennuksesta käyttökelpoisen.
Terraform – suunnitelmat, perustukset ja runkorakenteet
Terraform on työkalu infrastruktuurin määrittelyyn ja rakentamiseen koodin avulla. Sen avulla voidaan kuvata esimerkiksi, millaisia virtuaalikoneita, verkkoja, palomuurisääntöjä, levyjä, pilviresursseja tai Kubernetes-klustereita halutaan luoda. Suunnittelija laatii suunnitelmat terraform-kielellä, jonka ilmauksiin määritellään infrastruktuurin resurssit ja niiden konfiguraatiot.
Rakennustyömaalla Terraformia voisi verrata asemakaavaan, rakennuspiirustuksiin, mittamieheen ja automatisoituun maanrakennustiimiin. Se määrittelee, mitä rakennetaan, minne rakennetaan ja millaisilla perusominaisuuksilla sille suunnittelijan antamien määritysten mukaisesti.
Terraformin erityinen vahvuus on siinä, että sen käsittelemä suunnitelma ei ole vain dokumentti. Se on suoritettava suunnitelma. Kun infrastruktuuri kuvataan Terraform-koodina, ympäristö voidaan rakentaa toistettavasti ja hallitusti. Muutokset voidaan tarkistaa etukäteen, toteuttaa hallitusti ja tarvittaessa versioida versionhallintajärjestelmässä.
Terraformin plan-vaihe vastaa rakennustyömaan ennakkotarkastusta: mitä tapahtuu, jos suunnitelma toteutetaan? Mitä rakennetaan uutena, mitä muutetaan ja mitä poistetaan? apply-vaihe puolestaan vastaa varsinaista rakentamista. Siinä vaiheessa infrastruktuurin elementit rakennetaan. Sitten kun suunnitelman mukaisia infrastruktuurin elementtejä ei enää tarvita, niin ne kaikki voidaan purkaa yhdellä komennolla ’destroy’. Terraformin state-tiedosto on kuin digitaalisen rakennustyömaan toteumarekisteri. Sen avulla tiedetään, mitä resursseja on jo olemassa ja mitä Terraform hallitsee.
Ansible – asennukset, säädöt ja käyttöönotto
Kun perusrakenteet ovat olemassa, tarvitaan käyttöönottoa. Tässä vaiheessa kuvaan astuu Ansible.
Ansiblella voidaan asentaa ohjelmistoja, kopioida konfiguraatiotiedostoja, luoda käyttäjätunnuksia, määritellä käyttöjärjestelmän asetuksia, käynnistää palveluita ja tehdä ylläpitotehtäviä useille palvelimille samanaikaisesti. Ansiblella voidaan hallita myös hyvin varusteltuja tietoverkon reitittimiä ja kytkimiä.
Rakennustyömaalla Ansible muistuttaa automaattisia sähköasentajia, LVI-asentajia, järjestelmäasentajia ja työmaamestareita. Kun Terraform on pystyttänyt rakennuksen rungon, Ansible käy sisään ja tekee tiloista käyttökelpoisia.
ICT-ympäristössä tämä voi tarkoittaa esimerkiksi sitä, että uusi virtuaalikone on ensin luotu Terraformilla, minkä jälkeen Ansible asentaa siihen web-palvelimen, koventaa SSH-asetuksia, lisää tarvittavat käyttäjät, asentaa valvonta-agentin ja käynnistää palvelut oikeilla asetuksilla. Jos asetuksia muutetaan myöhemmin, voidaan asetusmuutokset ajaa uudestaan kohdejärjestelmiin yhdellä komennolla.
Ansible-playbook on tässä mielessä kuin työmaan tehtävälista:
• Asenna tarvittavat paketit.
• Kopioi asetustiedostot.
• Avaa tarvittavat portit.
• Käynnistä palvelut.
• Varmista, että kokonaisuus toimii.
Sekä Terraformissa että Ansiblessa suunnittelijan on syytä laatia suunnitelmat idempotenssi-muotoisena. Idempotenssi tarkoittaa matematiikassa ja tietotekniikassa ominaisuutta, jossa operaation, toiminnon tai funktion toistaminen tuottaa saman lopputuloksen kuin sen suorittaminen kuin kerran. Idempotenssi operaatio toimii siten kuten suojatien painike: voit painaa sitä useammin kuin yhden kerran.
Miksi näitä taitoja tarvitaan?
Modernit ICT-ympäristöt muuttuvat nopeasti. Palveluita rakennetaan sekä omiin konesaleihin että pilviympäristöihin. Ympäristöjen pitää olla turvallisia, dokumentoituja, toistettavia ja hallittavia. Manuaalinen klikkailu tai yksittäisten tietoverkon elementtien ja palvelimien käsin konfigurointi ei enää riitä, jos ympäristöjä halutaan kehittää pitkäjänteisesti.
Infrastructure as Code -ajattelussa infrastruktuuri kuvataan samalla tavalla hallittavana kokonaisuutena kuin ohjelmistokoodi. Tämä mahdollistaa versionhallinnan, vertaisarvioinnin, muutosten jäljitettävyyden ja toistettavat käyttöönotot. Yksittäisten konfiguraatiomuutosten tekeminen on helppoa; riittää kun tehdään päivitys terraform-tiedostoon tai Ansiblen pelikirjaan ja ajetaan muutokset järjestelmiin. Kun infrastruktuuri rakennetaan koodin avulla, työmaa ei ole enää vain joukko yksittäisiä palvelimia ja asetuksia. Siitä tulee suunniteltu, dokumentoitu, helposti ylläpidettävä ja kehittyvä kokonaisuus.
Koulutusten näkökulmasta Terraform ja Ansible tarjoavat hyvän väylän ymmärtää tätä muutosta käytännössä. Ne auttavat siirtymään yksittäisten palvelinasennusten maailmasta kohti järjestelmällistä, automatisoitua ja dokumentoitua infrastruktuurin hallintaa.
Karelia infrastruktuuriautomaation kehittäjänä
Rakennustyömaavertauksessa Terraform tekee tyhjästä tontista teknisen kampuksen. Ansible tekee teknisestä kampuksesta toimivan palveluympäristön. Karelian järjestämissä koulutuksissa painopiste on käytännönläheisessä osaamisessa. Kareliassa tavoitteena on lisätä ymmärrystä siitä, miten automaatiotyökaluja voidaan hyödyntää omissa ICT-ympäristöissä, opetuksessa, kehittämishankkeissa ja yhteistyössä työelämän kanssa.
Infrastruktuuriautomaatio on ajankohtainen teema monille organisaatioille, jotka kehittävät omia konesali-, pilvi- tai hybridiympäristöjään. Samalla se liittyy laajemmin kyberturvallisuuteen, palveluiden skaalautumiseen, tehokkaaseen ylläpitoon ja digitaalisten palveluiden kehittämiseen. Karelian näkökulmasta tällainen osaaminen tarjoaa luontevan perustan yhteistyölle, jossa korkeakoulu toimii sekä osaamisen kehittäjänä että käytännön kokeilujen ja ratkaisujen kumppanina.
Kirjoittaja:
Petri Laitinen, lehtori, Karelia-ammattikorkeakoulu
Lähteet:
Ansible community documentation. https://docs.ansible.com/
What is Terraform? https://developer.hashicorp.com/terraform
Open-Source Infrastrucuture as Code. https://opentofu.org/
Tämän artikkelin muotoilussa on käytetty OpenAI:n GhatGPT-tekoälyä lauserakenteiden muotoiluun.
ICT-konesali-investointi ja integraatiot oppimislaboratorioihin -projekti

![]()

