Serverless Framework on suosittu avoimen lähdekoodin työkalu, joka helpottaa serverless-sovellusten kehittämistä ja hallintaa pilviympäristöissä, kuten AWS:ssä. Vuoden 2024 lopussa Serverless Frameworkin v3 saavutti elinkaarensa päätepisteen, eikä siihen enää julkaista virallisia päivityksiä tai tietoturvakorjauksia. Uudemmassa v4 versiossa työkalu muuttui maksulliseksi organisaatioille, joiden liikevaihto on yli 2 miljoonaa dollaria vuodessa. Tämä muutos on saanut monet yritykset pohtimaan, miten jatkaa eteenpäin olemassa olevien serverless-sovellustensa kanssa.
Tässä kirjoituksessa tarkastelemme kolmea vaihtoehtoa Serverless Framework v4:lle: AWS Cloud Development Kit (CDK), AWS Serverless Application Model (SAM) ja OSS-Serverless. Käymme läpi niiden ominaisuuksia, vahvuuksia ja heikkouksia sekä pohdimme, mitä yritysten tulisi ottaa huomioon tehdessään päätöstä tähän liittyen. On myös syytä huomata, että näiden vaihtoehtojen lisäksi on olemassa muita työkaluja, jotka voivat soveltua yritysten tarpeisiin.
AWS CDK on AWS:n tarjoama IaC-työkalu, joka mahdollistaa resurssien hallinnan ohjelmointikielillä, kuten TypeScript, Python, Java, C# ja Go. Toisin kuin deklaratiivinen lähestymistapa, CDK tarjoaa dynaamisen ja joustavan tavan määritellä infrastruktuuri koodina.
Hyödyt:
Huomioitavaa:
AWS SAM on AWS:n tarjoama työkalu, joka laajentaa CloudFormationia ja mahdollistaa serverless-sovellusten määrittelyn YAML- tai JSON-muotoisilla templateilla. Se on suunniteltu yksinkertaistamaan AWS Lambda -pohjaisten sovellusten hallintaa.
Hyödyt:
Huomioitavaa:
OSS-Serverless (https://github.com/oss-serverless/serverless) on avoimen lähdekoodin projekti. Yhteisön ylläpitämä fork Serverless Frameworkin versiosta 3, joka pyrkii tarjoamaan saman käyttökokemuksen ja toiminnallisuuden ilman kaupallisia lisenssirajoituksia.
Hyödyt:
Huomioitavaa:
Serverless Framework v3:n tuen päättyminen pakottaa yritykset arvioimaan uusia ratkaisuja serverless-sovellustensa hallintaan. Valinta riippuu pitkälti organisaation tarpeista ja resursseista. AWS CDK tarjoaa laajennettavan ja ohjelmointikielipohjaisen lähestymistavan, mutta sen käyttöönotto voi vaatia lisäresursseja ja oppimista. AWS SAM on selkeä ja helppokäyttöinen vaihtoehto, joka integroituu syvälle AWS-ekosysteemiin, mutta sen laajennettavuus on rajallisempi. OSS-Serverless puolestaan tarjoaa tutun käyttöympäristön ilman lisenssikustannuksia, mutta sen ylläpidon jatkuvuus on epävarmaa, koska se perustuu vapaaehtoiseen yhteisöön.
Lopullinen päätös tulisi tehdä yrityksen nykyisten työkalujen, osaamisen ja tulevaisuuden tarpeiden perusteella. Perusteellinen arviointi ja pitkän aikavälin strateginen suunnittelu auttavat valitsemaan ratkaisun, joka tukee organisaation kasvua ja kehitystä parhaalla mahdollisella tavalla.
Heikki Ma
Cloud Consultant, CloudOps Lead