Kysy konsultilta: Miten ja missä Terraformia voidaan hyödyntää?

9. helmikuuta 2024

Miten ja missä Terraformia voidaan hyödyntää?

HashiCorpin Terraform on työkalu pilvi-infrastruktuurin määrittelemiseen. Terraform tukee useamman pilvialustan konfigurointia, valmiit työkalut tukevat laajalti ainakin AWS-, Azure ja GCP-resursseja ja periaatteessa näitä voi myös laajentaa omiin tarpeisiinsa, koska Terraform on julkaistu avoimena lähdekoodina rajatummalla Business Source Lisenssillä.


Terraformin resurssit kuvataan yksinkertaisena koodina deklaratiivisesti, eli määritellään mikä on haluttu tavoitetila resursseille. Ajettaessa Terraform luo ja päivittää olemassa olevat resurssit vastaamaan tätä annettua tavoitetilaa.


Terraform ja pilvialustaspesifiset vastaavat työkalut kuten AWS:n CloudFormation ovat kriittisiä työkaluja siihen, että pilvi-infrastruktuuri voidaan määritellä versioituina dokumentteina, joiden perusteella infrastruktuurista tulee hyvin määriteltyä, monistettavaa ja automatisoitavaa. Lähtökohtaisesti ajattelen, että mitään tuotannossa ajettavaa pilvi-infraa ei pitäisi tehdä ilman näitä Infra as Code (IaC) -työkaluja.


Terraform mahdollistaa myös organisaation käyttämien omien moduulien rakentamisen, jolloin organisaation kaikki tiimit voivat käyttää samalla tavalla rakennettua pilvi-infraa eikä kehitystiimien tarvitse jokaisen tehdä omaa ympäristöään. Moduulien myötä voidaan myös viedä keskitetysti uusia päivityksiä infraan ilman, että tiimien tarvitsee erikseen muuttaa mitään omassa konfiguraatiossaan.


Terraform puolustaa paikkaansa tilanteissa, joissa halutaan hallita useammassa pilvessä ajattavia palvelinympäristöjä. Se on aiemmin myös osoittautunut saavan hieman nopeammin uusia ominaisuuksia tiettyjen uusien palveluiden osalta kuin vaikka CloudFormation. Kääntöpuolena CloudFormationin kanssa AWS tarjoaa paljon palveluita, jotka tukevat CloudFormationin käyttöä ja sen tilan ylläpitoa. Terraformilla olevilla resursseilla ei ole AWS-pilvessä myöskään samanlaista stack-ryhmittelyä kuin CloudFormationilla luoduilla resursseilla.


Kaikissa näissä työkaluissa tulee vielä organisaatiotasolla käytettäessä vastaan se, että niiden lisäksi on tarpeen käyttää vielä uusia työkaluja, jotka mahdollistavat lukuisten tilien hallinnan ja kaikille tileille näiden resurssien luomisen keskitetysti. Nämä työkalut tuntuu olevan rakennettu tukemaan vain yhtä IAAS-työkalua kukin. Terraformille on ainakin TerraGrunt, CloudFormationille Sceptre ja vaikkapa Takomo.


Kaikkiaan nykyisessä pilvi-infran kehitysvaiheessa organisaatioiden pitäisi lähtökohtaisesti rakentaa kaikki infransa jollakin IaC-työkalulla, ja vain pääkäyttäjätunnusten luomisen ja 2FA-avainten hallinnan pitäisi olla manuaalinen prosessi. On hyödyllistä tarjota kehittäjille hiekkalaatikkoympäristöt, joissa pääsee kokeilemaan uusia palveluita ja tapoja käyttää resursseja, mutta kaikki hiekkalaatikkotilien ulkopuolella pitäisi rakentaa versionhallinnassa tallennettuina resurssitemplateina Terraformin kaltaisilla työkaluilla.


Ilman näitä työkaluja on nimittäin ylläpitäjillä edessä lukuisia päiviä hiusten repimistä, kun yritetään jäljittää jonkun aikaisemmin tekemiä manuaalisia muutoksia, ja ymmärtää miten ne liittyvät yhteen. Alkuun pääsy voi tuntua työläältä, mutta siinä jää voitolle työajan käytössä kun alun alkaen hyödyntää asiantuntijoiden osaamista.

Jukka Dahlbom

Head Of Data Engineering

Viimeisimmät kirjoitukset

29. tammikuuta 2026
AWS European Sovereign Cloud (EUSC) on nyt saatavilla ensimmäisellä regionilla. EUSC on erillinen kokonaisuus AWS:n tavallisesta commercial-pilvestä. Se on rakennettu tilanteisiin, joissa eurooppalainen regioni ei enää riitä, vaan vaatimukset koskevat myös palvelun operointia ja käyttöoikeuksia.
AWS Lambda durable functions
21. tammikuuta 2026
AWS julkaisi joulukuussa 2025 uuden Lambda durable functions -ominaisuuden. Tämä tuo Lambdaan pitkäkestoisen ja monivaiheisen suoritusmallin, jossa työ voidaan pilkkoa hallittaviin osiin ja suorittaa jopa vuoden ajan.
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.
Lisää kirjoituksia