Tämän vuoden AWS re:Invent -tapahtuma järjestettiin 28.11. - 2.12. Las Vegasissa. Osallistuin tapahtumaan keskittyen software as a service (SaaS) -aiheisiin esityksiin ja työpajoihin sekä tapaamalla AWS:n SaaS Factory -tiimin jäseniä. Tämä oli tehtäväni, sillä yrityksemme intohimona on rakentaa asiakkaillemme yhä enemmän ja parempia SaaS -palveluita, mihin liittyen Skillwell on myös valittu mukaan AWS:n SaaS Factory -kehitysohjelmaan.
Tapahtuman esityksistä riittää tarkempaa kerrottavaa useisiin kirjoituksiin, mutta pyrin tässä tekstissä ensin tiivistämään kokonaiskuvaa siitä, mitä asioita AWS pitää oleellisina SaaS-palveluiden kehittämisessä sekä SaaS-liiketoiminnassa.
SaaS on liiketoimintamalli
AWS:n SaaS Factory -tiimin englanninkielisessä kiteytyksessä software as a service (SaaS) on ensinnäkin liiketoimintamalli sekä ohjelmiston toimitusmalli.
Software as a service (SaaS) is a business and software delivery model that enables organizations to offer their solution in a low-friction, servicecentric approach at scale. The SaaS model relies on agility and operational efficiency as pillars of a business strategy that promotes growth, reach, and innovation.
Käymissäni esityksissä ja Chalk Talk -keskusteluissa nämä yllä olevan kiteytyksen avainasiat muodostivat sen kontekstin, jonka erityispiirteitä ja teknisiä toteutusten yksityiskohtia käytiin tarkemmin lävitse. Lisäksi koin että esitysten jälkeen oli yllättävän paljon keskusteluita, missä perinteisemmällä ohjelmistojen tuotetarjonnalla vielä nykyisin toimivat yritykset hakivat tukea ja informaatiota muuttaakseen liiketoimintaansa ja tuotteensa tarjontaa SaaS-palveluksi.
Asiakaskohtaisuus yhteisesti
Omasta mielestäni SaaS-palveluiden keskeisin käsite on englanniksi tenant, joka on hankala kääntää suomeksi. Kyseessä on palvelun käyttöönsä ottanut asiakas, usein jokin organisaatio, jonka tietoja palvelussa käsitellään. Yksi re:Inventin esityksissä korostunut asia oli se, että SaaS-palvelussa kaikilla asiakkailla tulisi olla käytössä sama versio, eikä räätälöityjä asiakaskohtaisia sovellusversioita ole. Tämä ei tarkoita, etteikö SaaS-palvelussa voi olla eri asiakkailla toisistaan poikkeavia ominaisuuksia, vaan ainoastaan sitä, ettei tätä pidä toteuttaa eri sovellusversioina. Kaksi esityksissä suositeltua toteutustapaa ovat ominaisuusliput (feature flags) ja sisäisesti tai kumppaneiden toimesta toteutetut laajennukset (extensions).
Yhteiset ja omat resurssit
Merkittävä motivaatio SaaS-liiketoimintamalliin siirtymisessä on mahdollisuus tarjota palvelua yhteisistä resursseista kaikille palvelun asiakkaille. AWS re:Inventin SaaS-esityksissä korostettiin ensinnäkin sitä, ettei SaaS välttämättä tarkoita resurssien jakamista. Lisäksi resurssien jakamisessa on paljon erilaisia mahdollisuuksia, kuten esimerkiksi asiakkaan palvelutason perusteella tehtävä tietyn kuormittuvan osan erottaminen asiakaskohtaiseksi, muiden resurssien ollessa yhteisiä.
Ohjauskeskus
Asia, jota re:Invent -tapahtuman SaaS-esityksissä korostettiin eniten on se, että SaaS-palveluiden menestyksekkääseen kehittämiseen ja operointiin tarvitaan varsinaisen SaaS-sovelluksen (Application plane) rinnalle niin kutsuttu ohjauskeskus (Control plane).
Tämä ohjauskeskus sisältää asiakaskohtaisia toimintoja mm. käyttöönottoon, palvelutason vaihtamiseen tai laskutukseen liittyen sekä tietoa palvelun ominaisuuksien ja resurssien käytöstä asiakaskohtaisesti. AWS SaaS Factory -tiimi on toteuttanut ohjauskeskuksesta referenssitoteutuksen nimeltään SaaS Boost.
Onnistunut migraatio SaaS-palveluksi
Yksi re:Inventin SaaS-esityksistä esitteli tavan muuntaa vanha asiakaskohtaisesti erikseen asennettava palvelu SaaS-palveluksi rakentamalla ensin edellä mainitun kontrollitason ja mahdollistamalla palvelun asiakaskohtaisen asennuksen niin kutsutulla siilo-mallilla. Jos tätä verrataan toiseen tapaan, missä vanha palvelu korvataan kokonaan tyhjältä pöydältä rakennettavalla uudella SaaS-palvelulla, niin tässä esitellyssä tavassa on huomattavasti lyhyempi aika siihen, että SaaS-palvelu on toiminnassa ja siitä saadaan oikeaa kokemusta. Hyvin tehtynä kehitystyötä yhteisresursseja ym. kohti voidaan tämän jälkeen tehdä mikropalvelukohtaisesti.
Uusi palvelu käyttöoikeuksien hallinnointiin
AWS re:Inventissä tehtiin taas kymmeniä julkistuksia uusista palveluista tai merkittävistä ominaisuuksista. SaaS-palveluiden näkökulmasta yksi mielenkiintoisimmista uusista palveluista on vielä esittelytasolla julkaistu Amazon Verified Permissions. Kyseessä on uusi palvelu, jota voidaan käyttää sovelluksen sisäisiin käyttöoikeustarpeisiin.
Yhteenveto
Matka Las Vegasiin on pitkä ja liikkuminen omassa tapauksessani viidessä eri konferenssikeskuksessa pidetyissä esityksissä oli ainakin jalkoja väsyttävää. Reissun anti oli kuitenkin innostava ja arvokas. AWS:n näkemys SaaS-palveluiden kehittämisestä ja operoinnista vastaa omaa ajatteluamme ja siten tämä vahvisti käsitystä, että suuntamme oikea.
Jos haluat kuulla lisää SaaS palveluiden suunnittelusta ja toteutuksesta niin voit olla yhteydessä Jari Ikävalkoon tai Harri Ilvoseen.
Vastaamme mielellämme kysymyksiisi.
Harri Ilvonen harri.ilvonen@skillwell.fi +358 400 830 660
Jari Ikävalko jari.ikavalko@skillwell.fi +358 50 386 5590