Migreren naar Sitecore XM Cloud: De stap naar een Composable DXP

Datum
7 juni 2024

XM Cloud is het CMS van het nieuwe Composable DXP van Sitecore. Het is een verdere ontwikkeling van hun oorspronkelijke CMS, maar verpakt en onderhouden op een compleet andere manier. Het is SaaS, eenvoudiger om te onderhouden, sneller en gemakkelijker om op te ontwikkelen, veel gemakkelijker om mee te werken voor content editors, maar nog steeds even krachtig en veelzijdig als voorheen. Dus wanneer je een nieuwe Sitecore implementatie start, is de keuze voor XM Cloud boven het oorspronkelijke Platform DXP een no-brainer.

Maar hoe zit het met het migreren van je bestaande implementatie naar XM Cloud? Er is geen vastgelegd upgrade-pad en je startpositie heeft grote invloed op de gewenste route die je neemt, maar ook op de zakelijke overwegingen achter zo’n migratie. In dit artikel zal ik mijn visie delen over de belangrijke verschillen, uitdagingen, voordelen, aandachtspunten, mogelijke benaderingen voor een migratieroute en alles wat je wilt weten en overwegen voordat je aan deze reis begint.

Cloud _ Infrastructuur | iO

1. Wat maakt XM Cloud anders dan Platform DXP?

1.1 Van monoliet naar best-of-breed 
Platform DXP, voorheen bekend als het Sitecore Experience Platform, is het oorspronkelijke alles-in-één Sitecore-product. Het heeft een monolithisch ontwerp en is daardoor minder flexibel in het selecteren van de ideale subcomponenten voor jouw gebruikssituatie. Bovendien is het veeleisender bij het upgraden naar een nieuwere versie vanwege alle implementatie-specifieke aanpassingen die erin zijn opgenomen. Maar deze alles-in-één benadering betekent ook dat het naast de CMS-functionaliteiten alle DXP-functionaliteiten biedt, zoals e-mailcampagnemanagement en een marketing suite met profiling, personalisatie en A/B testen. 

Dit product is nog steeds beschikbaar, wordt nog steeds ondersteund en onderhouden, en wordt nog steeds veel gebruikt. Maar het is logisch dat Sitecore naast Platform DXP ook een Composable DXP aanbiedt, vooral omdat het gebruik van onderhoudsvriendelijke SaaS-bouwstenen veel snellere ontwikkeling mogelijk maakt en de flexibiliteit biedt om je productstack aan te passen aan de steeds kortere innovatiecycli die we tegenwoordig zien.  

Sitecore XM Cloud is het CMS-product binnen het Composable DXP aanbod. En hoewel het minder functionaliteit biedt dan Platform DXP, wordt deze beperking ruimschoots gecompenseerd door de verbeterde flexibiliteit, integratiemogelijkheden en Developer Experience. En het gaat zelfs nog verder, omdat XM Cloud zelfs basisfunctionaliteit voor personalisatie en zeer nuttige ingebouwde analyses biedt! 

1.2 Moeiteloos nieuwe pagina’s bouwen met Sitecore Pages 
Naast de betere architectuur en verschillen in functionaliteit, biedt XM Cloud ook een volledig vernieuwde in-page bewerkingservaring: Sitecore Pages. Deze nieuwe tool voor redacteuren en marketeers is gebruiksvriendelijker dan de oorspronkelijke Experience Editor, is aanzienlijk sneller, maar introduceert ook een nieuw concept: componenten - samen met de Component Builder.  

Door gebruik te maken van Page Designs en Components als bouwstenen, kun je moeiteloos nieuwe pagina's binnen je site bouwen en zelfs volledig nieuwe componenten toevoegen met behulp van de Component Builder, zonder dat je iets hoeft te ontwikkelen of ook maar een regel code hoeft te schrijven!  

Het biedt ook de mogelijkheid om te schakelen tussen meerdere thema's en componentvariaties en het bevat een wizard voor het maken van een site, waardoor het gemak voor content editors naar nieuwe hoogten wordt gebracht. Deze aanzienlijk verbeterde bewerkingservaring op zichzelf is al een reden om te overwegen om over te stappen naar XM Cloud. De meeste andere motieven zijn van technische aard of hebben betrekking op het budget, maar dit is het belangrijkste voordeel voor iedereen die dagelijks met Sitecore werkt als CMS. 

