AWS Germany – Amazon Web Services in Deutschland

Amazon ECS oder Amazon EKS: AWS Containerservices sinnvoll nutzen

von Deepak Singh übersetzt durch Dominic Bortmes

Eine der häufigsten Anfragen, die wir von Kunden hören, lautet: „Helfen Sie mir bei der Entscheidung, welchen Containerdienst ich nutzen soll.“ Wir empfehlen, dass die meisten Teams zu Beginn eine Container-Lösung auswählen, deren Eigenschaften ihren Anwendungsanforderungen oder betrieblichen Präferenzen am besten entsprechen. In diesem Beitrag werden einige der wichtigsten Entscheidungen behandelt, die bei der Wahl zwischen AWS-Containerdiensten getroffen werden müssen.

Container in großem Maßstab ausführen

Wenn Teams ihre containerisierten Anwendungen skalieren, benötigen sie irgendwann mehr Hosts oder Container-Computeknoten, um die zusätzlichen Container auszuführen. Aus einem Container-Host können schnell 100 werden, mit unterschiedlichen Instanzgrößen und Instanzoptimierungen (je Anwendungsfall), auf denen potenziell eine große Anzahl einzelner Container ausgeführt wird.

Angesichts der steigenden Anzahl von Container-Computeknoten benötigen Teams Tools, die eine bessere Ressourcenzuweisung und Resilienz bieten. Sie benötigen Lösungen, um eigenständige Knoten in Cluster umzuwandeln, um ihre Container zu verwalten. Sie suchen nach einer robusteren Container-Lösung, die die vollständige Verwaltung ihrer Container-Workloads in diesen Clustern ermöglicht. Im großen Maßstab kann der Betrieb von Container-Orchestrierungsplattform, Clustern und Computeknoten selbst die kompetentesten Teams schnell maßgeblich in Anspruch nehmen und ungeplant zur Hauptaufgabe werden.

Der Aufbau eines Teams mit den Fähigkeiten, die erforderlich sind, um Ihren internen Benutzern eine hochverfügbare, sichere und aktuelle Containerplattform bereitzustellen, ist eine Herausforderung. In den letzten zehn Jahren haben wir ein ähnliches Muster beobachtet, als Unternehmen virtuelle Maschinen (VM) eingeführt und sich mit den Managementproblemen der zunehmenden Anzahl virtueller Maschinen auseinandergesetzt haben. Wie bei diesem letzten Umbruch in der Datenverarbeitung ist der Mangel an effektiven Container-Operationen und Tools ein erhebliches Hindernis für die Einführung.

Kunden fragten, ob AWS ihnen die erfolgreiche Einführung von Containern in großem Maßstab erleichtern könnte. 2015 haben wir Amazon ECS veröffentlicht, unseren ersten verwalteten Container-Orchestrierungsservice — und das war noch nicht alles. AWS investiert weiterhin stark, um unseren Kunden die Einführung von Containern zu erleichtern, indem wir ständig neue Funktionen und Fähigkeiten hinzufügen. Wir bieten eine breite Palette vollständig verwalteter Containerdienste an. AWS kümmert sich um Betrieb, Verfügbarkeit, Patching, Skalierbarkeit und Sicherheit der zugrunde liegenden Infrastruktur. Diese Services reduzieren den Zeitaufwand für Ressourcenmanagement, Wartung und Kapazitätsplanung, sodass Sie sich auf die Steigerung Ihrer Effizienz und Liefergeschwindigkeit konzentrieren können.

Welchen Containerdienst soll ich nutzen?

AWS-Kunden haben die Wahl zwischen vollständig verwalteten Container-Services, darunter Amazon Elastic Container Service (Amazon ECS) und Amazon Elastic Kubernetes Service (Amazon EKS). Beide Services unterstützen eine breite Palette von Datenverarbeitungsoptionen, sind tief in andere AWS-Services integriert und bieten die globale Skalierbarkeit und Zuverlässigkeit, die Sie von AWS erwarten. Wie unterscheiden sie sich also?

Einfachheit versus Flexibilität

Kunden sagen uns, dass sie die Einfachheit von Amazon ECS am meisten schätzen. Amazon ECS bietet eine „AWS-opinionated“ Lösung für den Betrieb von Containern in großem Maßstab. Es reduziert die Zeit, die Kunden benötigen, um ihre containerisierten Anwendungen erfolgreich zu erstellen, bereitzustellen oder zu migrieren. Die Verwendung von Amazon ECS wurde von Anfang an auf Einfachheit ausgelegt und reduziert die Anzahl der Entscheidungen, die Kunden in Bezug auf Compute-, Netzwerk- und Sicherheitskonfigurationen treffen müssen, ohne Abstriche bei Skalierbarkeit oder Funktionen machen zu müssen. Wenn Sie beispielsweise einen Load Balancer benötigen, lassen sich AWS Application Load Balancer (ALB) oder Network Load Balancer (NLB) nahtlos in Amazon ECS integrieren, sodass Sie keine generalisierten Abstraktionen erstellen oder verwalten müssen.

