Mikä ihmeen composable commerce?

Composable commerce on eräs verkkokauppa-alan kuumimpia keskustelunaiheita. Tässä artikkelissa pyrimme selittämään, mistä composable -ajattelussa on kyse yksinkertaisten käytännön esimerkkien avulla.

19.8.2022

Sami Mäkelä

Co-Founder, Head of tech

Composable commerce on eräs verkkokauppa-alan kuumimpia keskustelunaiheita. ICT-alan tutkimus- ja konsultointiyritys, Gartner on nostanut composable-ajattelun tärkeimmäksi yksittäiseksi kilpailuetua tuottavaksi asiaksi yritysten digitaalisessa strategiassa.

Gartnerin tutkimuksen mukaan organisaatiot jotka ovat ottaneet käyttöön composable commerce lähestymistavan 2023 mennessä, tulevat olemaan 80 prosenttia kilpailijoita nopeampia uusien ominaisuuksien käyttöönotossa.

Keskustelu aiheen tiimoilta keskittyy usein hyvin yksityiskohtaisiin teknisiin toteutuksiin ja abstrakteihin prosessikuvauksiin, mikä voi tuntua sekavalta. Tässä artikkelissa pyrimme selittämään, mistä composable -ajattelussa on kyse yksinkertaisten käytännön esimerkkien avulla.

Termit tutuiksi

Ennen kuin hyppäämme itse asiaan, käymme läpi muutaman termi, joita käytämme artikkelissa. 

Alla olevat määritelmät ovat yksinkertaistettuja ja ne on rajattu verkkokaupan kontekstiin. Valitettavasti osalle termeistä ei ole selkeää suomenkielistä vastinetta, joten käytämme niiden osalta selvyyden vuoksi englanninkielistä termiä.

Frontend

Frontend sisältää kaiken sen, mitä verkkokaupan asiakas näkee ja kaiken sen, jonka kanssa asiakas on suoraan vuorovaikutuksessa. Suomeksi saatetaan myös käyttää termiä esityskerros.

Backend

Backend sisältää kaiken sen, mikä ei kuulu frontend:iin. Suomeksi saatetaan käyttää myös termiä taustajärjestelmät.

Verkkokauppa-alusta

Verkkokauppa-alustalla tarkoitetaan järjestelmää, joka vastaa verkkokaupan perustoiminnoista. Suosittuja verkkokauppa-alustoja ovat muun muassa: Shopify, Magento, WooCommerce ja Salesforce Commerce Cloud.

Monoliittinen arkkitehtuuri

Monoliittisella arkkitehtuurilla viitataan toteutukseen, jossa sama järjestelmä vastaa sekä frontend- että backend-toteutuksesta.

Headless-arkkitehtuuri

Headless-arkkitehtuurin voidaan ajatella olevan monoliittisen ja composable -arkkitehtuurin välimuoto. Headless-arkkitehtuuri tarkoittaa frontend- ja backend-toteutuksen erottamista toisistaan. Käymme läpi headless-arkkitehtuuria tarkemmin tulevassa blogiartikkelissamme.

Composable commerce -arkkitehtuuri

Tämän artikkelin kontekstissa voit ajatella, että loppuun asti viety composable commerce -arkkitehtuuri on monoliittisen arkkitehtuurin vastakohta. Tämä on toki äärimmilleen viety yksinkertaistus, mutta sen tarkoitus on helpottaa hahmottamista.

Mitä tarkoittaa Composable Commerce?

Kuva: Monoliittinen-, headless- ja composable -arkkitehtuurin erot. Composable -toteutuksessa backend koostuu erillisistä mikropalveluista.

Verkkokaupan taustalla on usein verkkokauppa-alusta. Verkkokauppa-alustan toiminnot voidaan karkeasti jakaa ydin- ja tukitoimintoihin esimerkiksi seuraavasti:

Alustan ydintoimintoja ovat muun muassa:

  • Tuotetietojen ja inventaarion hallinta

  • Asiakastietojen hallinta ja käyttäjätilit

  • Tilausten ja toimitusten hallinta

  • Ostoskori

Tukitoimintoja ovat muun muassa:

  • Kampanjoiden ja alennusten hallinta

  • Tuotesuositukset ja ristiinmyynti (“saattaisit olla kiinnostunut myös näistä tuotteista”)

  • Tuotehaku

