SaaS Ohjauskeskus - SaaS Control plane

Puoli vuotta sitten kirjoitin, että AWS re:Invent -tapahtuman SaaS-aiheisissa esityksissä korostettiin varsinaisen SaaS-sovelluksen (Application plane) rinnalle tarvittavan niin kutsutun ohjauskeskuksen (Control plane).
Koska yrityksemme intohimona on rakentaa asiakkaillemme menestyviä SaaS-palveluita ja kuulumme AWS:n SaaS Factory -kehitysohjelmaan, olemme jo pidemmän aikaa syventyneet tähän ohjauskeskuksen tarpeeseen.
Tässä kirjoituksessa avaan omaa näkemystämme ja toteutustamme SaaS-ohjauskeskuksesta, sekä miten se eroaa AWS:n omasta referenssitoteutuksesta nimeltä SaaS Boost.
Control plane -ohjauskeskus lyhyesti
Control plane -ohjauskeskus on tarkoitettu SaaS-palvelun operointiin. Yleisesti sen tehtäviin kuuluu esimerkiksi seuraavanlaisia asioita:
1. Auttaa uuden asiakkaan tarvitseman ympäristön/resurssien pystytyksessä
2. Auttaa asiakkaan SaaS-palvelun palvelutason muutoksessa (vaikka Bronze-tasolta Silver-tasolle)
3. Kerätä metriikkatietoa palvelun resurssien käytöstä asiakaskohtaisesti
4. Kerätä liiketoiminnan ja palvelun kehittämisen kannalta oleellista käyttötietoa asiakaskohtaisesti
5. Kerätä laskutukseen tarvittavaa käyttötietoa asiakaskohtaisesti
6. Mahdollistaa SaaS-palvelun operoijalle monipuolinen näkyvyys oleellisiin palvelusta kerättyihin tietoihin
Eli ohjauskeskuksen toiminnot ovat varsinaisen SaaS-palvelun omista toiminnoista irrallisia, tavallaan korkeamman operointitason toiminnallisuuksia. Se on SaaS-palvelun rinnalla toimiva erillinen kokonaisuus, joka toimii yhteistyössä varsinaisen SaaS-palvelun kanssa.
AWS SaaS Boost
AWS SaaS Boost on avoimen lähdekoodin referenssitoteutus SaaS-palveluiden Control Plane -ohjauskeskuksesta. Olemme tutkineet sitä paljon ja tehneet seuraavia päätelmiä:
1. Sen käyttö vaatii SaaS-palvelun arkkitehtuurin perustumista Docker -kontteihin.
2. Merkittävä osa sen käyttötarkoitusta on olemassa olevien sovellusten migraatio kohti kontteihin perustuvaa arkkitehtuuria olevaa SaaS-palvelua.
3. Sen keräämät metriikat sekä niihin perustuvat raportit ja näkymät ovat hyvin teknisiä, keskittyen pitkälti prosessori- ja muistikuormiin tai API-endpointtien kutsumääriin.
Näistä syistä johtuen tulimme nopeasti siihen tulokseen, että haluamme toteuttaa oman, erilaisen versiomme SaaS-palveluiden ohjauskeskuksesta.
Näkemyksemme SaaS-ohjauskeskuksesta
Omaa näkemystämme varten olemme tehneet paljon tutkimusta ja kokeiluja sekä haastatelleet SaaS -alueen asiakkaita. Näiden lopputulemana olemme muodostaneet seuraavia ylätason päätelmiä:
- Kaikki SaaS-palvelut hyötyvät niiden rinnalla käytettävästä Control Plane -ohjauskeskuksesta ja siksi SaaS-ohjauskeskuksen tulee sopia erilaisilla arkkitehtuureilla toteutetuille SaaS-palveluille.
- Ohjauskeskuksen on pystyttävä keräämään ja hyödyntämään laajasti erilaisia SaaS-liiketoiminnan ja sen kehittämisen kannalta tärkeitä tietoja SaaS-palvelun puolelta. Näiden tietojen keräystapojen ja -formaatin on sovittava erilaisille SaaS-arkkitehtuureille ja -palveluille.
- Sekä uusien SaaS-asiakkaiden käyttöönoton että palvelutason muutoksen on voitava toteuttaa ohjauskeskuksen kautta. Tietenkään erilaisiin SaaS-arkkitehtuureihin soveltuva ohjauskeskus ei voi tehdä esimerkiksi mahdollisia asiakaskohtaisia resurssimuutoksia SaaS-palvelun puolesta, mutta tutkimustemme ja havaintojemme perusteella siitä on paljon hyötyä, että nämä prosessit käynnistetään ja niitä kontrolloidaan ohjauskeskuksen kautta.
- Ohjauskeskuksen on myös mahdollistettava SaaS-palveluun ominaisuuksia ja laajennusmahdollisuuksia, jotka esimerkiksi palvelun oman arkkitehtuurin vuoksi on muuten hankala toteuttaa.
- SaaS-palveluilla voi olla liitännäisyyksiä, joiden vuoksi yhdellä ohjauskeskuksella on tarve ohjata ja seurata useamman SaaS-palvelun toimintaa. Siksi SaaS-ohjauskeskuksen tulisi pystyä tarvittaessa toimimaan yhtä aikaa useamman SaaS-palvelun rinnalla.
Universal SaaS Control Plane
Viime kuukausien aikana oma näkemyksemme SaaS-ohjauskeskuksesta on alkanut muodostumaan myös konkreettiseksi tuotteeksi. Nimeksi olemme sille antaneet Universal SaaS Control Plane, joka mielestäni kuvaa hyvin niitä tavoitteita joita näkemykseemme kuuluu.
AWS-kumppanina toteutamme SaaS-ohjauskeskuksemme tietysti AWS-palveluita monipuolisesti hyödyntäen. Kerron teknisemmistä yksityiskohdista myöhemmissä kirjoituksissa, mutta kyseessä on palveliton kokonaisuus joka on mahdollista asentaa asiakkaan AWS-tilille.
Jos olet kiinnostunut osallistumaan mukaan Universal SaaS Control Plane -ohjauskeskuksemme kehittämiseen ja pilotointiin, niin pyydämme olemaan yhteydessä.
Uskomme että Universal SaaS Control Plane tarjoaa innovatiivisen ja räätälöitävän lähestymistavan SaaS-palveluiden ohjauskeskuksiin. Olemme innolla odottaneet tämän ratkaisun kehitystä ja odotamme innolla yhteistyötä kanssanne.
Jari Ikävalko
jari.ikavalko@skillwell.fi
+358 50 386 5590