H-Hotels in der Cloud

Migration einer Hotel-Plattform zu AWS
28.05.2020

Die H-Hotels Gruppe zählt zu den größten Hotelbetreibern Deutschlands. Zu dem familiengeführten Unternehmen mit Sitz im hessischen Bad Arolsen gehört ein breites Markenportfolio. So werden unter der Dachmarke H-Hotels.com die Marken Hyperion, H4 Hotels, H+ Hotels, H2 Hotels. H.omes und H.ostels vertrieben. Die stetig wachsende Gruppe ist aktuell in insgesamt 50 verschiedenen Zielgebieten in Deutschland, Österreich und der Schweiz mit 60 Hotels vertreten. Zu der bedachten Expansionsstrategie in weitere Metropolen im DACH-Raum kommt mit dem Standort Budapest erstmalig die Präsenz im nicht deutschsprachigen Raum hinzu.

Das Projekt

Kern der Vermarktung der Hotelgruppe ist das eigene Buchungssystem, in dem die Buchungsstrecke ein zentraler Bestandteil ist. Sie wurde bisher in einem Datacenter mit einer festen Anzahl an visualisierten Servern betrieben. Ausfallsicherheit und Skalierbarkeit waren limitiert. Um diese Probleme zu lösen, wurde ein Umzug in die AWS Cloud anvisiert. Hierzu wurden die kreuzwerker als Partner gewählt, denn wer sein Unternehmen auf die Cloud umstellt, betritt nicht nur die Zukunft, sondern eine vollkommen neue Welt. Als verlässlicher und zertifizierter Partner unterstützen die kreuzwerker bei der Migration, helfen aber auch, die eigenen Potenziale und die des Teams innerhalb dieser „neuen Welt” zu entfalten.

Die Lösung

Ein Umzug in die Cloud ist geplant. Das stellt einen natürlich vor große Herausforderungen. Und die erste Frage ist sicherlich: Wie fängt man überhaupt an?

Zunächst wurde in einem gemeinsamen Workshop eine Analyse der existierenden Landschaft durchgeführt. Angefangen von Hardware und Netzwerk-Set-up über verwendete Software zu Deployment- und Betriebsprozessen. Weiterhin wurden spezielle Anforderungen an die Architektur aufgenommen. Da in diesem Fall Kreditkartendaten verarbeitet werden, muss die Applikation z. B. dem Payment Card Industry Data Security Standard (PCI/DSS) genügen.

Auf Basis der Analyse wurde eine geeignete Migrationsstrategie gewählt. Hier gibt es mehrere Ansätze, z. B. Rehosting , Replatforming oder Refactoring. In diesem Fall haben wir uns zusammen mit H-Hotels für den Replatforming-Ansatz entschieden. Die Grundarchitektur der Software wird nicht geändert, sondern es werden nur einige kleinere Cloud-Optimierungen durchgeführt. Besonders bei einem Neueinstieg in die Cloud empfehlen wir diesen Weg, da man so relativ schnell einen Umstieg in die Cloud erreichen kann. Applikationen können dann nach und nach optimiert werden, wenn man mehr Sicherheit und Wissen im Umgang aufgebaut hat. Außerdem ist es so möglich, Risiko zu minimieren, indem man Applikationsänderungen kleinteilig vornimmt, nachdem man den eigentlichen Umstieg hinter sich gebracht hat.

Nachdem wir die Strategie festgelegt hatten, entwarfen die kreuzwerker auf Basis des Well-Architected-Reviews eine Architektur, die dann mit dem H-Hotels Team abgestimmt wurde.

Dann ging es an die Umsetzung. Zunächst musste natürlich die Basis geschaffen werden.

Dazu zählt z. B. das initiale Aufsetzen der Accounts, das Anlegen von Usern, Rollen etc. Auch die Einbindung in die existierende Netzwerkstruktur muss erfolgen, z. B. durch Aufsetzen des VPNs. Zu guter Letzt wurde die Netzwerkstruktur in AWS geschaffen, die als Basis für alles Weitere dient.

Im nächsten Schritt wurde die eigentliche Applikation migriert. Für die Datenhaltung setzen wir bevorzugt auf Managed Services, in diesem Fall AWS Elastic File System (EFS), AWS ElastiCache und AWS Aurora mit MySQL Kompatibilität. Sämtliche Infrastrukturkomponenten wurden mit AWS CloudFormation als Infrastructure as Code abgebildet. So ist es möglich, einen großen Vorteil der Cloud zu nutzen, nämlich das automatische Aufsetzen und Abreißen von kompletten Umgebungen. In diesem Fall haben wir z. B. eine Umgebung aufgesetzt, in der ein Pentest durchgeführt werden konnte. Nach Abschluss des Tests konnte die Umgebung „auf Knopfdruck” wieder entfernt werden, sodass keine weiteren Kosten anfallen. Eine neue Kopie der Umgebung kann bei Bedarf ebenfalls einfach „auf Knopfdruck” wieder erstellt werden.