On olennaista huomioida, että yllä mainitut toiminnot voidaan kukin jakaa edelleen frontend- ja backend-toimintoihin. Esimerkiksi tuotehaun frontend-toiminnallisuuteen kuuluu  asiakkaalle esitettävä hakupalkki ja hakutulosten listausnäkymä. Backend-toteutukseen kuuluu vastaavasti esimerkiksi haettavaa dataa säilövä tietokanta ja hakutuloksien järjestämistä relevanssin perusteella varten luotu logiikka.

Aiemmin verkkokauppatoteutukset ovat perustuneet monoliittiseen arkkitehtuuriin. Kuten aiemmin määritimme, siinä frontend- ja backend-totetutukset ovat osa samaa järjestelmää. Tämän lisäksi monoliittisessa arkkitehtuurissa sama järjestelmä vastaa sekä verkkokaupan ydin- että tukitoiminnoista. Käytännössä se tarkoittaa, että yksi ja sama järjestelmä on vastuussa koko verkkokaupasta.

Termi composable commerce juontuu englannin kielen sanasta compose, jonka suomenkielisiä käännöksiä ovat muun muassa koostaa ja muodostaa. Composable commerce -arkkitehtuurissa on kyse eri osien koostamisesta yhdeksi toimivaksi kokonaisuudeksi.

Composable commerce -arkkitehtuuri on modulaarinen lähestymistapa, jossa yhden kaikkivaltiaan verkkokauppa-alustan sijaan käytetään pienempiä osia, joista koostetaan kokonaisuus.

Composable commerce -arkkitehtuurin teknisessä suunnitteluvaiheessa yksittäiset toiminnot (esim. tuotetietojen hallinta) käsitellään erikseen. Toimintojen lisäksi yleensä myös backend ja frontend erotetaan toisistaan. Kukin toiminto käydään erikseen läpi ja päätetään mikä järjestelmä tai palvelu olisi paras vastaamaan kustakin. Mikäli sopivaa valmista osaa ei löydy, sellainen voidaan rakentaa myös itse.

Perinteisessä verkkokaupassa eri toimintojen välinen kommunikointi on itsestäänselvyys, koska ne ovat kaikki osa samaa järjestelmää. Composable commerce -arkkitehtuurissa eri palvelut kommunikoivat keskenään rajapintojen (API) avulla. Monipuoliset ja modernit rajapinnat ovat onnistuneen composable-toteutuksen edellytys.

Molemmille lähestymistavoille on yhteistä se, että taustalla on usein verkkokauppa-alusta. Olennaisin ero on se, että composable commerce -arkkitehtuurissa verkkokauppa-alustan rooli on huomattavasti pienempi. Äärimmilleen vietynä composable-arkkitehtuurissa verkkokauppa-alusta voidaan poistaa kokonaan ja korvata ydintoiminnot erillisillä palasilla. 

Ensi askeleet kohti composable-arkkitehtuuria

Jotta termin composable commerce hahmottaminen olisi helpompaa, käymme seuraavaksi läpi hyvin yksinkertaisen ja täysin kuvitteellisen esimerkin ensi askeleista kohti tälläistä toteutusta.

Kuvitellaan, että verkkokaupalla on käytössä alusta X. Kuten moni muu laajasti käytetty verkkokauppa-alusta, myös alusta X on alunperin suunniteltu monoliittiseksi alustaksi. 

Useita monoliittiseksi suunnitteltuja alustoja voidaan hyödyntää myös composable commerce -arkkitehtuurissa. Olennaista on se, että alustan rinnalle otetut palvelut ja järjestelmät voivat kommunikoida alustan kanssa. Toisin sanoen, verkkokauppa-alustan rajapintojen on oltava riittävän laajoja ja moderneja, jotta tiedonkulku on mahdollista. 

Kyseinen verkkokauppa päättää kehittää kahta alla listattua asiaa:

  • Verkkokaupan saatavuuden lisäksi lisäksi halutaan näyttää reaaliaikainen saatavuus asiakasta lähimpänä olevasta myymälästä.

  • Tuotehausta halutaan nopea ja hakutulosten relevanssin tulee perustua asiakkaiden ostokäyttäytymiseen.

