So erreicht Amazon Datenbankflexibilität mit AWS

Wenn Leute hören, dass Amazon kurz davor steht, eine mehrjährige Initiative auf Unternehmensebene abzuschließen, um die Unternehmensdaten aus Oracle-Datenbanken auf Amazon Web Services (AWS) zu übertragen, kommt ihnen vielleicht folgende Frage in den Sinn: Warum hat das führende Online-Einzelhandelsunternehmen, das für seinen Einsatz modernster Technologien bekannt ist, nicht bereits die Vielfalt, den Umfang, die Zuverlässigkeit und die Wirtschaftlichkeit von AWS genutzt – vor allem, wenn man bedenkt, dass beide Teil desselben Unternehmens sind?

Der erste Teil der Antwort lautet, dass Amazon lange vor AWS geboren wurde, in einer Zeit, in der monolithische On-Premises-Datenbanklösungen wie Oracle immer noch am sinnvollsten für die Speicherung und Verwaltung von Daten auf Unternehmensebene waren. Und die zweite ist, dass – obwohl diese Ära inzwischen vorbei ist – es große Hindernisse gibt, sich von Oracle zu lösen, wie viele Unternehmen, die auf AWS umsteigen wollen, nur zu gut wissen.

„Wenn ein Unternehmen wie Amazon so viele Datenbanken, die von so vielen dezentralen, global verteilten Teams genutzt werden, von Oracle auf AWS übertragen kann, ist das wirklich für fast jedes Unternehmen möglich.“

Thomas Park, Senior Manager of Solution Architecture for Consumer Business Data Technologies, Amazon

  • Über Amazon
  • Amazon wird von vier Prinzipien geleitet: Kundenorientierung anstatt Wettbewerbsfokus, Leidenschaft für Innovationen, Verpflichtung zu operativer Exzellenz und langfristiges Denken. Kundenrezensionen, 1-Klick-Einkäufe, personalisierte Empfehlungen, Prime, Fulfillment by Amazon, AWS, Kindle Direct Publishing, Kindle, Fire-Tablets, Fire TV, Amazon Echo und Alexa sind einige der Produkte und Services, für die Amazon Pionierarbeit geleistet hat.

  • Vorteile
    • Senken der Datenbankbetriebskosten um 50 %
    • Eliminieren des größten Teils des Aufwands für Datenbankadministration und Hardwaremanagement
    • Senken der Latenz der wichtigsten Services um 40 %
  • Genutzte AWS-Services

Loslösen von Oracle: Leichter gesagt als getan

Im Fall von Amazon gehörten zu den Hindernissen, die dem Loslösen von Oracle entgegenstanden, die Größe der Unternehmensflotte – mehr als 5 000 Datenbanken, die mit einer Vielzahl von nicht standardisierten Systemen verbunden waren, deren Eigentümer und Abhängigkeiten nicht zentral inventarisiert wurden. Es gab auch personelle Risiken. Die Karrieren vieler Amazon-Mitarbeiter basierten auf Oracle-Datenbankplattformen. Würden sie den Schritt voll und ganz unterstützen? Würden einige einfach gehen?

Vor ähnlichen Herausforderungen stehen die vielen anderen Unternehmen, die von Oracle zu AWS wechseln wollen. Genau wie diese anderen Unternehmen hatte Amazon dringende Gründe, das Ganze zum Laufen zu bringen. Die Techniker von Amazon verschwendeten zu viel Zeit mit komplizierter und fehleranfälliger Datenbankverwaltung, Bereitstellung und Kapazitätsplanung. Der steile Wachstumskurs des Unternehmens – und der stark steigende Durchsatz – erforderten immer mehr Oracle-Datenbank-Shards, mit all dem zusätzlichen Betriebs- und Wartungsaufwand, den diese mit sich bringen. Und dann waren da noch die Kosten: Wenn Amazon mit Oracle so weitermachen würde wie bisher, würden die Millionen von Dollar, die Amazon bereits für seine Lizenz bezahlte, noch weiter steigen: um sagenhafte 10 Prozent pro Jahr.