1.3 Een SaaS oplossing met PaaS flexibiliteit
Waar Platform DXP zowel on-premises als op PaaS-architecturen zoals Azure Web Apps en SQL PaaS-databases kon worden gehost, is XM Cloud alleen beschikbaar als SaaS-oplossing. Hoewel typische SaaS-producten je toegang bieden tot een gedeelde omgeving, stelt XM Cloud je nog steeds in staat (of vereist het zelfs) om je eigen instantie binnen Sitecore's SaaS-omgeving op te zetten. Het geeft je de mogelijkheid om kleine aanpassingen te implementeren, samen met je eigen aangepaste front-end. Maar vanaf dat punt onderhoudt Sitecore de omgeving en zorgt het voor de noodzakelijke opschaling, (infrastructuur)onderhoud en reguliere updates. En je ontwikkelomgeving op basis van Docker-containerimages wordt parallel bijgewerkt.  

Op deze manier profiteer je van alle voordelen van SaaS, maar met de flexibiliteit van PaaS-architecturen. Dit verbetert echt de gehele ontwikkelervaring en maakt het opzetten van een nieuwe Sitecore-omgeving veel eenvoudiger.  

Wees echter voorzichtig, want je wilt de mogelijkheid om aanpassingen door te voeren niet te veel gebruiken: streef ernaar om de Sitecore-implementatie zo standaard mogelijk te houden! Ik zal je later laten zien hoe en waarom. 

1.4 Composable implementatiearchitectuur voor verbeterde standaardisatie, scheiding van verantwoordelijkheden en toekomstbestendigheid  
Met XM Cloud verandert ook de applicatiearchitectuur van je implementatie. Je bouwt er niet meer bovenop, maar ernaast. Maar wat betekent dit?  

De traditionele rol van CMS’en in website-implementaties 
Jarenlang werden CMS’en (niet alleen Sitecore) gezien als het fundament om een website-implementatie op te bouwen. Voor het headless tijdperk was dit noodzakelijk omdat het renderen werd gedaan door het CMS (bijvoorbeeld met behulp van MVC in .NET). Daarnaast bood Sitecore veel mogelijkheden om in te haken op de kernprocessen van het CMS: inhaken op events, render pipelinges wijzigen, en de UI of specifiek gedrag van het CMS aanpassen in bepaalde scenario’s. Deze eindeloze mogelijkheden leidden tot sterk aangepaste implementaties die sterk gekoppeld waren aan de code en installatie van het CMS zelf. Dit maakt een upgrade naar een nieuwere versie uitdagend, omdat je de standaard Sitecore-code en -configuratie moet scheiden van aangepaste code en configuratie om de vanille-installatie van Sitecore te kunnen updaten naar een nieuwere versie. 

Een typische monolithische CMS-implementatie met geïntegreerde integraties in één implementatie.
Migrating to Sitecore XM Cloud

De verschuiving naar een gedecentraliseerde architectuur en de voordelen ervan 
Bij de introductie van de headless mogelijkheid met Sitecore JSS, werd de mogelijkheid gecreëerd om de front-end volledig te scheiden van het CMS - zowel op het gebied van architectuur als infrastructuur - waardoor er een duidelijke scheiding ontstond tussen de CMS-implementatie zelf en de op JavaScript gebaseerde front-end.  

Toch bleef de gewoonte van aanpassingen maken bestaan. Bijvoorbeeld met aangepaste content resolvers in Sitecore om de output die naar de front-end wordt gestuurd te wijzigen. Voor deze aangepaste content resolvers moest een aangepaste implementatieoplossing op de Sitecore-instantie worden uitgerold, waardoor het toevoegen van extra functionaliteit aan de Sitecore-installatie de standaard werd; soms zelfs functionaliteit die niet gerelateerd was aan Sitecore, zoals integraties met externe software. 

Een headless implementatie met een losgekoppelde front-end, maar dezelfde monolithische back-end.
Migrating to Sitecore XM Cloud

“Als een Composable-architectuur is XM Cloud de volgende stap vooruit vanaf headless, en biedt het een efficiëntere, schaalbaardere en gemakkelijker te onderhouden architectuur, wat leidt tot een verbeterde toekomstbestendigheid, flexibiliteit en productiviteit.”

