Go to content

Magento som platform i en MACH-inspireret arkitektur

Denne artikel handler om Magento og Magento’s rolle i valget mellem suite, composable og mixed arkitektur.

Published februar 5, 2024

Vi får mange henvendelser fra virksomheder, der oplever, at deres ecommerce-platform begrænser deres muligheder for forretningsudvikling. De fortæller typisk om dårlig performance, lang implementeringstid for ændringer, lav fleksibilitet og skalerbarhed og høje omkostninger.

Hvis du også kender til disse udfordringer, så er denne artikel yderst relevant for dig.

Ofte viser det sig nemlig, at årsagen til problemerne er manglende strategi på platformen – eller at strategien simpelthen er fejlet eller blot ikke blevet fastholdt.

Hyppigst oplever vi, at virksomheden i opstarten har valgt en relativt standardiseret løsning. Med tiden er de så blevet fristet til løbende at tilpasse så store dele, at platformen er blevet dyr at vedligeholde og skalere til vækst.

Vi vil i denne artikel fortælle om, hvordan mange af vores kunder overvinder disse udfordringer ved at inkorporere det bedste fra de to verdener – den faste suite-løsning og en composable løsning.

3 typer strategier

Lad os indledningsvist kaste et blik på de tre overordnede kategorier, som vi kan dele strategierne ind i: suite, composable og midterbarnet kaldet mixed.

Tankegangen i suites er, at du igennem din licens køber mange features fra den samme udbyder, og at du vækster din forretning indenfor suitens rammer. Med denne løsning har du mulighed for at komme hurtigt i gang, og det kan være en fordel for dig, at ansvaret for sikkerhed, vedligehold og udvikling ligger hos suitens udbyder.

En standard suite kan eksempelvis være Shopify, og af enterprise-suites kan vi nævne HubSpot og Salesforce, som især har fokus på leadgenerering og avanceret marketing.

I den anden ende af skalaen ligger composable, som tager udgangspunkt i best of breed-tankegangen. Her vælger du ikke én komponent (udbyder) men en samling af komponenter, som integreres generisk, så de potentielt kan skiftes ud, hvis de ikke længere er tilfredsstillende.

Du kan med andre ord vælge netop de komponenter, der giver bedst mening for din virksomhed og skrue en skræddersyet løsning sammen.

Denne strategi er især relevant for komplekse enterprisevirksomheder, som ønsker stort ejerskab over deres løsning.

I denne artikel vil vi se på vores Magento-løsning som en populær mulighed indenfor mixed platforms. Vi viser dig, hvordan denne løsning kan være et pragmatisk alternativ til rendyrket composable og samtidig gøre brug af MACH-principperne.

Vores Magento-løsning henvender sig til mellemstore og store virksomheder, som har en vis kompleksitet i deres forretning (fx omkring deres sortiment) og som ønsker et stort ejerskab over deres løsning.

MACH – M for Microservices

Microservices er den første hjørnesten i MACH. Konceptet er opstået som et alternativ til den traditionelle monolit (én samlet kodebase).

Det forholder sig nemlig sådan, at når en kodebase får en vis anciennitet og kompleksitet, så stiger risikoen eksponentielt.

Kompleksiteten gør, at det bliver meget dyrt at lave selv små ændringer, fordi det er svært at gennemskue, hvor rettelsen skal laves og hvilken indflydelse, den har på resten af kodebasen.

Dette afføder en høj frekvens af fejl, releasefrygt og en stor afhængighed til enkeltpersoner på teamet.

Som alternativ begyndte man derfor at lægge funktioner ud i mindre selvstændige kodebaser, som kan vedligeholdes individuelt. Dette giver en større infrastruktur med krav til ressourcer og sikkerhed men samtidig også en skalerbarhed, agilitet og fremtidssikring, som er eftertragtet.

Når vi udvikler Magento-løsninger, har vi stort fokus på performance og fremtidssikring. Derfor rådgiver vi vores kunder til at holde selve Magento relativt standardiseret og lægge større kundetilpassede funktioner i microservices udenfor Magento.

Dette gør, at Magento ikke sander til i tunge processer, som suger kræfterne ud af platformen, og det holder udgifterne til Magento-opgraderinger nede. Samtidig mindsker det risikoen, da vi kan deploye ny kode til en microservice uden at påvirke selve webshoppen.

En microservice, som vi altid anbefaler vores kunder, er vores generiske data-importer, som kan hente produktdata fra enhver kilde, konsolidere det og levere det effektivt ind til shoppens produktkatalog.

Servicen håndterer kategorier, produkter, lagertal, priser, relaterede produkter osv.

Derudover har vi bl.a. bygget microservices til automatiske prisreguleringer, optimering af logistikkapacitet og fingranuleret ordreindsigt for kunderne.

MACH – A for API first

Et API (Application Programming Interface) er et koncept for, hvordan data kan udveksles mellem forskellige systemer (komponenter).

Hvis du sætter dine komponenter konstruktivt sammen med API’er, kan du opnå en composable arkitektur, hvor du kan skifte komponenter ud, når de ikke længere er tilfredsstillende – også kendt som best of breed-konceptet.

Dette kan være en virkelig sund tilgang til it-arkitektur, hvor man holder sine muligheder åbne og ikke låser sig til specifikke leverandører.

API first er skridtet videre. Her indgår man som det første “kontrakter” for dataudvekslingerne, da det er fundamentet for den funktionalitet, der skal opnås.

