API-kehyksen valinta on perinteisesti ollut tiimin tottumuskysymys. Serverless-ymparistossa se on myos kustannuskysymys, ja ero on mitattava.
Suositus on selkea
Uusissa API-toteutuksissa kevyt natiivi kasittelija tai Honon kaltainen kehys on nopeampi ja halvempi kuin Expressin kaltainen raskaampi kehys AWS Lambdalla.
Syy on rakenteellinen. Express on suunniteltu pitkaikaiselle palvelinprosessille, joka kaynnistetaan kerran ja joka palvelee tuhansia pyyntoja. Sen alustuskustannus jakautuu koko prosessin elinkaarelle.
Lambdalla malli on toinen. Jokainen kylmakaynnistys maksaa alustuskustannuksen uudelleen, ja laskutus perustuu suoritusaikaan.
Mihin ero ei vaikuta
Kylmakaynnistykset ovat nykyisin Node.js:lla ja Pythonilla alle 200 millisekuntia. Kehysvalinta liikuttaa tata lukua, mutta se ei ole ero hitaan ja nopean valilla — se on ero nopean ja hieman nopeamman valilla.
Jos API vastaa 800 millisekunnissa, koska se tekee kolme perakkaista tietokantakyselya, kehyksen vaihtaminen ei korjaa mitaan. Tama on yleisin virhearvio serverless-optimoinnissa.
Milloin Express on silti oikea valinta
Kun siirrat olemassa olevaa sovellusta. Toimivan Express-sovelluksen uudelleenkirjoittaminen kehyksen vuoksi on harvoin kannattavaa.
Kun tarvitset ekosysteemia. Expressin valiohjelmistokirjasto on laaja. Jos tarvitset valmiin ratkaisun, sen loytaminen on nopeampaa.
Kun kuorma on tasaista. Jos funktiota kutsutaan jatkuvasti, ajoymparistot pysyvat lampimina eika kylmakaynnistyskustannus realisoidu usein.
Suunnitteluperiaatteet, jotka eivat riipu kehyksesta
Yksi funktio, yksi vastuu. Monoliittinen funktio, joka reitittaa kymmenta polkua, lataa kaikkien polkujen riippuvuudet jokaisella kutsulla.
Alusta yhteydet moduulitasolla, ala kasittelijassa. Lampimana pysyva ajoymparisto sailyttaa moduulitason tilan kutsujen valilla.
Pida vastausmuoto vakiona. Tama ei vaikuta suorituskykyyn mutta ratkaisee yllapidettavyyden.
Kehysvalinta kannattaa tehda tietoisesti — mutta se ei ole tarkein muuttuja. Riippuvuuksien maara ja tietokantakutsujen rakenne ovat lahes aina suurempia tekijoita.