Monoliittisessa arkkitehtuurissa myymäläsaldojen näyttäminen verkkokaupassa edellyttäisi, että myymälöiden saldot tuodaan esimerkiksi toiminnanohjausjärjestelmästä ensin verkkokauppa-alustaan, jonka jälkeen tieto voidaan esittää (monoliittisen järjestelmän hallitsemassa) frontend:ssä. Sama tieto on tällöin tallennettu kahteen paikkaan. Jotta ylimääräiseltä pysäkiltä vältytään, päädytään eriyttämään frontend ja backend -toteutus toisistaan ja frontend toteutus rakennetaan niin, että se hakee reaaliaikaiset saldot suoraan toiminnanohjausjärjestelmästä.

Tuotehaun osalta päädytään käyttämään Algolia-palvelua, joka on erikoistunut nopeisiin ja älykkäisiin hakutoimintoihin. Koska päädyimme jo aiemmin eriyttämään frontend:n ja backend:n toisistaan on Algolian lisääminen osaksi frontend-toteutusta varsin yksinkertaista. 

Olemme nyt ottaneet ensimmäiset askeleet kohti composable commerce -arkkitehtuuria. Yksinkertaistettuna - mitä enemmän toimintoja siirretään kyseiseen toimintoon erikoistuneisiin erillisiin palveluihin tai järjelmiin, sitä kauemmaksi siirrytään monoliittisesta arkkitehtuurista. 

Composable commerce -ratkaisun hyödyt

Asiakas edellä, ei teknologia

Tyypillinen ongelma monoliittisen lähestymistavan kanssa on, että alusta rajoittaa käyttäkokemus- ja käyttöliittymäsuunnittelua. Toisin sanoen suunnittelua ei aloiteta puhtaalta pöydältä, vaan ensin joudutaan pohditaan, mihin käytössä oleva alusta pystyy. Tämä johtaa väkisinkin kompromisseihin ja rajoittaa luovuutta. Composable commerce -arkkitehtuurissa asiakaskokemus on kaiken keskiössä. Suunnitteluvaiheessa alustan rajoitteet unohdetaan ja asiakaskokemus suunnitellaan puhtaalta pöydältä. Vasta sen jälkeen pohditaan, taipuuko käytössä oleva alusta ratkaisuun. Mikäli ei, otetaan käyttöön kolmannen osapuolen palvelu tai rakennetaan räätälöity toteutus, joka liitetään osaksi kokonaisuutta.

Yhtenäisempi asiakaskokemus 

Yhtenäinen asiakaskokemus on koko composable-ajattelun tärkeimpiä hyötyjä asiakkaasi näkökulmasta. Tämän ajatuksen vieminen maaliin asti vaatii sen, että composable -ajattelu otetaan osaksi koko yrityksen digitaalista strategiaa. Jotta fyysinen ja digitaalinen asiakaskokemus saadaan lähelle toisiaan, järjestelmien tulee kommunikoida keskenään sujuvasti. Sujuva kommunikointi rajapintojen avulla on composable -ajattelun tärkeimpiä teknisiä kulmakiviä.

Joustavuus ja muokattavuus

Composable commerce -ajattelutavan ydin on joustavuus ja muokattavuus. Oikein toteutettuna composable commerce mahdollistaa uusien ominaisuuksien ja palveluiden testaamisen nopeasti. Mikäli homma ei toimi, voidaan kokeilla jotain muuta. 

Hajautettu riski

Composable commerce -lähestymistavassa hyödynnetään useita järjestelmiä ja palveluita yhden monoliittisen järjestelmän sijaan. Mikäli tiettyä toimintoa varten valittu palvelu ei enää vastaa tarvetta, se voidaan vaihtaa.

Saatat parhaimmillaan välttyä kalliilta alustanvaihtoprojektilta kokonaan. Yleinen ongelma verkkokaupassa on (varsinkin liiketoiminnan kasvaessa), että jossain vaiheessa valitsemasi alusta ei ehkä enää toimikaan halutulla tavalla, tai ei esimerkiksi skaalaudu liiketoimintasi nykyiseen kokoon. Tällöin tyypillinen ratkaisu on vaihtaa toiseen alustaan. Alustan vaihto saattaa kuitenkin olla pahimmillaan vuosia kestävä punnerrus. Composable -arkkitehtuurissa tältä voidaan välttyä, sillä vaikka alustaa vaihdettaisiin, muut toiminnallisuudet voivat edelleen olla käyttökelpoisia sellaisinaan (tai hyvin pienillä muutoksilla), koska ne eivät ole kiinteitä verkkokauppa-alustan osia. Jos verkkokaupassasi on esimerkiksi hyvin toteutettu frontend, se voidaan pitää käytössä, vaikka alusta vaihtuisikin.

