Brand
container_01.jpg
Dennis Kögel, AWS Certified Solutions Architect, 18.05.2020

Container-Logistik auf AWS

Container haben das Entwickeln, Verteilen und Betreiben von Anwendungen in den letzten Jahren stark geprägt. Sie sind ein sehr beliebtes Mittel, um kürzere Entwicklungszyklen zu erreichen. Deshalb baut heutzutage quasi jede IT-Organisation ihre Abläufe darauf auf – oder arbeitet gerade daran.

Doch neben der Containerisierung der Anwendungen bedarf es ausgeklügelter Infrastrukturdienste, die sich um die Verwaltung, Skalierung, Überwachung, Fehlerbehandlung, Vernetzung, ... der Container kümmern.

AWS (Amazon Web Services) bietet hier mit ECS und EKS gleich zwei verschiedene Dienste an, die sich mit der Orchestrierung von Containern befassen.

Wir möchten hier eine kurze Orientierungshilfe geben.

ECS: Elastic Container Service

ECS (nicht zu verwechseln mit EC2) ist Amazons Eigenentwicklung zur Container-Orchestrierung. ECS ging bereits 2014 an den Start und ist damit der älteste Orchestrierungsdienst eines großen Cloud-Anbieters.

Ein großer Vorteil von ECS ist die tiefe Verflechtung mit dem Ökosystem der AWS-Dienste, beispielsweise mit den Autoscaling-, Loadbalancing- und Sicherheitsdiensten. So können unter anderem Aktualisierungen von Anwendungen ohne Ausfall gewährleistet werden.

Zudem ist ECS ein kostenloser Dienst. Nur die eigentlichen Compute-Ressourcen für die Container – primär Arbeitsspeicher und Rechenleistung – werden berechnet.

Vorteile

 Kostenlos

 Harmoniert mit anderen AWS-Diensten

 Leichter Einstieg

Nachteile

 AWS-spezifisch

EKS: Elastic Kubernetes Service

EKS stellt einen durch AWS verwalteten Kubernetes-Cluster bereit. Kubernetes stammt ursprünglich von Google und hat sich inzwischen zum De-facto-Standard für Container-Orchestrierung entwickelt. Einhergehend hat sich ein riesiges Ökosystem darum gebildet.

Fluch und Segen von Kubernetes ist seine Flexibilität. Das bedeutet ein hohes Investment in Kubernetes-spezifische Kenntnis und Erfahrung, vom Anwendungsentwickler bis zum Betrieb. Dafür lassen sich mit Kubernetes auch sehr komplexe Anforderungen umsetzen.

Ein weiterer Vorteil ist eine größere Unabhängigkeit von den AWS-Diensten, so dass eine im eigenen Rechenzentrum aufgebaute Kubernetes-Umgebung mit geringen Anpassungen auch auf Amazons EKS laufen kann.

Amazon EKS stellt eine verwaltete Kubernetes Control Plane zur Verfügung und liegt bei ca. $75 pro Monat und Cluster. Die Kosten für Compute-Ressourcen kommen hinzu (wie bei ECS).

Vorteile

 Hohe Flexibilität für komplexe Anforderungen

 Höhere Unabhängigkeit von AWS

Nachteile

 Schwerer mit anderen AWS-Diensten zu integrieren

 Höhere Investition (Wissensaufbau)

Fazit

Eine goldene Regel im Leben und insbesondere in der IT lautet: Keep it simple!

Es gibt gute Gründe, sich für EKS zu entscheiden: Beispielsweise, wenn Kubernetes bereits im Einsatz ist oder wenn die Anforderungen nicht mit ECS abzudecken sind.

Man sollte aber hinterfragen, ob tatsächlich Anforderungen in den Größenordnungen von Google zu bewältigen sind :-). Für die allermeisten Anwendungsfälle ist ECS mehr als ausreichend und fügt sich wesentlich eleganter in das Ökosystem der AWS-Dienste ein.

Letzten Endes spielen viele individuelle Faktoren eine Rolle. Die Cloud Mates stehen Ihnen gerne zur Seite, um gemeinsam alle Anforderungen zu bewerten und die passende Architektur zu finden!

  Zurück