Serverless-sovellusten hallinta Terraform-työkalulla
Ranta, Petri (2025)
Ranta, Petri
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202502183023
https://urn.fi/URN:NBN:fi:amk-202502183023
Tiivistelmä
Pilvipalvelut ovat keskeinen osa nykyaikaista ohjelmistokehitystä. Ne tarjoavat yrityksille joustavuutta, kustannustehokkuutta sekä mahdollisuuden hyödyntää erilaisia ohjelmistokehitysresursseja ilman tarvetta omalle infrastruktuurille. Erityisesti serverless-arkkitehtuuri ja infrastruktuuri koodina ovat mullistaneet tapaa, jolla sovelluksia ja infrastruktuuria kehitetään ja hallitaan. Opinnäytetyön taustalla oli toimeksiantajan tarve ratkaisulle, jonka avulla näitä menetelmiä voidaan hyödyntää usealla eri pilvipalvelualustalla.
Opinnäytetyön tarkoituksena oli kehittää Terraform-konfiguraatiot, joiden kautta voidaan määritellä toisiaan vastaavat serverless-sovellukset Amazon Web Services, Microsoft Azure ja Google Cloud -pilvipalvelualustoilla. Opinnäytetyön keskeisenä tavoitteena oli syventää toimeksiantajan ymmärrystä Terraformista ja pilvi-infrastruktuurin hallinnasta sen avulla. Tämä tukee organisaation pilviosaamista, joka taas puolestaan vahvistaa kykyä reagoida liiketoiminnan tarpeisiin.
Työn tuloksena syntyi kolme yhtenäistä ja modulaarista Terraform-konfiguraatiota, jotka koostuvat tietokannan, siihen liitetyn FaaS-palvelun sekä ohjelmointirajapinnan määrittelyistä. Modulaarisuus mahdollistaa komponenttien uudelleenkäytön eri projekteissa, mikä vähentää ylimääräistä työtä ja nopeuttaa uusien sovellusten kehittämistä. Konfiguraatioita voidaan myös käyttää rinnakkain useissa eri kehitysympäristöissä.
Tulevaisuuden jatkokehitys- ja tutkimusmahdollisuuksia löytyy mm. konfiguraatioiden integroinnista CI/CD-automaatioon, lisätyökalujen, kuten Terragruntin käyttömahdollisuuksien selvittämisestä sekä infrastruktuurin tietoturvan parantamisesta.
Opinnäytetyön tarkoituksena oli kehittää Terraform-konfiguraatiot, joiden kautta voidaan määritellä toisiaan vastaavat serverless-sovellukset Amazon Web Services, Microsoft Azure ja Google Cloud -pilvipalvelualustoilla. Opinnäytetyön keskeisenä tavoitteena oli syventää toimeksiantajan ymmärrystä Terraformista ja pilvi-infrastruktuurin hallinnasta sen avulla. Tämä tukee organisaation pilviosaamista, joka taas puolestaan vahvistaa kykyä reagoida liiketoiminnan tarpeisiin.
Työn tuloksena syntyi kolme yhtenäistä ja modulaarista Terraform-konfiguraatiota, jotka koostuvat tietokannan, siihen liitetyn FaaS-palvelun sekä ohjelmointirajapinnan määrittelyistä. Modulaarisuus mahdollistaa komponenttien uudelleenkäytön eri projekteissa, mikä vähentää ylimääräistä työtä ja nopeuttaa uusien sovellusten kehittämistä. Konfiguraatioita voidaan myös käyttää rinnakkain useissa eri kehitysympäristöissä.
Tulevaisuuden jatkokehitys- ja tutkimusmahdollisuuksia löytyy mm. konfiguraatioiden integroinnista CI/CD-automaatioon, lisätyökalujen, kuten Terragruntin käyttömahdollisuuksien selvittämisestä sekä infrastruktuurin tietoturvan parantamisesta.
