Hae sivustolta

Serverless – mitä tarkoittaa serverless computing?

LaskentaPilvi / Lukuaika 2 min

Serverless-käsite liittyy hyvin olennaisesti pilvipalveluihin. Suomeksi voidaan puhua palvelittomasta tietojenkäsittelystä, mutta tämä voi olla jopa hieman harhaanjohtavaa.

Serverless tarkoittaa pilvipohjaista tietojenkäsittelymallia ja palvelinkapasiteetin vuokraamista. Toisin kuin nimestä voisi päätellä, serverless ei tarkoita, että sovelluksia ja koodia ajetaan ilman palvelimia. Palveliton tarkoittaa yksinkertaisesti sitä, että taustalla oleva IT-infrastruktuuri on näkymätöntä esimerkiksi sovelluksen kehittäjälle. Kehittäjä voi keskittyä täysin koodiin ja sovelluksen logiikkaan eikä hänen tarvitse miettiä virtuaalikoneiden tai verkkojen pystyttämistä.

Palveluntarjoaja, kuten esimerkiksi Microsoft, vastaa täysin koodin ajamiseen tarvittavasta infrastruktuurista. Tämä tarkoittaa siis palvelimien konfigurointia, ylläpitoa ja skaalaamista.

Toisin sanoen, serverless-arkkitehtuuri mahdollistaa pilvinatiivien sovellusten toteuttamisen tehokkaasti ilman huolta taustalla tarvittavasta raudasta ja käyttöjärjestelmästä.

Serverless-käsitteen yhteydessä puhutaan usein myös FaaS-palvelumallista. Function-as-a-Service -palvelumalli tarkoittaa funktioiden ajoalustaa palveluna. Lue lisää pilven palvelumalleista.

Serverless-mallissa asiakas ei maksa kiinteästä palveluntilasta vaan vuokraa funktion ajon. Funktio on käytännössä koodinpätkä, joka käynnistyy jonkin tapahtuman seurauksena. Hyvin yksinkertainen esimerkki tällaisesta tapahtumasta voisi olla ajastettu ilmoitus sähköpostiin. Ajastin toimii funktion käynnistävänä triggerinä.

Otetaan vielä toinen esimerkki. Yrityksen verkkosivustolla on lomake, jolla voi lähettää kuvan palvelimelle. Lomakkeen lähetys toimii triggerinä, joka käynnistää funktion. Funktio analysoi kuvan hyödyntäen Microsoft Azuren Computer Vision -rajapintaa ja palauttaa analysiin lähettäjän sähköpostiin.

Tunnettuja serverless-alustoja ovat AWS Lambda, Azure Functions ja Google Cloud Functions.

Milloin käyttää serverless-arkkitehtuuria?

Serverless-arkkitehtuuri on tapahtumapohjaista. Erilaiset tapahtumat tai triggerit käynnistävät funktioita.

Tämä malli sopii hyvin esimerkiksi:

  • Datan prosessointiin
  • IoT-tapahtumien prosessointiin
  • Aikataulutettuihin ja toistuviin ajoihin
  • Varmuuskopioiden käynnistämiseen
  • Tilausten prosessointiin
  • Viestin ja ilmoitusten lähettämiseen

Serverless sopii parhaiten pienten sovellusten tai sovelluksen tiettyjen osien ajamiseen ja eritoten prosesseihin, joita voidaan ajaa itsenäisesti.

Serverless-arkkitehtuurin hyödyt

Pilvi on mullistanut sovelluskehitystä. Vanhassa maailmassa devaajat devasivat ja IT mietti missä ja miten koodia pyöritettäisiin tehokkaasti ja turvallisesti. Pilviteknologia on helpottanut sovellusten kehitystä ja julkaisua poistamalla huolen infran perustamisesta ja ylläpidosta. Yritykset voivat keskittyä koodin kirjoittamiseen ja logiikan rakentamiseen.

Serverless-mallin tunnistettuja hyötyjä ovat muun muassa:

  • Tietoturva. Serverless-ympäristö on rajoitettu eli siinä voi ajaa vain siihen soveltuvaa koodia. Tämän johdosta devaajat ovat vähän kuin pakotettuja tekemään asioita parhaiden käytäntöjen mukaisesti.
  • Nopeus. Matka ideasta tuotantoon voi olla hyvinkin lyhyt serverless-maailmassa.
  • Kustannustehokkuus. Serverless-arkkitehtuuri perustuu ajettaviin funktioihin, joiden hinnoittelu perustuu siihen kuinka usein näitä funktioita ajetaan. Toisin sanoen, hinnoittelu perustuu ajoaikaan eli utilisaatioon. Tämä hinnoittelumalli voi parhaimmillaan mahdollistaa suuriakin säästöjä.

Hyödyllisiä linkkejä

Mitä se maksaa – Azure Functionsin hinnoittelu ja hintalaskuri

Lisätietoa Azuren serverless palveluista

Suositut artikkelit

Cloud Badass - Azure-webinaariOps ❤ Devs – sovelluskehittäjä, näin kesytät Azuren IaaS, CaaS, PaaS, FaaS, SaaS – mitä mikäkin tarkoittaa? Cloud Badass - Azure-webinaariMiksi ja milloin kannattaa valita Azure ja julkipilvi?