AWS Lambda durable functions


Heikki Ma | 21. tammikuuta 2026

AWS julkaisi joulukuussa 2025 Lambdaan uuden ominaisuuden nimeltä Lambda durable functions. Se tuo Lambdaan pitkäkestoisen ja monivaiheisen suoritusmallin, jossa työ voidaan pilkkoa hallittaviin osiin ja suorittaa jopa vuoden ajan. Tämä on merkittävä muutos, koska Lambda on perinteisesti ollut parhaimmillaan lyhyissä, nopeasti loppuun asti ajettavissa tehtävissä. Durable functions laajentaa Lambdan käyttötapauksia kohti pidempiä työnkulkuja, integraatioprosesseja ja monivaiheisia automaatioita.

Monessa järjestelmässä Lambda ei yleensä ole vain “yksi kutsu ja vastaus”-tyypinen funktio. Usein joudutaan rakentamaan logiikkaketju, jossa ensin haetaan dataa, validoidaan tilaa, kutsutaan ulkoisia palveluja, tehdään muutoksia, odotetaan jonkin muun prosessin valmistumista ja jatketaan vasta myöhemmin. Tällaisissa toteutuksissa on perinteisesti ollut kaksi tyypillistä ratkaisua: joko rakennetaan oma tilanhallinta käsin (esimerkiksi DynamoDB:n ja retry-logiikan avulla), tai otetaan käyttöön AWS Step Functions. Durable Functions tarjoaa tähän väliin luontevan vaihtoehdon: se mahdollistaa monivaiheisen logiikan toteuttamisen suoraan Lambda-funktiossa ilman erillistä orkestrointikerrosta.

Durable functions perustuu mekanismiin, jossa suoritus jaetaan useisiin työvaiheisiin (step). Kun työvaihe valmistuu, sen tulos tallennetaan checkpoint-tyyppisesti talteen. Jos suoritus keskeytyy tai myöhemmässä työvaiheessa tapahtuu virhe, funktio voidaan käynnistää uudelleen “replay”-mallilla. Tällöin aiempia onnistuneita työvaiheita ei ajeta uudelleen, vaan palautetaan aiemmin tallennettu tulos ja suoritus jatkuu kohdasta ennen virhettä. Käytännössä tämä vähentää turhaa uudelleen ajoa ja tekee suorituksesta kustannustehokkaampaa erityisesti silloin, kun alun työvaiheet ovat hitaita tai sisältävät kalliita integraatiokutsuja.

Durable functions tuo mukanaan myös hyödyllisiä operaatioita kuten wait() ja WaitForCallback(). Näiden avulla suoritus voidaan jättää odottamaan ja jatkaa myöhemmin ilman, että Lambda jää roikkumaan ja laskuttamaan koko odotuksen ajan. Tämä on tärkeä parannus moniin käytännön skenaarioihin: välillä työnkulku joutuu odottamaan hyväksyntää, ulkoisia järjestelmiä tai jonossa etenevää prosessia. Aiemmin tällainen logiikka on usein vaatinut erillistä orkestrointia, mutta Durable Functions tuo odottamisen osaksi koodia.

Vaikka Durable Functions tekee monivaiheisen logiikan toteutuksesta helpompaa, koodia kirjoittaessa täytyy huomioida pari tärkeää asiaa: ulospäin vaikuttavat toimenpiteet ja tilanhallinta. Ulospäin vaikuttavia toimenpiteitä ovat esimerkiksi API-kutsut ja muut operaatiot, joilla on vaikutusta muihin järjestelmiin. Näitä ei kannata tehdä työvaiheiden ulkopuolella, koska replay-tilanteessa nämä koodit ajetaan uudelleen ja ulkopuolinen operaatio voi suoriutua toistamiseen, pahimmillaan seurauksena on kaksoisoperaatioita tai muuta epätoivottua käyttäytymistä. Tilanhallinnan osalta hyvä käytäntö on ottaa jokaisen työvaiheen tulos talteen muuttujaan ja viedä se eteenpäin seuraaville työvaiheille. Näin myöhempi logiikka voi hyödyntää aiemmin laskettuja arvoja turvallisesti myös replay-tilanteissa, ja koodi pysyy ennustettavana.