Amazon ECS unterstützt eine wachsende Anzahl beliebter AWS-Services, darunter Amazon SageMaker, Amazon Polly, Amazon Lex und AWS Batch, und Hunderttausende von Kunden, darunter Samsung, GE, Expedia und Duolingo, vertrauen ihm. Kunden, die Container in großem Maßstab einsetzen und auf der Suche nach leistungsstarker Einfachheit sind, sollten mit Amazon ECS beginnen.

Teams entscheiden sich für Kubernetes wegen seines lebendigen Ökosystems und seiner Community, konsistenten Open-Source-APIs und seiner großen Flexibilität. Sie verlassen sich auf Amazon EKS, um das „undifferentiated heavy lifting des Aufbaus und Betriebs von Kubernetes in großem Maßstab zu bewältigen.

Amazon EKS bietet die Flexibilität von Kubernetes mit der Sicherheit und Stabilität eines von AWS verwalteten Service, der für Kunden optimiert ist, die hochverfügbare Services erstellen. Amazon EKS bietet eine sichere, zuverlässige, skalierbare und resiliente Kubernetes-Umgebung für Kunden wie Intel, Snap, Intuit, GoDaddy und Fidelity und hilft Amazon.com dabei, ein unglaublich gutes Kundenerlebnis zu bieten. Kunden, die Kubernetes einsetzen und sich die Resilienz von AWS wünschen, sollten mit Amazon EKS starten.

Wo sollte ich meine Container betreiben?

Amazon ECS und Amazon EKS verwalten, wie Ihre Container laufen, aber Sie benötigen trotzdem einen Compute-Layer. AWS bietet Ihnen eine Reihe einheitlichen Rechenressourcen, um ihre Daten zu verarbeiten, wo Sie wollen. Sie können das richtige Tool für die jeweilige Aufgabe auswählen, um die richtige Mischung aus Kosten, Leistung und Funktionen zu erhalten.

Sowohl bei Amazon EKS als auch bei Amazon ECS haben Sie die Möglichkeit, Ihre Container mit den folgenden Compute-Optionen auszuführen:

  • AWS Fargate — eine „serverlose“ Datenverarbeitungs-Engine, bei der Sie nur für die Ressourcen bezahlen, die für den Betrieb Ihrer Container erforderlich sind. Geeignet für Kunden, die sich keine Gedanken über die Verwaltung von Servern, die Kapazitätsplanung oder die Isolierung von Container-Workloads aus Sicherheitsgründen machen möchten.
  • EC2 Instanzen — bietet die breiteste Auswahl an Instance-Typen, einschließlich Prozessor, Speicher und Netzwerk. Ideal für Kunden, die die zugrunde liegende Compute-Umgebung und das Hostbetriebssystem verwalten oder anpassen möchten.
  • AWS Outposts Server — Stellen Sie Ihre Container mithilfe der AWS-Infrastruktur an On-Premises-Standorten bereit, um ein konsistentes Hybrid-Erlebnis zu erzielen. Geeignet für Kunden, die lokale Datenverarbeitung, Datenresidenz und hybride Anwendungsfälle erfordern.
  • AWS Local Zones eine Erweiterung einer AWS-Region. Geeignet für Kunden, die Ressourcen an mehreren Standorten näher an große Bevölkerungs- und Industrie-Zentren platzieren müssen.
  • AWS Wavelength — mobiles Edge-Computing mit extrem niedriger Latenz. Geeignet für 5G-Anwendungen, interaktive und immersive Erlebnisse und vernetzte Fahrzeuge.

Fazit

Die Wahl eines Container-Service bei AWS muss keine binäre Entscheidung sein. Amazon ECS und Amazon EKS arbeiten dank gemeinsamer Abläufe, integrierter Sicherheitstools, gemeinsamem IAM und konsistenten Verwaltungstools für Compute- und Netzwerkoptionen nahtlos zusammen. Nutzen Sie die Einfachheit konsistenter AWS-Services in Amazon ECS oder nutzen Sie die Flexibilität von Kubernetes auf Amazon EKS.

Lassen Sie sich bei Ihrer Wahl von den Anforderungen einer bestimmten Anwendung oder den Präferenzen eines einzelnen Teams leiten. Sie müssen keine Alles-oder-Nichts-Entscheidung treffen — die Portabilität von Containern stellt sicher, dass Sie es sich unabhängig von Entscheidung nicht um eine irreversible Entscheidung handelt.

Wenn Sie leistungsstarke Einfachheit, offene Flexibilität oder beides wünschen, kann AWS Ihnen helfen. Erfahren Sie mehr über Container bei AWS.

Über die Autoren

Deepak Singh has been with Amazon Web Services since 2008, and currently leads container services, Linux, and HPC. Prior to starting the container service team, Deepak led product management for the Amazon EC2 instance platform.