AWS Germany – Amazon Web Services in Deutschland
Wie die DERTOUR Online ihre Services mit Kubernetes Event-Driven Autoscaling auf Amazon EKS skaliert
von Maciej Krzyszton (DERTOUR Online GmbH) und Michelle Mei-Li Pfister (Amazon Web Services)
Die DERTOUR Online GmbH wurde 2014 als Startup und eigenständige Gesellschaft als Online-Reisevertrieb der DERTOUR Deutschland gegründet. Zu DERTOUR Deutschland gehören die Reiseveranstalter DERTOUR, ITS und Meiers Weltreisen. Sie bieten als Teil der DERTOUR Group Baustein-, Fern- und Pauschalreisen in 179 Ländern der Welt an, darunter Badeurlaub, Familienferien, Städtetrips, Rundreisen, Flussreisen, Hochseekreuzfahrten, Reisen zu Sportevents und vieles mehr. Die DTO ist unter anderem verantwortlich für den Online-Vertrieb der deutschen Marken inklusive der Veranstalterportale dertour.de, meiers-weltreisen.de und its.de sowie den Direktveranstalterportalen rewe-reisen.de und penny-reisen.de.
Die DERTOUR Online GmbH betreibt ihre Reiseonlineportale wie dertour.de, meiers-weltreisen.de und its.de auf dem Amazon Elastic Kubernetes Service (EKS). Amazon EKS ist ein verwalteter Kubernetes-Service, der die Verwendung von Kubernetes auf AWS vereinfacht. So werden mit Amazon EKS beispielsweise automatisch die Verfügbarkeit und Skalierbarkeit der Knoten auf der Kubernetes-Steuerebene verwaltet.
Dieser Blogpost gibt einen Überblick wie die DERTOUR Online ihre Services auf EKS mit Hilfe benutzerdefinierter Metriken in Datadog und Kubernetes Event-Driven Autoscaling (KEDA) skaliert.
Die Skalierung von Services anhand benutzerdefinierter Metriken – eine Herausforderung
Auf der DERTOUR B2C Plattform können Nutzer nach ihrem nächsten Urlaubsziel suchen, sich von Reisekatalogen und Magazinen inspirieren lassen und Länder, Inseln und Küstenregionen auf der ganzen Welt entdecken. Die blätterbaren Online-Kataloge bieten Tipps für Ausflüge, Hotels und Urlaubserlebnisse. Die DERTOUR B2C Plattform erwartet insbesondere am Abend, wenn viele Menschen zu Hause sind, einen erhöhten Besucherverkehr auf ihren Reise-Onlineportalen. Die Herausforderung besteht darin, mit diesem gestiegenen Besucherverkehr umzugehen und die auf EKS laufenden Services automatisch an den Bedarf anzupassen. Das bedeutet, dass mit steigendem Besucherverkehr auch die Anzahl der Pods, auf denen die Services laufen, erhöht werden muss. Ein Pod ist eine Abstraktion in Kubernetes und modelliert einen anwendungsspezifischen logischen Server.
Um die Anzahl der Pods für die Services automatisiert zu skalieren, kann in Kubernetes-Clustern beispielsweise das Horizontal Pod Autoscaling (HPA) genutzt werden. HPA wird in Kubernetes dazu verwendet automatisch die Anzahl der Pods basierend auf bestimmten Metriken wie beispielsweise der beobachteten CPU-Auslastung oder der Speichernutzung anzupassen. Dabei werden horizontale Skalierungstechniken genutzt: Wenn der Bedarf steigt, beispielsweise durch eine erhöhte CPU-Auslastung, werden als Reaktion mehr Pods eingesetzt. Derselbe Mechanismus wird genutzt, um bei sinkendem Bedarf mit einer Reduzierung der benötigten Pods zu reagieren.
Die Herausforderung besteht vor allem darin, die Skalierung basierend auf eigenen benutzerdefinierten Metriken durchzuführen. Ein Beispiel hierfür sind die Java-basierten Services der DERTOUR Online. Bei Java-Anwendungen bietet sich der genutzte Arbeitsspeicher der Pods als Metrik für die Skalierung an. Aufgrund der spezifischen Verwaltung des Arbeitsspeichers und des „Garbage Collection“-Mechanismus der Java Virtual Machine (JVM) spiegelt die Arbeitsspeichermetrik der JVM jedoch oft nicht die tatsächliche Nutzung des Arbeitsspeichers akkurat wider. Die Herausforderung ist es daher, einen Mechanismus zu finden, um die benötigte Metrik aufzuzeichnen und dann basierend auf dieser benutzerdefinierten Metrik die Pods zu skalieren.
Lösungsansatz mit KEDA
Um diese Herausforderung zu lösen, entschied sich die DERTOUR Online dafür, ihre benutzerdefinierten Metriken, welche sie mit Datadog aufzeichnen, KEDA zugänglich zu machen und auf diesem Weg ihre Services effektiv zu skalieren.
KEDA erweitert die Funktionalität des HPAs indem nicht nur die CPU-Auslastung und Speichernutzung als Metrik unterstützt wird, sondern auch wenn benutzerdefinierte Metriken bestimmte Schwellenwerte überschreiten. Hierfür müssen in KEDA externe Auslöser definiert werden, welche die benutzerdefinierten Metriken und gewünschten Schwellenwerte enthalten. Zum Definieren dieser Auslöser wird eine Vielzahl von „Scalern“ von unterschiedlichen Anbietern unterstützt. Über einen Scaler können benutzerdefinierte Metriken aus verschiedenen Quellen für KEDA zugänglich gemacht werden. Eine vollständige Liste der unterstützten Scaler kann hier eingesehen werden. Die DERTOUR Online nutzt für ihre benutzerdefinierten Metriken Datadog und verwendet deshalb für ihren KEDA-Auslöser den Datadog Scaler. Datadog ist ein Cloud-Monitoring Service, der Infrastruktur-Monitoring und Application Performance Monitoring integriert und automatisiert.
Das Setup ist wie folgt aufgebaut:
(1) Der externe Auslöser wird in einer benutzerdefinierten Ressourcendefinition (Custom Resource Definition) festgelegt. Diese Ressourcendefinition wird zusätzlich zum standardmäßigen Setup des HPAs gebraucht. In unserem Beispiel, wird hier der Datadog-Auslöser definiert, als auch andere Eigenschaften wie beispielsweise die Häufigkeit, in welcher die Metriken abgefragt werden sollen, sowie die Größe des Zeitfensters, in dem die Metrik aggregiert wird. Die benutzerdefinierte Ressourcendefinition wird dann mit dem Einsatz von KEDA im Kubernetes-Cluster installiert.
(2) Der Datadog-Agent und Datadog-Tracer sind mit der Anwendung integriert und von den Services werden Logs und Metriken an Datadog gesendet. Dort werden diese gespeichert und gegebenenfalls aggregiert.
(3) KEDA fragt regelmäßig die in der Ressourcendefinition beschriebenen Datadog-Auslöser an, um die dort gespeicherten Metriken weitergeleitet zu bekommen. Für die Authentifizierung von KEDA zu Datadog wird ein API-Key und ein App-Key genutzt.
(4) Basierend auf den Metriken wird dann die Entscheidung zum Hoch- oder Herunterskalieren des Workload getroffen und die Anzahl der Pods verändert.
Fazit
Die Nutzung von KEDA im Zusammenspiel mit Datadog zum Speichern von Metriken und HPA, hat es der DERTOUR Online ermöglicht automatisiert ihre Java-basierten und auch weitere Services zu skalieren. Es ist nun möglich abgestimmt auf den Workload eine Vielzahl von Metriken für die Steuerung der horizontalen Skalierung zu nutzen und damit die Anzahl ihrer Pods zielgerichtet und bedarfsbasiert zu skalieren. Im Vergleich zu der alleinigen Nutzung von HPA, bei der nur standardmäßig unterstützte Metriken zur Skalierung genutzt werden können, gibt dieses Setup mehr Flexibilität hinsichtlich der verfügbaren Metriken. Mithilfe der KEDA-basierten Skalierung konnte die DERTOUR Online 15% an Kosten für ihre EC2-Kosten im EKS-Cluster sparen. Weitere Vorteile sind, dass die Integration der Metriken durch Datadog mit KEDA durch schon vorhandene Scaler möglich ist und keine komplizierte Entwicklung von eigenen Metriken für HPA benötigt wurde. Außerdem ist es durch das neue Setup möglich auch eine Skalierung der Anzahl der Pods auf null zu erreichen, wodurch weitere Kosten gespart werden können. Ein Leitfaden zur Umsetzung von KEDA auf Amazon EKS kann hier gefunden werden.
Hintergrund
Die DERTOUR Group mit Sitz in Köln ist die Reisesparte der REWE Group. Sie zählt zu den führenden Reisekonzernen in Europa. Unter das Dach der DERTOUR Group gehören über 130 Unternehmen. Sie beschäftigt über 10.000 Mitarbeitende in 16 europäischen Ländern. Jährlich verreisen Millionen Gäste mit einem ihrer Reiseveranstalter oder Spezialisten. Zur DERTOUR Group zählen u. a. die Veranstalter DERTOUR, ITS, Meiers Weltreisen, Kuoni, Helvetic Tours, ITS Coop Travel, Billa Reisen, Koning Aap, Apollo, Exim Tours und Fischer, rund 2.000 Reisebüros (u. a. DERTOUR, DERPART, Kuoni, Exim, Fischer sowie Franchise- und Kooperationspartner), Hotelmarken wie Sentido, Aldiana und ananea sowie das Online-Reiseportal Prijsvrij Vakanties. Auch vor Ort ist die DERTOUR Group für ihre Gäste aktiv: Mit 71 Büros ist das konzerneigene Agenturnetzwerk in 31 Reiseländern präsent. Die Mitarbeiterinnen und Mitarbeiter der Zielgebietsagenturen betreuen die Gäste der DERTOUR Group von der Ankunft bis zum Abflug am Urlaubsort. Weitere Informationen finden Sie auf www.dertour-group.com.
Über die Autoren
![]() |
Maciej Krzyszton ist DevOps-Engineer bei der DERTOUR Online GmbH. Mit über 9 Jahren Erfahrung im IT begeistert er sich dafür, skalierbare und sichere Cloud-Infrastrukturen zu entwickeln. Mit seinem Hintergrund in Systemintegration und DevOps-Engineering treibt Maciej die Zusammenarbeit zwischen verschiedenen Fachbereichen voran und setzt komplexe Geschäftsanforderungen in effiziente technische Lösungen um. Sein Fokus liegt auf der Automatisierung von Workflows, der Nutzung von Infrastructure-as-Code-Tools wie Terraform sowie der Optimierung von Cloud-Ressourcen mit AWS-Diensten. |
![]() |
Michelle Mei-Li Pfister ist Solutions Architect at AWS. Sie unterstützt Unternehmen aus dem Einzelhandel und der Konsumgüterindustrie dabei moderne Anwendungen in der AWS Cloud umzusetzen. Während ihrer Arbeit mit AWS Kunden fokussiert sie sich auf Themen rund um Künstliche Intelligenz und Machine Learning. |