Het belang van standaardisatie en scheiding van verantwoordelijkheden met XM Cloud 
Met XM Cloud heeft Sitecore een duidelijke boodschap afgegeven: "Als een SaaS- en Cloud-native product zullen we je Sitecore CMS-implementatie up-to-date houden en de schaalbaarheid en infrastructuur beheren, zolang je de Sitecore-implementatie standaard houdt. 

Door het MACH-principe te volgen om de onderhoudbaarheid en flexibiliteit te maximaliseren, is de scheiding van verantwoordelijkheden erg belangrijk. Daarom raad ik ten zeerste aan om je Sitecore-implementatie zo standaard mogelijk te houden door aanpassingen en integraties naar aparte microservices te brengen. En dat is wat ik bedoel met het bouwen naast de bestaande infrastructuur in plaats van er bovenop.  

Je CMS-instantie vormt niet de basis van je webproject, het is slechts één van de databronnen en één van de tools om je website te onderhouden. Splits je front-end (door headless te gaan), maar scheid ook eventuele bedrijfslogica ervan in microservices. En door de zaken standaard te houden, zoals het weglaten van aangepaste contentresolvers, verbeter je aanzienlijk de onderhoudbaarheid van je webplatform-architectuur en maak je eenvoudige en vlekkeloze automatische upgrades in de toekomst mogelijk. 

Een echte Composable CMS-implementatie met een headless front-end en alle integraties gescheiden in verschillende microservices, waarbij alle integraties naar de front-end zijn verplaatst en het CMS wordt behandeld als één van de databronnen van externe data.
Migrating to Sitecore XM Cloud

1.5 Vergelijkingstabel van DXP functionaliteit 
Zoals ik eerder al aangaf, is XM Cloud een meer gericht product dat minder functionaliteit biedt dan Platform DXP. XM Cloud maakt echter deel uit van het nieuwe Composable DXP van Sitecore, dat bestaat uit meerdere producten die dezelfde principes volgen als XM Cloud: SaaS en best-of-breed, met een sterke nadruk op integratie. In de onderstaande tabel kun je zien welk product overeenkomt met welke functionaliteit binnen Platform DXP. 

Migrating to Sitecore XM Cloud

Als voorbereiding op de migratie naar XM Cloud is het een goede start om in kaart te brengen welke functies je momenteel gebruikt binnen Platform DXP, aangezien dit sterke invloed heeft op je vereiste of gewenste upgrade pad. XM Cloud ondersteunt basispersonalisatie en -analyse, maar als je geavanceerdere personalisatie wilt gebruiken, zoals cross-session personalisatie of aangepaste personalisatieregels, dan wil je Sitecore Personalize toevoegen aan je Composable stack. Met het aanvullende Sitecore CDP (Customer Data Platform) kun je aangepaste gebruikersprofielen maken, persona's op je website instellen en analyseren, en diepgaande inzichten krijgen in het gedrag van je bezoekers. 

Als je huidige Sitecore-implementatie aangepaste zoekfunctionaliteit bevat op basis van de (Solr) indexes die op je Sitecore-instantie draaien, moet je een alternatieve oplossing vinden. Hoewel XM Cloud intern wel Solr gebruikt, staat de architectuur niet langer toe dat je jouw eigen indexes gebruikt om specifieke inhoud te doorzoeken. Waarom? Omdat de architectuur nu de Sitecore-instantie die inhoud publiceert naar de Edge (een CDN die voor Sitecore draait) scheidt van de headless front-end-implementatie in een JavaScript-framework zoals Next.js. Dit betekent dat er geen manier is om toegang te krijgen tot de indexes achter de Sitecore-instantie vanuit je front-end-implementatie. Alle requests lopen via GraphQL-query’s.  

Eén van de beste en eenvoudigste manieren om content te doorzoeken, terwijl je ook waardevolle inzichten kunt krijgen in het zoekgedrag van je bezoekers, is door Sitecore Search toe te voegen aan je Composable stack. Dit product draait zelfstandig en kan zelfs op Platform DXP draaien om een gemakkelijke overgang mogelijk te maken (daar komen we later op terug!). 

Sitecore EXM (Email Experience Manager) is ook niet compatibel met XM Cloud, dus voor het beheer van e-mailcampagnes kun je kiezen voor Sitecore Send. 

