De migratie van AWS met Redshift naar Databricks voor e-commercebedrijf WWL

21 december 2023 | 6 minuten leestijd

The migration from AWS with Redshift to Databricks for e-commerce company WWL by i-spark
Het i-spark team is actief betrokken bij World Wide Lighting [WWL], en zet hun meerjarige samenwerking voort als een vitaal onderdeel van het datateam dat gebruik maakt van i-spark's Data Team-as-a-Service oplossing. Ongeveer een jaar geleden kwam het e-commerce verlichtingsbedrijf WWL op een punt waarop het moest kiezen tussen investeren in hun huidige dataplatform of overstappen op een moderne cloudoplossing die mee kon schalen met de groei van het bedrijf. WWL wilde de betrouwbaarheid, stabiliteit en snelheid van hun dataprocessen verbeteren, inclusief clickstream- en ERP-gegevens, van hun 24 verschillende internationale webwinkels, met behoud van acceptabele kosten. Deze consultancy rol en later de uitvoerende rol rondom dit vraagstuk paste perfect bij i-spark. Hun bestaande dataplatform was gebaseerd op een Amazon Redshift datawarehouse binnen AWS. Ze ondervonden echter uitdagingen op het gebied van betrouwbaarheid en veerkracht, vanwege de grote vraag naar en het gebruik van het platform. Investeren in het huidige platform zou vroeg of laat onvermijdelijk op dezelfde uitdagingen stuiten, wat uiteindelijk zou leiden tot mogelijke grote investeringen met een onzekere uitkomst. Daarom werd besloten om te migreren naar een modern dataplatform.

Tool selectie

I-spark onderzocht meerdere cloudoplossingen en Databricks bleek het beste te passen bij de eisen van WWL, omdat dit platform uitgebreider was. Databricks had ook het voordeel dat het toegankelijk is voor een bredere groep gebruikers, zoals analisten, dankzij handige functies zoals de SQL-editor. De vele processen die op het AWS-platform draaiden, zoals services als Lambda, Glue en ECS die werden gebruikt, waren perfecte kandidaten voor migratie naar Databricks. Daarnaast bood Databricks meer oplossingen voor Machine Learning, wat ook een van de toekomstige ambities van WWL was. Na het opzetten van een business case als Proof of Concept bevestigd: Databricks was inderdaad een haalbare oplossing voor het verbeteren van de betrouwbaarheid, stabiliteit en snelheid van hun dataprocessen.

Solution Architecture en Roadmap

In deze fase is veel tijd gestoken, want een goed begin is het halve werk. In de architectuur hebben we de basis gelegd voor het toekomstige platform op basis van de lessen die we hebben geleerd van het vorige dataplatform. Daarom verzamelden we zowel functionele als niet-functionele eisen van de business en vertaalden deze naar een uitgebreid plan voor de architectuur, inclusief een ontwerp voor de stroom en opslag van de grote hoeveelheden gegevens. Dit resulteerde in een ontwerp gebaseerd op de MACH-architectuurprincipes met een medaillonstructuur voor de opslag van gegevens. MACH betekent dat het is gebouwd rond microservices, dat zijn specifieke taken voor specifieke taken, gebruikmakend van API's waar mogelijk, cloud-native en headless, wat betekent dat andere tools, zoals rapportage of marketingautomatisering, (gecureerde) toegang hebben tot de data in en de rekenkracht van Databricks. Als volgende stap bepaalden we de beste aanpak voor de oplevering van het project, de urenverdeling onder het team en verdeelden we het project in meerdere fasen. Het resultaat hiervan was een project roadmap waarbij de realisatie van de architectuur in kaart werd gebracht op een tijdlijn met behulp van de gefaseerde aanpak.
"i-sparks aanpak en goede voorbereiding zorgden ervoor dat de oplevering van de uiteindelijke oplossing in minder dan twee dagen werd gedaan"

Ontwikkeling