Dette svarer lidt til den bevægelse, som vi så for nogle år tilbage, hvor man gik fra “mobile” som en feature og over til det grundlæggende designkoncept “mobile first”.

Magento 2 er ikke API first, da det kommer med et prædefineret API. Dette bruger vi til let og hurtigt at lave integrationer til de services, som skal supplere Magento-shoppen.

For Novicells projekter gælder det ofte vores dataservice, som vi bruger til at hente produktinformationer fra fx ERP- og PIM-systemer og levere dem via API’et til Magento-kataloget. Det gælder også for vores integration til Algolia, som sikrer, at vi kan levere absurd hurtige søgeresultater og produktanbefalinger til brugerne og samtidigt aflaste Magento-ressourcerne.

Ifølge Gartners “Magic Quadrant” er Magento 2 med helt i toppen af de mest udbredte ecommerce-systemer. Det afspejler sig blandt andet i, at der er mange udbydere af extensions, som kan give dig et forspring i udviklingen af features i Magento og i integration med andre systemer.

Lige nu er der over 4000 ekstensions til Magento 2 community edition på Adobe marketplace. Det er eksempelvis standardintegrationer til tredjepartssystemer indenfor betaling, forsendelse, marketing og rapportering.

MACH – C for Cloud native SaaS

De fleste af vores løsninger udvikler vi i den licensfrie Magento community edition (open source), som man kan vælge at hoste traditionelt on premise eller som cloud.

Som udgangspunkt hoster vi løsningerne hos Amazon Web Services i deres såkaldte Serverless setup. Dette gør vi for at komme så tæt på SaaS-konceptet som muligt, hvor hosting og oppetid ikke skal være en daglig udfordring, men noget der blot understøtter den videre udvikling.

Serverless skal ikke tages helt bogstaveligt, men er et udtryk for, at Amazon Web Services (AWS) står for al det basale vedligehold af serverne. Dette har resulteret i nogle imponerende oppetidsstatistikker for vores Magento-løsninger og god ro i maven igennem peak hours.

Det er også i vores AWS setup, at vi hoster vores microservices. De ligger altså i samme infrastruktur som Magento-shoppen, men i separate containere, som er uafhængige af hinanden og som automatisk skalerer op og ned efter individuelle regelsæt.

Det betyder, at du får en fremragende performance samtidig med, at udgiften til hosting bliver holdt på et overkommeligt niveau, da du kun betaler for aktivt efterspurgte ressourcer.

MACH – H for Headless

Headless-konceptet handler om at splitte hovedet fra kroppen - men bare rolig, det er ikke nær så blodigt, som det lyder.

Traditionelt har man haft backend- og frontendkoden i samme kodebase, da du dermed hurtigt kan komme i gang med et standard frontendtema.

Hen ad vejen oplever mange dog udfordringer, fordi det er svært at tilpasse og optimere standardtemaer, der ofte er tunge at arbejde med.

Hvis du har en ambition om at lave dedikerede løsninger for brugerne på meget forskellige devices eller med meget forskellige brugerrejser, så er headless den rigtige vej. Her er der nemlig mulighed for høj performance og mere frihed fra de underliggende systemer.

Magento har i lang tid været belastet af en tung og rigid standardfrontend baseret på en gammel teknologi. For at imødekomme behovet for en mere moderne frontend er Magento nu forberedt med et API, som de nye frontends (heads) skal bruge, når der laves headless.

Selve frontenden bygges ofte kundetilpasset. Så Magento 2 er altså forberedt til headless, men det kommer med en ret høj pris og time to market.

Hvis headless lyder blodigt, så er Hyvä en seriøs pain killer. Hyvä er et nyt frontendtema til Magento 2, som er ekstemt eftertragtet, fordi det erstatter det tunge standardtema, med moderne, fleksibel og lynhurtig frontendteknologi.

Tilpasninger, responsiveness, pagespeed og selvfølgelig vedligehold bliver nu markant lettere for dem, der håndterer det rigtigt. Hos Novicell er vi stolte af, at vi som de eneste i Skandinavien er Hyvä contributor, og vi ser så gode resultater på vores projekter, at alle vores Magento-kunder efterhånden har valgt denne løsning.

Konklusion

Alle virksomheder er forskellige. Det vigtigste er at finde den rette strategi, udnytte de muligheder, den giver, og ikke mindst fastholde den.

At turde sige nej til nogle muligheder, hvis det på den lange bane udfordrer strategien. Du skal sætte tid af til at evaluere din arkitektur, før den sander til og bliver et risikofyldt cost center i stedet for en forretningsmæssig løftestang. Det er vigtigt at undgå “køb for tre år og start forfra igen"-tendensen men derimod vælge en arkitektur, som du kan se din virksomhed i for mange år.

Fordelen ved Magento 2 sammenlignet med suite-løsninger er, at du med open source får fuldt ejerskab og dermed frihed til at tilpasse løsningen til din forretning. Bagsiden af frihed hedder ansvar, og i dette tilfælde er ansvaret blandt andet at hoste og opgradere Magento-løsningen. Friheden er selvsagt ikke lige så stor som ved fuld composable/MACH, men til gengæld er kravene også væsentligt lavere. Magento 2 er en mixed solution, som for mange projekter vil ligge i et pragmatisk sweet spot mellem suite og composable.

I vores Magento-team har vi de nødvendige kompetencer og erfaringen til at håndtere selv de mest komplicerede udfordringer.

Tag endelig kontakt til os og få en snak om hvordan vi kan hjælpe jer til at opnå en langsigtet ecommerce-løsning