Tenslotte, als je nog geen gebruik maakt van JSS in je Platform DXP, maar klassieke MVC-renderings gebruikt, zul je jouw front-end opnieuw moeten opbouwen met JSS en (bijvoorbeeld) Next.js. Voor de meeste bestaande Sitecore-implementaties heeft deze verandering de grootste impact op planning en strategie. Als je toch al van plan was om je front-end te moderniseren, is het een goed idee om deze twee innovaties te combineren. Bouw een nieuwe headless front-end direct op XM Cloud, terwijl je jouw content data templates en content items migreert van je bestaande implementatie naar XM Cloud. 

2. Migratie roadmap: naar XM Cloud in vier fases 

Zoals aangegeven, bepaalt je huidige implementatie hoe je migratiepad eruit zal zien. Als je veel gebruik maakt van XP-functionaliteit, moet je dat er eerst uithalen. En vanuit een Composable oogpunt is het perfect mogelijk om dat te doen binnen je huidige implementatie voordat je daadwerkelijk met de migratie zelf begint. Over het algemeen kunnen we een typisch migratieproject in vier fasen verdelen:

Migrating to Sitecore XM Cloud

2.1 Stap 1: Beoordeling van aanpassingen, integraties en personalisatie 
De eerste stap is het maken van een inventarisatie. Zoek uit welke aanpassingen je hebt in het CMS, rekening houdend met de contentresolvers, render pipelines en andere niet-standaard configuraties voor zowel de UI als de logica van het CMS. Heb je integraties met externe databronnen of stuur je gegevens van je op Sitecore gebaseerde website naar andere systemen via de Sitecore-backend? Denk bijvoorbeeld aan het indienen van boekingen bij een boekingssysteem, analytische gegevens naar GA, het ophalen van profielinformatie uit een CRM, of het ophalen van vacatures uit Salesforce of het doorsturen van bestellingen naar Salesforce. Als je ook personalisatie op je website gebruikt, is het aan te raden om alle geconfigureerde personalisatieregels te analyseren en documenteren, omdat je ze later opnieuw moet configureren in Sitecore XM Cloud of Personalize. 

Het tweede deel van de beoordelingsfase is een gap-analyse tussen de XP-functionaliteit die je momenteel gebruikt en de functionaliteit die XM Cloud biedt. Het is ook belangrijk om te weten welke versie van Sitecore je gebruikt en of je al gebruik maakt van JSS. Dit helpt je bij het bepalen van de stappen van je migratiepad en de beste route of aanpak. Hier zal ik later meer in detail op ingaan bij het bespreken van mogelijke migratiescenario's. 

Om de beoordelingsfase af te ronden, begin je met het plannen van je migratiepad: isoleer en herschrijf componenten ter voorbereiding op de migratie. Niet-XM-functionaliteit kan vervangen worden door aparte Composable-producten (bijvoorbeeld EXM vervangen door Send), aangepaste bedrijfslogica moet worden verwijderd uit je Sitecore-implementatie en overbodige of verouderde inhoud of componenten kunnen worden verwijderd om de omvang en complexiteit van de migratie in een vroeg stadium te reduceren. De volgorde waarin je deze taken uitvoert is van groot belang.

2.2 Stap 2: De migratie voorbereiden met het verkleinen van het verschil tussen Platform DXP en XM Cloud 

Wanneer de beoordeling en planning zijn afgerond, kunnen we beginnen met de voorbereiding van de daadwerkelijke migratie. In deze fase zijn er geen migratietaken, maar we gaan onze huidige implementatie of oplossing voorbereiden op de geplande migratie. Deze fase heeft twee doelen: het verkleinen van het verschil tussen uw Platform DXP en de functionaliteit van XM Cloud, en het minimaliseren van de implementatiegrootte voor de uiteindelijke migratie. 