Moderni teknologia auttaa rekrytoinnissa

Composable commerce pakottaa valitsemaan moderneja, rajapinnat edellä, suunniteltuja järjestelmiä ja palveluita. Tänä päivänä parhaat tekijät haluavat usein työskennellä modernien kokonaisuuksien kanssa. Jotta saat tiimiisi parhaat pelaajat, täytyy teknologiavalinnoissa soveltaa samaa periaatetta. 

Composable commerce -ratkaisun haasteet

Composable-arkkitehtuurin lukuisat hyödyt eivät toki tule aivan ilmaiseksi ja tälläkin kolikolla on kääntöpuolensa. Listasimme alle tärkeimmät composable-ajattelun haasteet.

Vaatii teknisiä resursseja

Composable commerce -ratkaisun toteuttaminen vaatii, että sinulla on teknisiä resursseja käytettävissä joko sisäisesti tai kumppanin kautta. Perinteinen verkkokauppa-alusta on tässä suhteessa paljon yksinkertaisempi toteuttaa ja ylläpitää. Käsittelemme composable commercen teknistä toteutusta tarkemmin tämän artikkelisarjan seuraavassa osassa.

Ei (yleensä) sovellu pienille verkkokaupoille

Pienemmillä verkkokaupoilla on usein rajallisemmat tekniset resurssit. Koska composable commerce -ratkaisun käyttöönotto ja ylläpito on vaativampaa, se ei välttämättä sovellu pienen verkkokaupan käyttöön. Joskus monoliittinen verkkokauppa-alusta ja hyvin valitut lisäosat hoitavat homman paremmin ja kustannustehokkaammin. 

On kuitenkin hyvä kiinnittää alustan valinnassa huomiota siihen, soveltuisiko aluksi monoliittisessa arkkitehtuurissa käytettävä alusta myöhemmin osaksi composable commerce -arkkitehtuuria. Tärkein yksittäinen tekijä on alustan tarjoamat rajapinnat. 

“Valmista kaavaa” ei ole

Composable commerce -ratkaisut ovat räätälöityjä. Ei siis ole olemassa mitään yksinkertaista sapluunaa, jonka pohjalta ratkaisu voidaan rakentaa. 

Vastuunjako voi olla hankalampaa

Composable commerce -ratkaisuja käytettäessä on varsinkin teknisen tuen näkökulmasta erittäin tärkeää sopia, kuka vastaa mistäkin.

Jähmeä hankintaprosessi voi lamauttaa kehityksen

Jos yrityksessä on erillinen hankintaosasto, voi kaikkien vaadittavien ratkaisujen ostaminen olla vaikeampaa, mikäli jokaisen ratkaisun osto vaatii pitkien hankintaprosessien läpikäymisen. Composable-arkkitehtuurissa hyödynnetään usein SaaS-palveluita, joiden palvelumaksut veloitetaan suoraan luottokortilta. Mkäli jokaisen pienenkin kuukausimaksun sisältävän palasen käyttöönotto edellyttää erillistä hankintapäätöstä, vesittyy koko ajatus joustavuudesta ja nopeudesta.

Lopuksi

Asiakkaasi vaatimukset muuttuvat ja kasvavat ennen näkemätöntä vauhtia. Verkkokaupoilta ja digitaalisilta myyntikanavilta odotetaan jatkuvasti enemmän ja parempaa. Tahti kiihtyy jatkuvasti. Perinteinen, monoliittinen, lähestymistapa voi johtaa siihen, että et pysy enää vauhdissa mukana - etumatkasta ja kilpailuedusta puhumattakaan.

Emme kuitenkaan halua väittää, että composable commerce -lähestymistapa on hopealuoti, joka ratkaisee kaikki monoliittisen lähestymistavan ongelmat.

Kuten artikkelissa sivuttiin, composable-ajattelua voidaan alkaa soveltaa pienin askelein. Isoin muutos täytyy tapahtua asenteessa ja ajattelutavassa. Jo tuotehaun “ulkoistaminen” voi olla ensimmäinen konkreettinen askel kohti composable -arkkitehtuuria.

Keskustelemme eri vaihtoehtojen ja lähestymistapojen hyödyistä ja haitoista mielellämme. Mikäli asiasta herää kysymyksiä olethan meihin yhteydessä.