„Für uns war es dieselbe Situation wie für so viele Unternehmen“, sagt Thomas Park, Senior Manager of Solutions Architecture for Consumer Business Data Technologies bei Amazon.com, der das Migrationsprojekt mitgeleitet hat. „Die Abhängigkeit von Oracle war sowohl unser größter Grund als auch unser größtes Hindernis bei der Umstellung auf AWS.“

Das war damals. Heute steht Amazon kurz davor, die Migration von etwa 50 Petabyte an Daten abzuschließen und die letzte dieser 5 000 Oracle-Datenbanken herunterzufahren. Wie hat das Unternehmen diese massive Migration bewerkstelligen können?

Bewältigung des kulturellen Wandels und der technischen Komplexität

Amazon sah sich während der Migration mit zwei großen Herausforderungen konfrontiert. Zum einen ging es darum, das umfangreiche Programmmanagement in Angriff zu nehmen, das erforderlich ist, um die vielfältigen, weltweit verteilten Teams zu motivieren, das Projekt anzunehmen und seinen Fortschritt zu verfolgen. Die andere war die technische Komplexität der Migration. Für den Erfolg des Projekts war klar, dass die Geschäftsbereiche des Unternehmens zentrale Koordination, Schulung und technischen Support benötigen würden.

Um diese Herausforderungen zu bewältigen, richtete Amazon zunächst ein Enterprise Program Management Office (PMO) ein, das klare Leistungsanforderungen festlegte und wöchentliche, monatliche und vierteljährliche Überprüfungen mit den einzelnen Serviceteams einführte, um den Fortschritt und den Programmstatus zu verfolgen und zu melden.

„Bei der Einrichtung des Programms mussten wir klar definieren, was wir erreichen wollten und warum, bevor wir uns mit dem ‚Wie' befassten“, sagt Dave George, Director of Consumer Business Data Technologies bei Amazon. „Nachdem wir das ‚Was' und das ‚Warum' festgelegt hatten, haben wir klare Ziele mit aktiver Unterstützung durch Führungskräfte festgelegt. Dieses Sponsoring stellte sicher, dass unsere vielen verteilten Tech-Teams einen klaren, eindeutigen Fokus hatten und sich dafür einsetzen, diese Ziele zu erreichen. Der unermüdliche Fokus auf die Bereitstellung stellte sicher, dass Störungen anderer Geschäftsprioritäten minimiert wurden und gleichzeitig eine erhebliche architektonische Erneuerung der Kernsysteme erreicht wurde.“

Ausschlaggebend für den Erfolg des Projekts war auch ein technisches AWS-Kernteam aus erfahrenen Lösungsarchitekten und Datenbankingenieuren. Dieses Team gab Empfehlungen dazu ab, welche AWS-Services für jede Kategorie von Amazon-Daten, die von Oracle migriert werden, am besten geeignet sind, darunter:

  • Amazon DynamoDB: empfohlen für kritische Services, die hohe Verfügbarkeit, mutierende Schemas und konsistente Latenz im einstelligen Millisekundenbereich im großen Maßstab erfordern.
  • Amazon Aurora: empfohlen für Services mit stabilen Schemas, die hohe Verfügbarkeit und starke referenzielle Integrität erfordern.
  • Amazon Simple Storage Service (Amazon S3): empfohlen für die kostengünstige, langfristige Speicherung von relationalen und nicht-relationalen Daten.
  • Amazon Relational Database Service (Amazon RDS) für PostgreSQL oder MySQL: empfohlen für nicht kritische Dienste und einfache Einrichtung, Betrieb und Skalierung.
  • AWS Database Migration Service (AWS DMS) hilft, Datenbanken schnell und sicher zu AWS zu migrieren. Die Quelldatenbank bleibt während der Migration voll betriebsbereit, wodurch die Ausfallzeiten für Anwendungen, die von der Datenbank abhängig sind, minimiert werden. DMS kann Daten zu und von den meisten gängigen kommerziellen und Open-Source-Datenbanken migrieren.
  • Das AWS Schema Conversion Tool (AWS SCT) macht heterogene Datenbankmigrationen durch eine automatische Konvertierung des Quelldatenbankschemas und eines Großteils der in Ansichten, gespeicherten Prozeduren und Funktionen verwendeten Datenbankcodeobjekte in ein mit der Zieldatenbank kompatibles Format vorhersehbar.

