Skip to content

Serverless-tekniikka

Kuvauksen kirjoitti: Mikko Sipola/N3120

Lyhyt kuvaus käsitteestä tai aiheesta

Serverless-tekniikka tarkoittaa pilvipalvelun tarjoajan resurssien varaamista skaalautuvasti asiakkaan tarpeen mukaan. Nimestään huolimatta kyseessä on yhä pilvialusta, mutta siitä ja sen resursseista huolehtii palvelun tarjoaja. Usein Serverless-tekniikalla tarkoitetaan nimenomaan nk. FaaS (Functions-as-a-Service), BaaS (Backend-as-a-service) tai tietokantapalvelua. Serverless-palveluissa resurssien varaaminen tapahtuu automaattisesti mistä tahansa palvelinpilven osasta.

Faas-palvelussa asiakkaan tarpeisiin varataan resursseja skaalautuvasti skriptien tai funktioden ajamista varten. Ideaalitilanteessa funktioita ajetaan riittävän usein, jotta funktioinstanssi pysyy varattuna muistissa. Tällöin funktio on kaiken aikaa saatavilla ja asiakkaan palvelu toimii jouhevasti. Jos funktiota ei käytetä, tietyn ajan jälkeen se pitäisi uudelleen varata käyttöön ja tämä näkyy asiakkaalle palvelun toiminnan viiveenä.

Baas-palvelulla tarkoitetaan ohjelmiston backendin ulkoistamista serverless-palvelun tarjoajalle. Tilaajalle itselleen jää fronttifunktionaalisuuden tuottaminen.

Myös tietokannat voidaan toteuttaa serverless-palveluna.

Hyötyjä serverless tekniikalla verrattuna 'tavalliseen' pilvipalveluun, jossa varataan pilvipalvelun tarjoajalta kiinteä määrä kapasiteettia omaan käyttöön, joka tilannekohtaisesti voi olla joko liikaa tai liian vähän, serverless-tekniikka tarjoaa joustavuutta esimerkiksi verkkokaupan ylläpitäjän kysyntäpiikkien hallitsemiseksi; toisaalta jos palvelu käy tyhjäkäynnillä maksetaan palveluntarjoajalle turhasta. Serverless-tekniikkaan pohjautuvan sovelluksen tai palvelun pystyttäminen on myös nopeaa.

Täysin ongelmatonta serverless-tekniikka ei ole. Suurimmat huolenaiheet liittyvät tietoturvaan kun kaikki sovelluksen osat eivät ole omissa käsissä, koskien erityisesti BaaS-palveluja. Palvelun ostaja on myös riippuvainen palvelun tuottajasta ohjelmistovirheiden ja debuggauksen suhteen. Yleisesti ottaen serverless-palvelut sopivat parhaiten pienten tai keskisuurten ei-kriittisten ohjelmien toteuttamiseen. Monimutkaisempien, suorituskykyvaatimukseltaan korkeampien tai tietoturvan osalta kriittisten ohjelmistojen suunnittelu kannattaa edelleen tehdä itse.

Asiantuntijat uskovat serverless-tekniikan yleistyvän mm. IoT-järjestelmien vaatimusten ajamana.

Muuta aiheeseen liittyvää

Kattokäsite Xaas; X-as-a-service.

Tunnettuja serverless-palvelujen tuottajia:

  • Google Cloud Functions
  • AWS Lambda (Amazon)
  • IBM Cloud Functions

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa

Listaa tähän käsite-sivut repositorion sisältä, jotka liittyvät kuvaamaasi käsitteeseen/aiheeseen