AWS muutti Lambdan serverless-luonnetta
Rehellisesti sanottuna en odottanut tällaista muutosta. Lambda on koko urani ajan ollut minulle synonyymi serverlessille: kirjoitat funktiot ja AWS hoitaa loput. Nyt AWS hämärtää tätä rajaa tuomalla Lambda Managed Instances -uudistuksen, jossa yhdistyy Lambdan serverless-kehitysmalli ja EC2-tason hallinta. Lambda funktion voi jatkossa halutessaan viedä EC2 instanssiin ajettavaksi. Käyttäjä valitsee itse, millä EC2-instanssityypeillä funktiot pyörivät, ja AWS huolehtii edelleen ylläpidosta, autoskaalauksesta ja kuormantasauksesta.
Yksi näkyvimmistä vaikutuksista on cold start -tilanteiden väheneminen. Aiemmin Lambdan cold startit olivat arkipäivää etenkin harvoin kutsutuissa tai nopeasti skaalautuvissa funktioissa. Managed Instancesissa ympäristöt pysyvät lämpiminä käyttäjän määrittelemän minimikapasiteetin puitteissa, joten invokaatiot osuvat useammin valmiiseen ajo-ympäristöön ja latenssi tasoittuu.
Toinen iso muutos liittyy resurssien mitoitukseen. Klassisessa AWS-sertifikaattikokeen kysymyksessä on kysytty miten Lambdan vCPU:n määrää voidaan nostaa. Tähän vastaus on ollut, että muistia pitää lisätä jos haluaa lambdalle allokoida enemmän vCPU:ta. Tämä on johtunut siitä, että muisti ja vCPU skaalautuvat käsi kädessä. Nyt näin ei enää ole. Managed Instancesin myötä käyttäjä voi valita esimerkiksi CPU-optimoidun instanssityypin ja hallita vCPU:n ja muistin suhdetta selvästi joustavammin.
Lambda on mielestäni aikaisemmin sopinut täydellisesti ympäristöön, jossa kuorman määrä on vaihtelevaa tai hyvin vähäistä. Kun kuorma on kasvanut, kustannussyistä on ollut järkevämpää siirtyä esimerkiksi ECS- tai EKS- ympäristöön. Tämän uudistuksen ansiosta käyttäjän ei välttämättä tarvitse tehdä tätä siirtoa vaikka kuorma kasvaisi. Käyttäjä voi pysyä Lambda-ympäristössä, hyödyntää EC2-tason kontrollia ja kustannusetuja. Lambda Managed Instanssiin on mahdollista hyödyntää mahdolliset EC2-alennukset kuten savings plans tai reserved instances sopimukset.
Tämä uudistus muuttaa Lambdan rajoja: cold startit vähenevät ja resurssit ovat käyttäjien hallinnassa. Jos käyttäjä tykkää Lambdan käyttäjäkokemuksesta, hän voi pysyä Lambda-ympäristössä vaikka kuormat kasvavat eikä tarvitse pelätä laskun kasvavan. Tämä mahdollistaa enemmän liikkumavaraa ja joustavuutta. Tämä on iso askel eteenpäin Lambdan kehityksessä.
AWS:n julkaisu: Introducing AWS Lambda Managed Instances: Serverless simplicity with EC2 flexibility

Heikki Ma
Cloud Consultant, CloudOps Lead