Dieses Team gab auch formelle Anweisungen zu bestimmten AWS-Services, führte praktische Übungen durch, bot Einzelberatungen an und koordinierte direkte Unterstützung durch AWS-Produktteams für Amazon-Unternehmen, die mit spezifischen Herausforderungen konfrontiert waren.

„Dieses zentrale Team mit erfahrenen Lösungsarchitekten und Datenbankingenieuren war entscheidend für den Erfolg des Projekts“, sagt Park. „Das Team half nicht nur bei der Schulung der Amazon-Geschäftsteams, sondern gab auch Feedback und Featureanfragen, wodurch die AWS-Services für alle Kunden noch besser wurden.“

Amazon hat auch sorgfältig darüber nachgedacht, wie es seinen Oracle-Datenbankadministratoren am besten helfen kann, auf die neuen Karrierewege umzusteigen, die ihnen jetzt offen stehen. Eine Möglichkeit bestand darin, ihnen dabei zu helfen, die Fähigkeiten zu erwerben, die sie benötigen, um AWS-Lösungsarchitekten zu werden. Eine weitere war eine Führungsrolle, in der ein Oracle-Hintergrund für den laufenden Prozess der Brücke zwischen herkömmlichen Oracle-basierten Umgebungen und AWS-Cloud-Umgebungen hilfreich sein würde.

Datenbankfreiheit in AWS

Durch die Migration zu AWS konnten die jährlichen Datenbankbetriebskosten von Amazon um mehr als die Hälfte gesenkt werden, obwohl nach der Umstellung mehr Kapazität bereitgestellt wurde. Der Betriebsaufwand der Datenbankadministration und Hardwareverwaltung wurde erheblich reduziert und die Kostenzuweisung bei allen Teams viel leichter als je zuvor. Bei den meisten Services, die auf Amazon DynamoDB umgestellt wurden – in der Regel die kritischsten Services, die hohe Verfügbarkeit und skalierbare Latenz im einstelligen Millisekundenbereich erfordern – wurde die Latenz um 40 Prozent reduziert, obwohl jetzt das doppelte Transaktionsvolumen verarbeitet wird. Während der Migration nutzten die Serviceteams auch die Gelegenheit, die Services weiter zu stabilisieren, technische Schulden zu beseitigen und den gesamten Code und die Abhängigkeiten vollständig zu dokumentieren.

Angesichts des Umfangs des Projekts – einer Migration, von der 800 Services, Tausende von Microservices, Zehntausende von Mitarbeitern und Millionen von Kunden betroffen waren und die dazu führte, dass Amazon mehr AWS-Datenbanken hatte als 90 Prozent der anderen AWS-Kunden –, sieht Amazon.com eine Lektion für andere große Unternehmen, die über einen ähnlichen Schritt nachdenken.

„Niemand, der an diesem Migrationsprojekt beteiligt war, würde sagen, dass es einfach, leicht oder unterhaltsam war, aber es waren auch keine Superkräfte erforderlich. Wenn ein Unternehmen wie Amazon so viele dezentrale, weltweit verteilte Datenbanken von Oracle zu AWS verlagern kann, ist das wirklich für fast jedes Unternehmen erreichbar.“


Weitere Informationen

Weitere Informationen zu Amazon DynamoDB