Tulkattavien ohjelmointikielten suosio serverless-pilviympäristöissä : Käytön syyt ja kustannusvaikutukset
Vuorinen, Lasse (2025)
Vuorinen, Lasse
2025
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-12-11
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-2025121111510
https://urn.fi/URN:NBN:fi:tuni-2025121111510
Tiivistelmä
Serverless-arkkitehtuuri on yleistynyt pilvipohjaisissa sovelluksissa, sillä se siirtää palvelinten ylläpidon ja niiden skaalaamisen kokonaan pilvipalveluntarjoajien vastuulle. Tämä tapahtumapohjainen ja automaattisesti skaalautuva malli mahdollistaa organisaation keskittymisen puhtaasti liiketoimintalogiikan toteuttamiseen. Tulkattavat kielet kuten Python ja Node.js ovat nousseet suosituimmiksi kieliksi serverless-ympäristöissä huolimatta siitä, että käännettävät ohjelmointikielet kuten Go ja Java omaavat teoriassa paremman laskennallisen tehokkuuden.
Tämän diplomityön tavoitteena oli tutkia, mihin syihin tulkattavien ohjelmointikielten laaja suosio palvelimettomissa ympäristöissä perustuu. Lisäksi työssä tarkasteltiin ohjelmointikielen valinnan suoria ja epäsuoria vaikutuksia sovellusten kokonaiskustannuksiin ja suorituskykyyn. Tutkimus toteutettiin kirjallisuuskatsauksena, jonka aineisto kerättiin tieteellisistä julkaisuista, konferenssijulkaisuista sekä keskeisten pilvipalveluntarjoajien (AWS, Microsoft Azure ja Google Cloud) teknisestä dokumentaatiosta. Lähteiden valinnassa painotettiin julkaisuja vuosilta 2018–2025, jotta muodostettu kuva olisi mahdollisimman ajantasainen.
Analyysissa pureuduttiin erityisesti siihen, kuinka kielten suoritusympäristöt vaikuttavat kylmäkäynnistysviiveisiin sekä hinnoittelumalleihin. Serverless-ympäristöille tyypillinen kylmäkäynnistys aiheuttaa viivettä, kun funktio suoritetaan ensimmäistä kertaa tai pidemmän tauon jälkeen. Tutkimus osoittaa, että tulkattavat kielet ovat tässä suhteessa kilpailukykyisiä ja usein tehokkaampia kuin raskaammat käännettävät kielet, mikä vähentää sovellusten latenssia. Koska serverless-funktiot ovat usein lyhytkestoisia, tulkattavien kielten nopeampi käynnistymisaika kompensoi niiden hitaampaa suoritusnopeutta.
Tutkimus osoittaa, että tulkattavien kielten valinta on ensisijaisesti kehitystyön tehokkuuteen ja strategiseen ketteryyteen liittyvä päätös. Suosio selittyy niiden matalalla oppimiskynnyksellä ja laajoilla kirjastoekosysteemeillä, jotka mahdollistavat sovellusten nopeamman kehittämisen ja nopeamman siirtämisen tuotantoon. Tulkattavat kielet olivat useissa tilanteissa kilpailukykyisiä, sillä serverless-funktiot ovat usein kohtuullisen lyhytkestoisia. Tulkattavat kielet olivat erityisen tehokkaita tilanteissa, joissa tapahtui funktion kylmäkäynnistyminen. Samaan aikaan kustannusanalyysi osoitti, että vaikka käännettävien kielten resurssitehokkuus voi tuottaa säästöjä raskailla työkuormilla ja laskentaintensiivisissä funktioissa, niin silti kehitys- ja ylläpitokustannukset mitätöivät tämän hyödyn useimmissa tapauksissa. Tästä syystä tulkattavien kielten tarjoama parempi tuottavuus ja helppokäyttöisyys tarjoavat useimmissa tapauksissa taloudellisesti kannattavamman kokonaisratkaisun.
Tämän diplomityön tavoitteena oli tutkia, mihin syihin tulkattavien ohjelmointikielten laaja suosio palvelimettomissa ympäristöissä perustuu. Lisäksi työssä tarkasteltiin ohjelmointikielen valinnan suoria ja epäsuoria vaikutuksia sovellusten kokonaiskustannuksiin ja suorituskykyyn. Tutkimus toteutettiin kirjallisuuskatsauksena, jonka aineisto kerättiin tieteellisistä julkaisuista, konferenssijulkaisuista sekä keskeisten pilvipalveluntarjoajien (AWS, Microsoft Azure ja Google Cloud) teknisestä dokumentaatiosta. Lähteiden valinnassa painotettiin julkaisuja vuosilta 2018–2025, jotta muodostettu kuva olisi mahdollisimman ajantasainen.
Analyysissa pureuduttiin erityisesti siihen, kuinka kielten suoritusympäristöt vaikuttavat kylmäkäynnistysviiveisiin sekä hinnoittelumalleihin. Serverless-ympäristöille tyypillinen kylmäkäynnistys aiheuttaa viivettä, kun funktio suoritetaan ensimmäistä kertaa tai pidemmän tauon jälkeen. Tutkimus osoittaa, että tulkattavat kielet ovat tässä suhteessa kilpailukykyisiä ja usein tehokkaampia kuin raskaammat käännettävät kielet, mikä vähentää sovellusten latenssia. Koska serverless-funktiot ovat usein lyhytkestoisia, tulkattavien kielten nopeampi käynnistymisaika kompensoi niiden hitaampaa suoritusnopeutta.
Tutkimus osoittaa, että tulkattavien kielten valinta on ensisijaisesti kehitystyön tehokkuuteen ja strategiseen ketteryyteen liittyvä päätös. Suosio selittyy niiden matalalla oppimiskynnyksellä ja laajoilla kirjastoekosysteemeillä, jotka mahdollistavat sovellusten nopeamman kehittämisen ja nopeamman siirtämisen tuotantoon. Tulkattavat kielet olivat useissa tilanteissa kilpailukykyisiä, sillä serverless-funktiot ovat usein kohtuullisen lyhytkestoisia. Tulkattavat kielet olivat erityisen tehokkaita tilanteissa, joissa tapahtui funktion kylmäkäynnistyminen. Samaan aikaan kustannusanalyysi osoitti, että vaikka käännettävien kielten resurssitehokkuus voi tuottaa säästöjä raskailla työkuormilla ja laskentaintensiivisissä funktioissa, niin silti kehitys- ja ylläpitokustannukset mitätöivät tämän hyödyn useimmissa tapauksissa. Tästä syystä tulkattavien kielten tarjoama parempi tuottavuus ja helppokäyttöisyys tarjoavat useimmissa tapauksissa taloudellisesti kannattavamman kokonaisratkaisun.