De roadmap was de leidraad voor ontwikkeling. Het begon met het migreren van de processen die de meeste gegevens verwerkten of het meest complex waren qua verwerking en instelling. Terwijl we begonnen met een klein team van Data Engineers voor de eerste stappen, werd dit geleidelijk uitgebreid tot uiteindelijk een multidisciplinair team van Data Engineers, Analytics Engineers en Data Analisten toen er steeds meer data beschikbaar kwam. De Data Engineers kregen processen toegewezen met betrekking tot gegevensbronnen waar ze al bekend mee waren en werkten parallel aan meerdere flows om dit deel van het project zo efficiënt mogelijk te maken. Analytics Engineers en Data Analisten werkten meer volgens het watervalprincipe vanwege de sterke afhankelijkheden tussen gegevens. Het project werd opgeleverd door middel van een 'Big Bang' release, nadat het nieuwe platform een paar weken naast het bestaande platform had gefunctioneerd. Deze parallelle run werd uitgevoerd om de gegevens te valideren en de eerste problemen op te lossen. Deze aanpak en een goede voorbereiding zorgden ervoor dat de uiteindelijke oplossing in minder dan twee dagen werd geleverd. Eventuele kleine fouten werden onmiddellijk opgelost, omdat de grote fouten waren voorkomen.

Historische data

Een uitdaging tijdens het engineeringproces was het migreren van een deel van de bestaande gegevens van Redshift naar Databricks. We hebben dit gedaan door de historische gegevens als bestanden te exporteren en ze later weer in Databricks te importeren. Deze geïmporteerde geschiedenis werd vervolgens samengevoegd met de nieuwe gegevens. Zowel historische als nieuw verzamelde gegevens konden op dezelfde manier worden opgehaald in de analysetool Looker.

Looker

Kom in contact

Klaar om je data te gebruiken?

Neem contact op met onze experts voor een gratis consult en ontdek hoe wij je kunnen helpen om het volledige potentieel van jouw data te benutten.

Neem contact op

Of bel ons via 0594 855 888

Omdat de gegevensbron voor Looker werd gewijzigd van Redshift naar Databricks, was een nieuw project binnen Looker noodzakelijk. Looker kan geen verbinding maken met meerdere data sources in één project. Daarom werden in Looker alle bestaande explores eerst opnieuw opgebouwd en geconverteerd naar een nieuw project door onze Data Analisten. We hebben ook van de gelegenheid gebruik gemaakt om de logica van Looker naar dbt te verplaatsen om toekomstige ontwikkeling en gegevensbeheer eenvoudiger en veerkrachtiger te maken. Tijdens de migratie kwamen we een paar uitdagingen tegen:
  • Databricks gebruikt een ander SQL-dialect dan Redshift, waardoor specifieke SQL-functies moeten worden aangepast.
  • Er was geen aparte ontwikkel- of testomgeving waar een dubbele instantie van Looker draaide, wat betekende dat we aan de productieomgeving moesten werken terwijl we alle voorzorgsmaatregelen namen die nodig waren om een soepel draaiende productieomgeving te garanderen.
Omdat Looker niet in staat was om meer dan één gegevensbron te beheren, hadden we bepaalde processen die al in Databricks zaten, tijdelijk hun gegevens naar Redshift overgebracht. Dit was nodig om de bestaande productierapportage te behouden.
"Al deze optimalisaties en oplossingen op het gebied van prestaties en kosten hebben geleid tot een uitgebreid inzicht in hoe Databricks 'onder de motorkap' werkt voor veel verschillende Spark en SQL workloads en processen, in combinatie met de infrastructuur waarop het draait."

Kostenoptimalisatie