Für die Migration der Software analysierten wir mehrere Möglichkeiten. Die einfachste Möglichkeit wäre gewesen, die existierenden Server einfach zu kopieren. Da ein Schmerzpunkt der existierenden Lösung mangelnde Ausfallsicherheit und Skalierbarkeit war, haben wir uns dagegen entschieden. Der Kern der Software lag bereits als Debian-Pakete vor, sodass wir uns dafür entschieden haben, die Software leicht zu modifizieren, sie auf EC2 Instanzen zu deployen und durch Verwendung von AWS Autoscaling und Loadbalancing den gegebenen Anforderungen gerecht zu werden. Natürlich hätte man auch die Applikationen auf Docker umstellen können. Das hätte jedoch größere Änderungen erforderlich gemacht und außerdem noch eine weitere neue Technologie eingeführt.

Auch für das Deployment der Software haben wir mehrere Möglichkeiten evaluiert und uns schließlich für ein automatisiertes Deployment mit AWS CodeDeploy und dem AWS Systems Manager entschieden. Die erforderlichen Schritte wurden vom H-Hotels Team in den existierenden Build Server integriert, sodass am Ende sowohl Infrastruktur- als auch Applikationsänderungen vollautomatisiert ausgerollt werden können.

Während dieser Phase haben H-Hotels und kreuzwerker Team eng

zusammengearbeitet. Die H-Hotels Mitarbeiter und Mitarbeiterinnen sollten schließlich in der Lage sein, den Betrieb nach Projektende alleine zu gewährleisten. Neben den ganzen neuen zu lernenden Technologien war der Umstieg auf eine mehr DevOps-fokussierte Arbeitsweise eine der größten Herausforderungen. Deshalb war es wichtig, dass die kreuzwerker ihr Wissen projektbegleitend teilen. Code, Dokumentation und Arbeitsschritte wurden in gemeinsam genutzten Git-Repositories, Wikis und Projekt-Boards gepflegt. Regelmäßige Telefonate und Screen-Sharing-Sessions wurden zum Teilen von Wissen genutzt. Mit zunehmendem Projektfortschritt hat das H-Hotels Team immer mehr Aufgaben selbst durchgeführt und wurde dabei bei Bedarf von den kreuzwerkern begleitet.

Ein Umstieg in die Cloud ist natürlich erst vollendet, wenn die alte Infrastruktur keine Anfragen mehr abbekommt und abgeschaltet werden kann. Um die neue Umgebung für den Live-Gang bereitzumachen, haben wir das automatisierte Erstellen von Back-ups eingerichtet, unter Verwendung von AWS CloudWatch das Sammeln und Auswerten von Logs und Metriken ermöglicht und das automatisierte Aufspielen von regelmäßigen Security Patches aufgesetzt. In einem letzten gemeinsamen Workshop haben wir das Vorgehen für die Umstellung von alt auf neu besprochen. Die eigentliche Umstellung hat das H-Hotels Team danach selbst durchführen können.

Vorteile

Die Architektur ist nun ausfallsicher und skalierbar, es können „auf Knopfdruck” mehrere Umgebungen erstellt und wieder abgerissen werden und sowohl Infrastruktur als auch Software sind als Code in Versionsverwaltungssystemen gepflegt und können automatisiert ausgerollt werden.

Fazit

Der Einstieg von H-Hotels in die AWS Cloud mit ihrer Buchungsstrecke war mit einigen technischen Herausforderungen verbunden, die wir gemeinsam lösen konnten. Aber auch der sicher schwierigere Teil – das Verlassen der Komfortzone, das Aufgeben von über Jahren gelernten Arbeitsabläufen und die Bereitschaft, neue Paradigmen und Arbeitsweisen zu lernen – wurde von den H-Hotels Mitarbeitern und Mitarbeiterinnen gemeistert.

Nach diesen ersten Schritten in die Cloud sind sie nun in der Lage, erste Vorteile, die die Cloud bietet, zu nutzen, kontinuierlich weitere Optimierungen vorzunehmen und weitere Applikationen zu migrieren.