Het voordeel van Composability is dat Composable en MACH-gebaseerde componenten, of Packed Business Capabilities (PBC's), ook kunnen integreren met niet-Composable architecturen. Dus elk Composable- of SaaS-product dat je nu aan je huidige implementatie toevoegt, kan al vrijwel in zijn eindstaat geïmplementeerd worden. En door functionaliteit te verwijderen uit je monolithische DXP-implementatie, zal je uiteindelijke migratie eenvoudiger en goedkoper worden, terwijl de doorlooptijden korter zullen zijn. Dit proces noemen we het isoleren van je huidige bedrijfslogica: 

Migrating to Sitecore XM Cloud

Verplaats integraties naar de front-end, verplaats eventuele geïntegreerde bedrijfslogica naar afzonderlijke microservices en vervang functionaliteiten zoals zoekfuncties en e-mailcampagnemanagement met bijvoorbeeld Sitecore Search en Sitecore Send. Zoekfunctionaliteit vereist aangepaste code, aangepaste Solr-indexen en ook een complexere infrastructuur om te hosten en te onderhouden. Door die complexiteit uit je Sitecore-implementatie te verwijderen, zullen de volgende stappen minder complex en tijdrovend worden. 

De laatste stap van het voorbereiden van je Sitecore-oplossing kan het upgraden naar de nieuwste versie van de Sitecore Platform DXP zijn, versie 10.4. Dit is echter optioneel en hangt af van of je eventuele bestaande implementatiecode wilt behouden. Als je huidige implementatie MVC gebruikt en je jouw front-end toch opnieuw moet opbouwen, en als je alleen Sitecore-contentitems wilt kopiëren naar de nieuwe XM Cloud-implementatie, kan een Sitecore-upgrade overbodig zijn. Maar als het verschil relatief klein is en je al op een recente versie van Sitecore draait (waardoor de upgrade kleiner en sneller wordt), kan het gunstig zijn om eerst te upgraden naar 10.4. Het aanpakken van alle verschillen, zoals JSS-versies, externe afhankelijkheden en je Next.js-versie, helpt ook bij het vereenvoudigen van het migratieproces zelf. 

2.3 Stap 3: De front-end herschrijven met headless & GraphQL 
Nu is het tijd om de front-end grondig te bekijken. Logischerwijs is deze fase het meest variabel wat betreft de impact op de benodigde investering om over te stappen naar XM Cloud. Als je al een headless architectuur gebruikt, is het perfect mogelijk om je renderings te behouden. Zo niet, dan moet je rekening houden met een gedeeltelijke of volledige herbouw van de front-end. 

2.3.1 Rendering pipelines 
Als je aangepaste rendering pipelines gebruikt, moet je deze laten vervallen en je rendermechanisme opnieuw ontwerpen of overschakelen naar een standaard JSS-implementatie. Het hele concept van rendering pipelines is verouderd met de komst van XM Cloud, omdat het alleen een headless setup ondersteunt. Content wordt statisch gepubliceerd naar Edge als het CDN en van daaruit kun je content opvragen vanuit je JavaScript front-end. De Sitecore Layout Service Client behandelt routing en page requests, en extra GraphQL-query's kunnen worden gebruikt om specifieke content op te halen, zoals het laatste nieuws of een lijst met alle items van een bepaald type. 

2.3.2 Content resolvers (voor JSS) 
Ten tweede moeten maatwerk content resolvers vermeden worden in een nieuwe XM Cloud-implementatie, maar in sommige gevallen functioneren ze nog steeds correct. Dus voor migratiedoeleinden kun je ze behouden en later beslissen of je ze wilt vervangen of opnieuw wilt ontwerpen.  

De reden voor gedeeltelijke compatibiliteit met maatwerk content resolvers ligt opnieuw bij het mechanisme van publiceren naar de Edge. Traditioneel werd content gepubliceerd vanuit uw werkdatabase (master) naar uw gepubliceerde database (web) en werd deze alleen gedurende het web request resolved, wat het exacte moment was waarop de content resolvers werden uitgevoerd. Dit maakte dynamische en contextuele content resolvers mogelijk.  

Maar met XM Cloud wordt de webdatabase niet langer gebruikt en wordt bij het publiceren van content een statische inhouds- en lay-outsnapshot gemaakt die op het CDN wordt geplaatst. Dus in feite voert de publicatie nu de content resolver uit en stuurt het resultaat naar de Edge. Tijdens een verzoek kun je dat gecachte en resolved stukje content ophalen, maar je kunt het proces van content resolvers of de backend niet bereiken, dus dynamische of contextuele resolving is niet langer mogelijk.

Migrating to Sitecore XM Cloud

Kortom: als je aangepaste content resolver dynamische gegevens bevat of extra (ad hoc) bewerkingen uitvoert, kun je ze niet migreren naar XM Cloud en moet je deze logica naar je JavaScript front-end verplaatsen. Alle andere toepassingen van een maatwerk content resolver zijn nog steeds compatibel, maar niet optimaal voor toekomstig onderhoud.  

Eventuele gegevenswijzigingen of taken voor het opnieuw ordenen van inhoud kunnen worden uitgevoerd met aangepaste GraphQL-query's, wat gemakkelijker te onderhouden is, eleganter is, en je Sitecore-implementatie standaard houdt. Bovendien kan het herstructureren van content in de contentstructuur ook een oplossing zijn om de noodzaak van maatwerk content resolvers te minimaliseren. In de meeste gevallen zullen de standaard Datasource of DataSource Item Children Resolver, of de Context Item (Children) Resolver of Folder Filter Resolver voldoende zijn. 

Natuurlijk geldt dit allemaal alleen als je al gebruikmaakt van JSS. Als je oplossing MVC gebruikt voor rendering, is dit niet van toepassing en moet je direct naar JSS overstappen, waarbij je bij voorkeur maatwerk content resolvers volledig vermijdt. 

2.3.3 Herbouwopties 
Afhankelijk van je startpunt kunnen verschillende scenario's van toepassing zijn bij het herbouwen van je front-end voor de migratie naar XM Cloud: 

  • Als je op 10.x draaide met behulp van JSS zonder aangepaste content resolvers, kun je de hele front-end naar XM Cloud overzetten met minimale aanpassingen. 

  • Als je al JSS gebruikt op een eerdere versie van Sitecore en ook maatwerk content resolvers gebruikt, moet je jouw Sitecore-versie upgraden (indien nog niet gedaan in de voorbereidingsfase) en de delen herontwerpen die incompatibele content resolvers gebruiken. 

  • Als je MVC gebruikt met een React front-end met aangepaste rendering pipelines, kun je mogelijk delen van je React-renderings hergebruiken in de nieuwe Next.js-setup, maar moet je de Sitecore-implementatie herontwerpen om van MVC over te stappen naar een headless aanpak. Hoewel dit scenario vrij exotisch is en als je zo'n aangepaste setup gebruikt, kan herbouwen met behulp van de standaard Next.js- en JSS-setup een betere keuze zijn. 

  • Als je het klassieke MVC-model gebruikt, moet je zowel je front-end als de Sitecore-implementatie herbouwen, wat betekent dat het vervangen of moderniseren van je gehele front-end als onderdeel van het migratieproject de beste keuze zou zijn. 

2.4 Stap 4: Migreren en je Cloud-omgeving aanmaken 
De laatste fase van de migratieroute omvat de daadwerkelijke migratie of overgang naar XM Cloud. Begin met het opzetten van een nieuwe oplossing op basis van de XM Cloud template van Sitecore en update je Nuget Feed naar Sitecore.XMCloud.*. Update de standaard buildconfiguratie in het xmcloud.build.json-bestand om je itemserialisatie te configureren, de projecten te compileren (die tot een minimum beperkt moeten worden!) en je rendering hosts in te stellen. 

Daarna, ter voorbereiding van de contentmigratie, configureer je Sitecore Content Serialization (SCS). Als je nog steeds Unicorn of TDS gebruikt, raad ik aan om SCS te overwegen, omdat het een Sitecore-native technologie is die erg snel en krachtig is. Wanneer je jouw serialization hebt ingesteld, kun je beginnen met het migreren van je content. Dit werkt net als elke andere contentmigratie van de ene naar de andere Sitecore-omgeving, en je kunt zowel content packages als het SCS-proces gebruiken om je bestaande templates, lay-outs en content items in je nieuwe Sitecore-oplossing te injecteren. Ook Razl kan handig zijn bij het vergelijken van databases (met je lokale Sitecore XM Cloud-instantie) of om een enkel content item naar je nieuwe omgeving te pushen buiten de SCS-configuratie. 

Als je personalisatieregels opnieuw moet toepassen (op basis van je nieuwe ontwerp), is dit nu een goed moment daarvoor. Afhankelijk van je planning en mogelijke content freeze, kan het echter ook verstandig zijn om dit te doen nadat je nieuwe XM Cloud-website naar productie is gebracht. 

Ten slotte moet je nieuwe CI/CD-pipelines ontwerpen en implementeren. Die pipelines kunnen gebruikmaken van de Sitecore XM Cloud-native CLI-commando's en zullen vrij eenvoudig in te stellen zijn in tegenstelling tot wat je gewend bent van een PaaS-infrastructuur of aangepaste on-premises Sitecore-implementatie. Je kunt je front-end los van Sitecore uitrollen, zodat je elk bestaand of nieuw zelfonderhouden proces daarvoor kunt gebruiken. 

Ontdek meer over Sitecore

Met Sitecore krijg je een flexibel, oersterk CMS. Het laat ons websites en integratieservices bouwen met extra aandacht voor content, personalisatie, e-commerce en workflows. De stempel van "all-in-one digital experience platform" waardig.

Colleague working on laptop with iO drink bottle

3. Keuzes voor een migratie naar XM Cloud: carve out versus hybride benadering 

Na alle stappen van een typische migratieroute naar XM Cloud te hebben behandeld, is er nog één beslissing die genomen moet worden om ons actieplan voor de migratie af te ronden: hoe om te gaan met deze overgang terwijl de winkel openblijft? Grofweg gezien zijn er twee mogelijke scenario's. 

Migrating to Sitecore XM Cloud

Als het verschil tussen je huidige implementatie en de best practices voor XM Cloud te overzien is, kun je de "carve out" benadering gebruiken. Hierbij verplaats je de bedrijfslogica naar microservices, herontwerp je jouw Sitecore-implementatie en verplaats je alles naar XM Cloud. Aangezien de doorlooptijd voor deze laatste stap relatief kort zal zijn en je live kunt gaan met elke tussenliggende stap tot aan de Sitecore XM Cloud-migratie, kan deze benadering worden opgesplitst in verschillende kleinere releases, waardoor de vereiste overlap van de twee Sitecore-platforms minimaal zal zijn. 

Als de verschillen echter groter zijn en als je jouw front-end (gedeeltelijk) opnieuw moet opbouwen, is het wellicht een beter idee om de hybride benadering te gebruiken. Met deze benadering houd je jouw bestaande Platform DXP-implementatie intact en maak je een nieuwe XM Cloud-project aan als nieuwe instantie naast je huidige omgeving. Je kunt beginnen met het overzetten van data templates en content die je wilt behouden, en nieuwe renderings opbouwen terwijl je zoveel mogelijk code hergebruikt en deze in de nieuwe Composable architectuur plaatst. Aangezien dit meestal langer duurt, raad ik aan om je nieuwe website in delen om te zetten - per functionaliteit, sectie of per pagina - en een reverse proxy te gebruiken om het verkeer naar de juiste omgeving te routeren op basis van de URL. Dit geeft je de tijd om te leren, aanpassingen te maken op basis van gebruikersfeedback en best practices die onderweg zijn ontdekt, terwijl je een big bang aan het einde van het migratieproces vermijdt. 

4. Conclusie

Ik hoop dat dit artikel je wat meer inzicht heeft gegeven in de verschillen tussen de twee verschillende platforms en enkele waardevolle aanwijzingen om je op weg te helpen met je migratie naar Sitecore XM Cloud vanuit een bestaande Platform DXP-implementatie.  

De benodigde inspanning kan sterk variëren afhankelijk van je situatie, maar het is absoluut de moeite waard om te investeren, aangezien je niet alleen je Sitecore-implementatie future-proof maakt, maar ook je volledige stack en platform moderniseert, terwijl je een betere algehele architectuur neerzet die de onderhoudbaarheid en flexibiliteit van je webplatform aanzienlijk verbetert. Als de stap naar Composability te groot is, kun je altijd kiezen voor een meer geleidelijke overgang over meerdere kwartalen, waarbij je stap voor stap het herbouwen en de introductie van nieuwe componenten aanpakt. 

Rob Habraken - iO
Over de auteur
Rob Habraken
Technology Director - iO

Software-expert Rob is als rasechte engineer thuis op de grens tussen techy mensen en human tech. Zijn favoriete perspectief is een helikopterview en hij inspireert graag. Aandacht voor DevOps, developer happiness en coaching zijn daarbij voor hem erg belangrijk.

Gerelateerde artikelen