Picture of clouds

6 + 1 tilannetta, jossa Serverless pesee perinteisen palvelininfrastruktuurin

Serverless-arkkitehtuuri mahdollistaa perinteistä palvelininfrastruktuuria nopeamman  ja edullisemman tavan luoda sekä yksittäisiä palveluja että kokonaisia tietojärjestelmiä. Miten Serverless tämän tekee ja millaisissa tilanteissa se on parhaimmillaan?

Serverless rakentuu käsitteille PaaS (Platform as a Service) ja FaaS (Function as a Service). PaaS tarkoittaa liiketoiminnan tarpeisiin konfiguroitavia palveluja ja FaaS palveluja, joilla räätälöityä koodia voidaan ajaa funktioina. Nämä mahdollistavat esimerkiksi seuraavat hyödyt:

  • Virtuaalipalveluita ja kehittämisympäristöjä ei enää pystytetä. Kehittäjät pääsevät suoraan ongelmanratkaisuun ja asiakas saa rahoilleen enemmän vastinetta.
  • Palvelut voidaan ottaa käyttöön välittömästi, ilman infrastruktuurihaasteita.
  • Palvelut skaalautuvat lähes loputtomasti.
  • Palveluista maksetaan vain käytetyn ajan ja datan määrän mukaan.
     

Mihin Serverless-malli parhaiten sopii?

Serverless on saavuttanut kehittäjien keskuudessa vahvan aseman juuri edellä mainituista syistä. Aivan kaikkiin sovelluskehittämisen ongelmiin Serverlesskään ei ole ratkaisu. Listasin oheiseen taulukkoon kuusi (plus yksi) käyttötilannetta, joissa sen edut perinteiseen palvelininfrastruktuuriin nähden ovat selkeät.

 

Käyttökohde

Perinteinen Palvelininfrastruktuuri

Serverless-arkkitehtuuri

1

Ketterä sovelluskehitys

Reagoi hitaasti palvelutasosopimuksineen  ja resurssivarauksineen.

Tarjoaa valmiita ratkaisuja, jotka vaativat parhaimmillaan vain pientä konfigurointia tai uuden funktion kirjoittamisen, joka saadaan kokeiluun jopa tunneissa.

2

Monimutkaiset työnkulut

Vaatii isojen arkkitehtuuristen kysymysten ratkaisua ja valitun arkkitehtuurin toteuttamista.

Erilaisten työnkulkujen luominen on helppoa ja nopeaa: esimerkiksi  datan streamaus -> tallennus tiedostoon -> aggregointi -> tallennus tietovarastoon. Kaikki löytyvät omina Serverless-palveluinaan ja niitä on kätevä yhdistää toisiinsa erilaisilla tiedonvälitystavoilla.

3

Prototypointi

Protoilussa käytetään usein staattisia mock-käyttöliittymiä.

Serverless mahdollistaa  protojen tekemisen toiminnallisina. Dynaaminen käyttöliittymä toimivalla viestinvälityksellä on PaaS- ja FaaS-palveluita käyttämällä pystyssä päivässä.

4

Proof of Consept (POC)

Iso osa POCin työmäärästä kuluu infrastruktuurin hallintaan.

Koska riippuvuuksia infrastruktuurin hallintaan on vähän, POCissa päästään suoraan ongelmanratkaisuun.

5

Internet of Things (IoT)

Laitteiden kytkeminen toisiinsa vaatii paljon ohjelmointityötä ja näiden hyödyntäminen vaatii oman palvelininfrastruktuurinsa.

PaaS-palveluilla laitteiden hyödyntäminen onnistuu lähes pelkällä konfiguroinnilla. Näin saadaan IoT-laitteiden ja muun järjestelmän väliset viestit hyvin nopeasti liikkeelle ja hyödynnettyä.

6

Tekoäly

Lähes mahdotonta tai ainakin hyvin kallista.

Monella pilvialustalla on valmis ohjelmistorajapinta eli API useille tekoälytarpeille. Esimerkiksi kuvantunnistus löytyy helppokäyttöisenä palveluna kaikilta isoilta toimijoilta.

6+1

Kodin automaatio / Älykodit

Lähes mahdotonta tai ainakin hyvin kallista.

PaaS ja FaaS mahdollistavat hyvin räätälöidyt ratkaisut juuri käyttäjän tarpeisiin. Suuri osa tarjolla olevista plug-n-play älykotiratkaisuista käyttää todennäköisesti Serverless-palveluita.

Taulukko 1: 6 +1 käyttökohdetta Serverlessille sekä edut perinteiseen palvelininfrastruktuuriin nähden

Serverlessin avulla sovelluskehittämisen mutkia suoristetaan melkoisesti ja päästään todelliseen ketterään, kustannustehokkaaseen ja arvoa tuottavaan kehittämiseen. Olen ollut Serverless-mallien kanssa tekemisissä siitä asti kuin ne markkinoille tulivat, enkä enää vaihtaisi pois. Isoimmat soraäänet, joita olen kuullut, liittyvät tietoturvaan. Kannattaa tutustua siihen, miten toimittaja on ottanut tietoturvan huomioon. Voit yllättyä.

Minä ja muut Siilin asiantuntijat autamme mielellämme kaikissa pilvipalveluihin liittyvissä kysymyksissäsi! Lähde mukaamme entistä ketterämmän ja tuloksellisemman kehittämisen maailmaan!

PS. Itse tykkään poltella silloin tällöin paksun sikarin, joita säilytän kotonani humidorissa. Olen rakentanut IoT-ratkaisun, jonka avulla pystyn seuraamaan humidorin kosteutta ja lämpötilaa kännykkäni näytöltä missä tahansa olenkin. Ja paras puoli? Se ei maksa mitään. Valitsemani pilvipalveluntarjoaja antaa joka kuukausi ilmaista käyttöaikaa sen verran että oma käyttöni mahtuu siihen helposti. Voit tutustua toteutukseen github-projektissani.

 

---

Lue seuraavaksi: 

3 tehokkainta Clojure-työkalua

Ohjelmoija, näin murtaudut ulos mukavuusalueeltasi

Mitä koneoppiminen vaatii ohjelmistokehitykseltä?

Uusi ura ohjelmistoalalla – oppimisen kulttuuri inspiroi Oliveria