A platform-agnostic middleware for seamless data portability in multi-cloud application deployment

Een platform-agnostische middleware voor naadloze dataportabiliteit in multi-cloud application deployments

Moderne organisaties maken steeds vaker gebruik van multi-cloud om workloads te verdelen over verschillende cloudplatformen, met als doel kosten en performance te optimaliseren. Het gebruik van meerdere cloudproviders brengt echter interoperabiliteits- en portabiliteitsproblemen met zich mee binnen de cloudfederatie. Deze ontstaan door het ontbreken van een gemeenschappelijke interface waarmee data op een naadloze manier tussen platformen kan worden overgedragen.

Achtergrond en bestaande benaderingen

Eerder onderzoek heeft aangetoond dat interoperabiliteit en portabiliteit tussen clouds op semantisch niveau mogelijk zijn. Veel projecten introduceren een gemeenschappelijke modelleertaal om multi-cloud omgevingen semantisch interoperabel te maken. Er zijn echter slechts weinig — en vaak applicatie-specifieke — oplossingen voorgesteld voor het verplaatsen van de datalaag van een applicatie tussen verschillende cloudplatformen.

Voorgestelde holistische aanpak

In deze thesis wordt een holistische aanpak voorgesteld om vendor lock-in te doorbreken en dataportabiliteit tussen heterogene cloudplatformen mogelijk te maken. De aanpak wordt gevalideerd door de implementatie van Prestige, een middleware die verantwoordelijk is voor het live migreren van de datastate van een applicatie tussen twee container-georkestreerde clusters, elk gehost door een andere cloudprovider.

Experimentele opzet

Er is een scenario gesimuleerd waarin twee Kubernetes clusters data consumeren vanuit twee verschillende database-oplossingen: de eerste gehost op AWS als een RDS-instance en de tweede op GCP als een Cloud-SQL-instance. Vervolgens zijn databaseverzoeken op het eerste systeem gesimuleerd door met sysbench verschillende workloads te genereren voor uiteenlopende databasegroottes. Tot slot is een live datamigratie uitgevoerd tussen AWS en GCP.

Prestige middlewareproces

Het live migratieproces van Prestige is gebaseerd op drie algoritmen: resource mapping, dump and restore en query duplication.
Het resource mapping-algoritme brengt de resources van het bron-Kubernetes cluster (het te migreren cluster) in kaart met de resources die worden gebruikt door het doelcluster. Deze mapping bevat authenticatiegegevens die de middleware in staat stellen om verbinding te maken met beide storage-systemen. Vervolgens wordt de data uit het bronsysteem gedumpt en hersteld op het doelsysteem. Tijdens en na het dump- en restore-proces worden alle requests die de state van het bronsysteem wijzigen gedupliceerd en gecachet. Zodra de restore is voltooid, worden deze wijzigingen opnieuw afgespeeld op het doelsysteem. Wanneer de cache leeg is, kan het verkeer worden omgeleid naar het gemigreerde systeem met slechts een zeer beperkte downtime.

Valideren prototype

Om het Prestige-prototype te valideren, zijn meer dan 200 experimenten uitgevoerd waarin verschillende migratiescenario’s zijn gesimuleerd door zowel de databasegrootte als de frequentie van client requests te verhogen.

Resultaten

De experimenten tonen veelbelovende resultaten. In alle gevallen bleef de data na migratie 100% consistent, terwijl de downtime die nodig was om tussen cloudproviders te schakelen werd teruggebracht tot een minimum van 0,012 seconden.

Download
Privacy Overview
This website uses cookies. We use cookies to ensure the proper functioning of our website and services, to analyze how visitors interact with us, and to improve our products and marketing strategies. For more information, please consult our privacy- en cookiebeleid.