Checkpoint-tilan koko on vain 256 KB. Tämä on hyvä pitää mielessä, kun rakennetaan työvaiheita. Työvaiheiden tulokset kannattaa pitää kohtuullisen kokoisina. Jos työvaihe tuottaa ison datamassan, on usein parempi tallentaa se esimerkiksi S3:een ja välittää seuraaville työvaiheille vain viite, kuten objektin avain. Tällöin checkpointit pysyvät kevyenä ja työvaiheet keskittyvät tekemään yhden selkeän asian kerrallaan.

Kokonaisuutena AWS Lambda Durable Functions avaa kiinnostavan uuden tavan rakentaa workflow-tyyppistä logiikkaa. Se ei korvaa Step Functionsia kaikissa tilanteissa, mutta tarjoaa erinomaisen vaihtoehdon silloin, kun halutaan pitää kokonaisuus Lambda-funktion koodin sisällä ja samalla saada checkpointtien, retryjen ja wait-operaatioiden hyödyt. Lopputuloksena saadaan vähemmän turhaa työtä, parempi vikasietoisuus ja huomattavasti suoraviivaisempi toteuttamistapa moniin tuotannon automaatioihin ja monivaiheisiin prosesseihin. Tämä on erittäin hyödyllinen uusi työkalu, mitä en tiennyt tarvitsevani.

Heikki Ma

Heikki Ma
Cloud Consultant, CloudOps Lead

Pilvi haltuun

Huolehdimme pilvestä kokonaisuutena, jotta asiakkaamme voivat keskittyä kasvuun, kehitykseen ja asiakkaisiinsa.

Varmistamme, että digitaaliset palvelut toimivat luotettavasti ja tukevat liiketoimintaa kaikissa tilanteissa.

Uusimmat kirjoitukset

6. lokakuuta 2026
Webscale Cloud Morning Pilviriskit hallintaan Tiistai 27.10.2026 klo 8.30 Pilven suurimmat riskit eivät aina näy päällepäin. Liian laajat käyttöoikeudet, yhden avainhenkilön varaan jäänyt osaaminen, puutteelliset varmistukset tai harjoittelematon palautuminen voivat tuntua pieniltä asioilta, kunnes jokin niistä häiritsee liiketoimintaa. Mitkä pilviympäristön riskit ovat aidosti merkittäviä liiketoiminnalle? Mistä organisaatio vastaa itse ja mistä pilvipalveluntarjoaja? Ja miten tunnistaa riippuvuudet ja haavoittuvuudet ennen kuin niistä syntyy ongelma? Webscale Cloud Morning -sarjan toisessa webinaarissa käymme läpi käytännönläheisesti: millaiset pilviympäristön riskit voivat vaikuttaa liiketoiminnan jatkuvuuteen missä vastuu pilvipalveluntarjoajan ja oman organisaation välillä kulkee miten tunnistaa teknologiaan, ihmisiin ja toimintamalleihin liittyviä kriittisiä riippuvuuksia miten varautua häiriöihin ja varmistaa, että palautuminen toimii myös käytännössä millä keinoilla pilven riskejä voidaan tunnistaa ja pitää hallinnassa 30 minuutin aamustartti Jos pilvipalvelut ovat liiketoiminnallenne kriittisiä, mutta riskien todellinen taso ei ole täysin kirkas, tämä puolituntinen kannattaa käyttää.
IT- ja digijohtaja
21. syyskuuta 2026
Tekoälyn kehitys, uudet regulaatiot ja muuttunut turvallisuusympäristö nostavat teknologiavalintojen merkitystä. Pilvi- ja infrastruktuuripäätöksissä on huomioitava tämän päivän tarpeiden lisäksi jatkuvuus, riippuvuudet ja tulevaisuuden liikkumavara.
Tekijä Teemu Peräkylä • 19. elokuuta 2026
AI-avusteinen ohjelmistokehitys nopeuttaa kehitystä, mutta tuo mukanaan uusia tietoturvariskejä. CNAPP auttaa tunnistamaan olennaiset riskit ja turvaamaan nopeasti muuttuvat pilviympäristöt.