Serverless Days Helsinki 2019

Allekirjoittanut tapahtumapaikalla

Yleistä Serverlessistä

Eilen Helsingissä järjestettiin ensimmäinen Serverless Days -tapahtuma jonne itsekin menin kuuntelemaan ja katselemaan minkälaisesta tapahtumasta on kyse.

Koska kyseessä oli omaan alaani (eli aateekoo ja intternet) liittyvä tapahtuma on mahdollista että termi Serverless ei soita monelle tämän blogin lukijalle kelloja mistä on kyse. Lyhyesti ilmaisten termillä siis viitataan verkkopalveluiden tuottamiseen siten että itse tai muut välikädet eivät joudu hoitamaan palvelinten ylläpitoa vaan varsinainen palvelimen olemassaolokin pyritään poistamaan kuvioista ja sovelluksia ajetaan suoraan pilvipalveluissa siten että tarpeen mukaan pilvipalvelun tuottaja (esim. AWS, Azure tai Google Cloud) hoitaa koodareille näkymättömästi tämänkaltaiset prosessit.

Edellinen kappale ei varmasti sytyttänyt idean lamppua päässä palamaan epäselvän ilmaisunsa vuoksi, mutta otetaan esimerkki josko se selventäisi yhtään sen enempää.

Kun normaalisti vaikkapa jonkin verkkokaupan käyttäjä tulee nettisivulle ja saa näkyviin myynnissä olevat tuotteet on tämä perinteisesti hoidettu siten, että taustalla on koko ajan käynnissä palvelin josta nettisivun “frontend” (eli se käyttäjälle näkyvä osa) pyytää listaa tuotteista. Tällöin frontend lähettää kyselyn taustalla pyörivälle ns. backendille joka pyörii jossain palvelimella (joka karkeasti yleistäen ja tiivistäen ihmisten ymmärrettävästi on vain jokin tietokone jossain) ja se sitten saatuaan pyynnön etsii tietokannasta että mitäs tuotteita tuohon kategoriaan käyttäjälle pitäisi näyttää. Sen jälkeen se lähettää frontendille vastauksena listan näytettävistä tuotteista jonka jälkeen sitten frontend osaa tehdä käyttäjälle näkyviin oikeanlaiset tuotteet.

Serverless-ajattelun ideana on saada poistettua tuo “backend” nykyisessä muodossaan kuvioista pois kokonaan että ei olisi olemassa enää perinteistä palvelinta jossain pyörimässä turhaan. Käytännön tasolla tämä tapahtuu ns. event driven -ajattelumallilla toteuttamalla. Eli äskeisessä esimerkissä se tarkoittaisi sitä, että vasta siinä vaiheessa kun frontend lähettää pyynnön backendille pitäisi joku saada sinne vastaamaankin jotain jotta pyynnön esittäjä saa haluamansa tulokset että tietää mitä sivulle pitää näyttää.

Isot pilvipalvelut – ainakin AWS sekä Azure – tarjoavat tähän ns. Lambda-funktioita joita triggeröidään vasta kun jotakin tapahtuu. Eli koko aikaa ei ole palvelin taustalla pyörimässä turhan päiten, vaan vasta siinä vaiheessa kun käyttäjältä tulee pyyntö saada lista noista verkkokaupan tuotteista herättää nämä pilvipalvelut koodareiden tekemät funktiot jotka tekevät halutut asiat.

Jos tämän miettisi reaalimaailman asiana vastaisi se samaa kuin talossa ei olisi lainkaan puhelinasiakaspalvelua, mutta heti kun puhelin soi olisi maagisesti oikeita ihmisiä heti vastaamassa puhelimeen ja kun puhelu on ohi katoaisi hän samantien eikä olisi koko aikaa paikan päällä päivystämässä josko sinne sattuisi puhelu tulemaan.

Tapahtuma

Varsinainen tapahtumapäivä oli mielenkiintoinen ja puhujia oli useita erilaisia. Ensimmäisenä puheena kuulimme Lego-kaupan uudelleen toteuttamisesta serverless-arkkitehtuuria hyödyntäen. Seuraavana puheena kuulimme chaos engineeringistä ja kuinka toteuttaa tällaisia serverless -arkkitehtuurilla tehdyissä sovelluksissa. Seuraava puhe käsitteli erilaisten palveluiden integraatioista ja kuinka tämänkaltaisia haasteita on taklattu serverless-sovelluksilla ja ennen lounasta kuulimme vielä puheen kuinka Google Cloud -palvelun koneoppimisen rajapintoja hyödyntäen voi tehdä erilaisia tutkimuksia esimerkiksi fake news -sivustoista verrattuna ns. vakavammin otettaviin uutissivuihin.

Lounaan jälkeen sitten oli puheita virheenkäsittelystä, suunnittelun patterneista ja anti-pattereista sekä todellisen elämän esimerkki kuinka chatbot oli toteutettu Azuren funktioilla.

Kahvitauon jälkeen puheina kuultiin SLA:sta ja kuinka sen mittaaminen serverless-aikakaudella on sinänsä hankalaa ja merkityksetöntä, seuraava puhe kertoi kuinka finanssiraporttejen käsittelyä oli toteutettu AWS:n lambdoissa ja viimeisenä puheena vielä kuulimme CI/CD aiheesta kuinka serverlessillä voi toteuttaa esimerkiksi erilaisia deploymettejä turvallisesti.

Lopussa vielä oli paneelikeskustelu jossa käsiteltiin mm. kannattaako serverless-maailmaan hypätä ja luoda sitä kautta vendor-lockia ja muita yleisiä kiintoisia aiheita.

Kokonaisuutena päivä oli varsin mielekiintoinen ja oli mukava päästä käymään. Toivon mukaan näitä tapahtumia tulisi useamminkin myös Helsinkiin ja toivottavasti myös serverlessiä pääseemme pian toteuttamaan laajamittaisemminkin. Uskon että suurimmat haasteet tällä hetkellä sen yleistymiselle on business-näkökulmat (totuttu vanhoihin toimiviin tapoihin) sekä tietenkin tekniset aspektit joka aiheuttaa oman mielentilan muutosta ohjelmoinnissa ja ilmenevien ongelmien ratkaisuissa.

Leave a Reply

Your email address will not be published. Required fields are marked *