Het echte uitdagende deel van deze migratiereis begon na de eerste voltooiing. Tijdens de ontwikkeling hadden we een sterke focus op de eerste drie vereisten - het verbeteren van de betrouwbaarheid, stabiliteit en snelheid van de dataprocessen - terwijl we van plan waren ons te concentreren op de vereiste om aanvaardbare kosten te behouden na oplevering. Als we dit opnieuw zouden moeten doen, zouden we ons eerder in het proces op deze vereiste richten. Dit vereiste uiteindelijk optimalisatie van computermiddelen en opslag in Databricks achteraf, om de optimale balans te vinden tussen datakosten en -verbruik. We besteden veel tijd en moeite aan het vinden van het optimum, het refactoren van nieuw ontwikkelde processen en infrastructuur. Voor de verwerking van grote hoeveelheden gegevens is veel geheugen nodig en voor snelle verwerking is veel rekenkracht nodig, wat allemaal gevolgen heeft voor de kosten. De juiste balans hierin vinden was uitdagend maar erg leerzaam voor ons. Er zijn veel mogelijke oplossingen onderzocht, getest en geïmplementeerd, wat heeft geleid tot kostenoptimalisatie op verschillende manieren, zoals:
  • Slimme VACUUM van oude gegevens in het data lake om de opslagkosten te verlagen;
  • Intelligent, dynamisch op- en afschalen van SQL Warehouses-configuraties bovenop de standaard auto-scaling die Databricks voor SQL Warehouses biedt;
  • De ideale AWS EC2-instances vinden voor bepaalde specifieke werklasten als Job Compute Clusters in Databricks Workflows;
  • Compute Cluster Policies gebruiken om het aanmaken van Compute Clusters te beperken tot vooraf gedefinieerde EC2stances;
  • Bepaalde werklasten verplaatsen van Looker naar dbt en Databricks Jobs efficiënter laten draaien.
Al deze optimalisaties en oplossingen voor prestaties en kosten leidden tot een uitgebreid inzicht in hoe Databricks 'onder de motorkap' werkt voor veel verschillende Spark en SQL workloads en processen, in combinatie met de infrastructuur waarop het draait. En in toekomstige migraties zullen kosten- en prestatieoptimalisatie vereisten nummer één en twee zijn.
"We hebben WWL vakkundig getransformeerd van een grootschalig, op AWS gebaseerd dataplatform naar een enterprise-grade Databricks Data Hub op AWS-infrastructuur."

Ervaren maar met een leercurve

In samenwerking met Databricks en WWL heeft dit project de expertise en kennis van i-spark nog verder vergroot, waardoor het een cruciale migratiemijlpaal is geworden. We hebben WWL vakkundig overgezet van een grootschalig, op AWS gebaseerd dataplatform naar een enterprise-grade Databricks Data Hub op AWS-infrastructuur. Tijdens de migratie werden we geconfronteerd met talloze uitdagingen, maar onze effectieve en snelle reacties zorgden voor een naadloze overgang. We zijn trots op de succesvolle migratie van WWL naar een toekomstbestendig platform dat aan al hun eisen voldoet, waarmee we onze toewijding aan uitmuntendheid en innovatie in dataoplossingen versterken en we kijken uit naar de voortzetting van onze samenwerking met WWL in de komende jaren.

Ben je klaar voor een partner voor strategische migratie of kostenoptimalisatie?

Benut het volledige potentieel van je data-oplossingen met i-spark, je belangrijkste partner voor migratie en kostenoptimalisatie. Onze reis met Databricks heeft ons voorzien van inzichten en ervaring, waardoor we een unieke positie hebben om jouw migratietraject te begeleiden. We zijn gespecialiseerd in kosteneffectieve strategieën en optimaliseren niet alleen je huidige Databricks-implementatie, we revolutioneren deze ook. Kies i-spark voor je migratiebehoeften en ervaar een transformatie in je data-oplossingen, aangedreven door onze jarenlange ervaring en expertise van ons Data Team-as-a-Service. Neem gerust contact met ons op voor meer informatie over je migratie

Ook jouw data into action brengen?

We leveren maatwerk passend bij jouw organisatie voor een goede prijs. Geen enorme projecten met doorlooptijd van maanden, wij leveren in weken.

Neem contact op

Of bel ons via 0594 855 888