Den ersten Schritt machen
Einführung
Container sind ein wichtiger Bestandteil der modernen Anwendungsentwicklung. Sie sind zu einer Standardmethode zum Organisieren von Rechenressourcen und zum Verwalten des Inhalts Ihrer Anwendungsbereitstellungen geworden.
Container bieten eine diskrete, reproduzierbare Rechenumgebung. Sie bieten auch eine Möglichkeit, die Paketierung und das Abhängigkeitsmanagement zu vereinfachen. Von der Orchestrierung sehr großer Multi-Cluster-Anlagen bis hin zu Webanwendungen – oder sogar zum Testen Ihrer Arbeit und zur Durchführung eines Machbarkeitsnachweises auf Ihrem Laptop – sie sind eine großartige Möglichkeit um sofort mit der Entwicklung von Software für die Bereitstellung in der Cloud zu beginnen.
Dieser Entscheidungsleitfaden hilft Ihnen beim Einstieg und bei der Auswahl des richtigen AWS-Container-Service für Ihre moderne App-Entwicklung.
Dieser vierminütige Ausschnitt stammt aus einer 57-minütigen Aufzeichnung einer Präsentation von Vikram Venkataraman, einem leitenden technischen Kundenbetreuer bei AWS, die auf dem AWS Summit DC 2022 gehalten wurde. Er bietet einen Überblick über die verfügbaren AWS-Containerservices.
Zeit zum Lesen
20 Minuten
Zweck
Finden Sie heraus, welcher AWS-Container-Service am besten zu Ihrem Unternehmen passt.
Stufe
Einsteiger
Letzte Aktualisierung
26. April 2023
Abgedeckte Services
Weitere Entscheidungsleitfäden zu
Verstehen
Container sind zu einem De-facto-Standard für die Paketierung von Anwendungscode, Konfigurationen und Abhängigkeiten in einem einzigen Artefakt geworden, da sie auf konsistente Weise in mehreren Umgebungen bereitgestellt werden können.
Container sind ein zentraler Bestandteil jeder modernen Strategie zur Anwendungsentwicklung. Um einen Kontext für Container-bezogene AWS-Services bereitzustellen, zeigt das Bild rechts die verfügbaren AWS-Containeroptionen nach Ebene (ausführlicher erklärt in diesem Video).
Kapazität
Die Kapazität bezieht sich auf die zugrunde liegende Rechenleistung, auf der Sie Ihren Container bereitstellen, auf Ihre Zentraleinheit (CPU) und auf die Speicheranforderungen. Unter Kapazität versteht man die Infrastruktur, auf der der Container ausgeführt wird. Es gibt zwei Möglichkeiten für die Kapazität Ihrer Container in AWS:
- Mit Amazon Elastic Compute Cloud (AmazonEC2) können Sie Ihre Container auf von Ihnen verwalteten virtuellen Rechnern ausführen.
- AWS Fargate ist eine Serverless-Datenverarbeitungs-Engine für Container, mit der Sie Container ausführen können, ohne dafür die zugrunde liegende Infrastruktur verwalten zu müssen. Mit Fargate können Sie Container starten und skalieren, ohne sich Gedanken über die darunter liegenden EC2-Instances machen zu müssen.
Orchestrierung
Es ist nicht ungewöhnlich, dass Unternehmen nicht nur einen oder einige wenige, sondern Tausende von Containern betreiben. Die Verwaltung einer solch komplexen Umgebung ist eine Herausforderung. Orchestrierungsservices vereinfachen die Bereitstellung und Verwaltung dieser Anwendungen. AWS bietet drei Orchestrierungsservices an:
- Amazon Elastic Container Service (Amazon ECS) ist ein vollständig verwalteter Container-Orchestrierungsservice und eignet sich ideal für Unternehmen, die eine einfache und kostengünstige Möglichkeit zur Bereitstellung und Verwaltung von Container-Anwendungen suchen.
- Amazon Elastic Kubernetes Service (Amazon EKS) ist ein vollständig verwalteter Kubernetes-Service, mit dem Sie Kubernetes-Cluster in AWS ausführen und verwalten können.
- Red Hat OpenShift Service in AWS (ROSA) ist ein vollständig verwalteter OpenShift-Service, mit dem Sie OpenShift-Cluster in AWS ausführen und verwalten können. Dies ist eine gute Option für Kunden, die OpenShift bereits On-Premises einsetzen.
Bereitstellung
Die Bereitstellung stellt eine Benutzeroberfläche für die Orchestrierungsebene der Services bereit. Jeder Orchestrator hat seine eigene Komplexität. Die Bereitstellungsservices verbergen diese Komplexität und machen es Ihnen leichter, den Service zu nutzen. Zu den AWS-Services in dieser Kategorie gehören:
- AWS App Runner ist ein vollständig verwalteter Service, der automatisch Container-Images aus Ihrem Quellcode erstellt, die Container in einer vollständig verwalteten Infrastruktur bereitstellt und sie je nach Bedarf skaliert.
- AWS Elastic Beanstalk ist ein vollständig verwalteter Service, der die Bereitstellung, Verwaltung und Skalierung von Webanwendungen vereinfacht. Elastic Beanstalk unterstützt auch Container und bietet eine vollständig verwaltete Plattform für die Bereitstellung und Skalierung containerisierter Anwendungen.
- Amazon Lightsail ist eine einfache und kostengünstige Möglichkeit, virtuelle private Server zu starten und zu verwalten, bietet aber auch Unterstützung für Container, sodass Sie mithilfe von Lightsail-Instances containerisierte Anwendungen erstellen und bereitstellen können.
Überlegungen
Es ist wichtig, einen Container-Service auszuwählen, der Ihren Anwendungsanforderungen und betrieblichen Präferenzen entspricht. Im folgenden Abschnitt werden einige der wichtigsten Kriterien beschrieben, die bei der Auswahl eines Container-Services sowie unterstützender Tools und Services zu berücksichtigen sind.
-
Verwalteter Service und Betriebsaufwand
-
Eigenschaften der Workloads
-
Portabilität der Anwendung
-
Unternehmensgröße und Fähigkeiten
-
Einfache Bereitstellung
-
Unternehmen können sich für die Cloud entscheiden, um die Betriebskosten zu senken, indem sie auf verwalteten Services standardisieren, die die Betriebslast zu AWS verlagern. Höhere Abstraktionsebenen ermöglichen es Entwicklern und Betreibern, sich auf ihre eigenen, einzigartigen Mehrwertaktivitäten zu konzentrieren, anstatt auf undifferenzierte Aufgaben.
Bei der Entwicklung mit Containern in AWS werden Services mit höherer Abstraktionsebene verwendet, um den Betriebsaufwand für das Warten der Infrastruktur nach AWS zu verlagern.
-
Wenn Sie Ihre Workload-Muster verstehen, können Sie leichter Architekturentscheidungen treffen. Dazu können Webanwendungen, API-basierte Microservices, ereignisgesteuerte Anwendungen, Streaming und Messaging, Daten-Pipelines, IT-Automatisierungen und mehr gehören. Einige Workloads erzielen in einer bestimmten Rechenumgebung eine bessere Leistung oder sind kostengünstiger als in einem anderen Typ.
-
Viele Kunden möchten sicherstellen, dass ihre Anwendungen in anderen Umgebungen ausgeführt und problemlos migriert oder verschoben werden können. Für sie ist es wichtig, die Wahl zu haben oder eine Anwendung sowohl On-Premises als auch in der Cloud auszuführen.
Wir empfehlen den Aufbau von Kompetenzen in Softwarearchitekturen und die Erstellung von Paketen, die es Ihnen ermöglichen, differenzierende Geschäftslogik zwischen Computing-Services leichter zu portieren.
Anwendungen, die mithilfe bestimmter Technologien entwickelt wurden, lassen sich möglicherweise auf einigen Computing-Services besser ausführen als auf anderen.
-
Die Fähigkeiten Ihres Unternehmens sind ein wichtiger Faktor bei der Entscheidung, welche Container-Services Sie verwenden. Der von Ihnen gewählte Ansatz wird einige Investitionen in DevOps- und Site Reliability Engineer (SRE)-Teams erfordern. Der Aufbau einer automatisierten Pipeline zur Bereitstellung von Anwendungen ist bei den meisten modernen Anwendungsentwicklungen üblich.
Einige Entscheidungen erhöhen den Verwaltungsaufwand. Einige Organisationen verfügen beispielsweise über die Fähigkeiten und Ressourcen, um eine Kubernetes-Implementierung auszuführen und zu verwalten, da sie in starke SRE-Teams investieren, um Kubernetes-Cluster zu verwalten. Diese Teams kümmern sich um häufige Cluster-Aktualisierungen (Kubernetes hat beispielsweise drei Hauptversionen pro Jahr und verwirft alte Versionen).
Die Unternehmensgröße ist ein wichtiger Faktor, da kleinere Startups möglicherweise über ein kleines IT-Personal verfügen, das sich aus Mitarbeitern zusammensetzt, die mehrere Rollen erfüllen, während größere Unternehmen möglicherweise Hunderte von Workloads in der Produktion gleichzeitig unterstützen.
-
Verschiedene AWS-Container-Services erfüllen besondere Anforderungen in Bezug auf die Komplexität der Bereitstellung. So wird jeder Service für seine eigene Rolle optimiert:
- AWS AppRunner bietet den einfachsten Weg, mit dem Sie Ihre Anwendung im öffentlichen Internet bereitstellen können, ohne die zugrunde liegende Infrastruktur verwalten oder anpassen zu müssen.
- Amazon ECS ist eine gute Wahl, wenn Sie etwas mehr Kontrolle über die Netzwerk- und Sicherheitskonfigurationen benötigen, ohne auf Skalierbarkeit oder Funktionen verzichten zu müssen.
- Mit Amazon EKS können Sie die Flexibilität und Kontrolle über die Anwendungsbereitstellung und Orchestrierung nutzen, die Ihnen die Kubernetes-Technologie bietet.
- AWS AppRunner bietet den einfachsten Weg, mit dem Sie Ihre Anwendung im öffentlichen Internet bereitstellen können, ohne die zugrunde liegende Infrastruktur verwalten oder anpassen zu müssen.
Auswahl
Jetzt, da Sie die Kriterien kennen, anhand derer Sie Ihre Container-Optionen bewerten werden, können Sie auswählen, welche AWS-Container-Services am besten zu Ihren organisatorischen Anforderungen passen.
Die folgende Tabelle zeigt, welche Services für welche Gegebenheiten optimiert sind. Mithilfe der Tabelle können Sie ermitteln, welcher Container-Service für Ihr Unternehmen und Ihren Anwendungsfall am besten geeignet ist.
Kapazitätsoptionen
Die Kapazität bezieht sich auf die zugrunde liegende Rechenleistung, auf der Sie Ihren Container bereitstellen, sowie auf Ihre CPU- und Speicheranforderungen. Unter Kapazität versteht man die Infrastruktur, auf der der Container ausgeführt wird.
Amazon EC2 ist ein Webservice, der mithilfe von Servern in den Rechenzentren von Amazon anpassbare Rechenkapazität bereitstellt, die Sie zum Erstellen und Hosten Ihrer Softwaresysteme nutzen können.
AWS Fargate ist eine Technologie, die Sie mit Amazon ECS zum Ausführen von Containern verwenden können, ohne Server oder Cluster von Amazon-EC2-Instances verwalten zu müssen. Mit Fargate müssen Sie für die Ausführung von Containern keine Cluster virtueller Maschinen mehr bereitstellen, konfigurieren oder skalieren.
Container-Orchestrierung
Container-Orchestrierungsservices verwalten den Ort und den Zeitpunkt der Ausführung Ihrer Container.
Red Hat OpenShift Service in AWS (ROSA)
Red Hat OpenShift Service in AWS vereinfacht die Erstellung und den Betrieb von Red-Hat-OpenShift-Clustern in AWS. Für Anwendungen, die bereits On-Premises auf der OpenShift-Container-Plattform containerisiert sind, bietet ROSA eine vertraute API-Oberfläche und behält die Toolchain für die Bereitstellung bei. So können Sie sich auf den Faktorwechsel des Datenmodells und nicht des gesamten Anwendungs-Stacks konzentrieren.
Amazon Elastic Kubernetes Service
Amazon EKS unterstützt Sie beim Starten, Ausführen und Skalieren von Kubernetes-Anwendungen in der AWS Cloud oder On-Premises.
Amazon ECS ist ein vollständig verwalteter Container-Orchestrierungsservice, der die Bereitstellung, Verwaltung und Skalierung von Containeranwendungen unterstützt.
Bereitstellung
Die Kategorie der Bereitstellungsservices bietet eine Benutzeroberfläche für die Orchestrierungsebene der Services. Jeder Orchestrator hat seine eigene Komplexität. Bereitstellungsservices umgehen diese Komplexität und vereinfachen die Nutzung des Services durch den Kunden.
Mit Elastic Beanstalk können Sie Anwendungen schnell in der AWS Cloud bereitstellen und verwalten, ohne sich mit der Infrastruktur vertraut machen zu müssen, auf der diese Anwendungen ausgeführt werden. Elastic Beanstalk reduziert die Verwaltungskomplexität, ohne die Auswahl oder die Steuerung einzuschränken.
Mit AWS App Runner können Sie mit minimalen Infrastrukturkenntnissen containerisierte Anwendungen auf einem vollständig verwalteten Service erstellen und ausführen.
Lightsail bietet benutzerfreundliche Virtual Private Server (VPS)-Instances, -Container, -Speicher, -Datenbanken und vieles mehr zu einem kostengünstigen monatlichen Preis.
Tools
Tools zur Bereitstellung einer Container-Registrierung sowie zur Containerisierung und Migration vorhandener Anwendungen.
Amazon Elastic Container Registry
Als vollständig verwaltete Container-Registry bietet Amazon-ECR Hochleistungs-Hosting, sodass Sie Anwendungs-Images und Artefakte überall zuverlässig bereitstellen können.
On-Premises
Ermöglicht die Ausführung einer vertrauten Steuerebene, um ein konsistentes Erlebnis zu gewährleisten, egal, wo Ihre containerbasierten Anwendungen ausgeführt werden.
Amazon Elastic Container Service (ECS) Anywhere
Amazon ECS Anywhere ist eine Feature von Amazon ECS, mit der Sie Container-Workloads in Ihrer Infrastruktur ausführen und verwalten können.
Mit Amazon EKS Anywhere können Sie Kubernetes-Cluster in Ihrer eigenen Infrastruktur erstellen und betreiben.
Amazon EKS verwendet Amazon EKS Distro, eine von AWS erstellte und verwaltete Kubernetes-Distribution. Amazon EKS Distro vereinfacht die Erstellung zuverlässiger und sicherer Cluster.
Verwendung
Sie sollten nun ein klares Verständnis für jeden AWS-Container-Service (und die unterstützenden AWS-Tools und -Services) haben und wissen, welcher für Ihr Unternehmen und Ihren Anwendungsfall am besten geeignet ist.
Um herauszufinden, wie Sie die einzelnen verfügbaren AWS-Container-Services nutzen und mehr über sie erfahren, haben wir einen Pfad bereitgestellt, der Ihnen zeigt, wie jeder der Services funktioniert. Der folgende Abschnitt enthält Links zu ausführlicher Dokumentation, praktischen Tutorials und Ressourcen, die Ihnen den Einstieg erleichtern.
-
Amazon EC2
-
Amazon ECR
-
Amazon ECS
-
Amazon EKS
-
Amazon Lightsail
-
AWS App Runner
-
AWS Elastic Beanstalk
-
AWS Fargate
-
ROSA
-
Amazon EC2
-
Erste Schritte mit Amazon EC2
Greifen Sie auf die vollständige technische Dokumentation zu Amazon EC2 zu, einschließlich Anleitungen zu Linux- und Windows-Instances.
Benutzerhandbuch für VM Import/Export
Erfahren Sie, wie Sie Images von virtuellen Maschinen (VM) aus Ihrer vorhandenen Virtualisierungsumgebung in Amazon EC2 importieren und anschließend wieder exportieren.Amazon EC2 Auto Scaling mit EC2-Spot-Instances
Erfahren Sie, wie Sie mithilfe von Amazon EC2 Auto Scaling mit Launch-Vorlagen zum Anfordern von Amazon-EC2-Spot-Instances einen statusfreien, fehlertoleranten Workload erstellen.
Bereitstellen einer Webanwendung in Amazon EC2
Wir führen Sie durch die Erstellung einer Amazon-EC2-Instance mithilfe von AWS CDK und das Bereitstellen einer Webanwendung auf dieser Instance.
-
Amazon ECR
-
Was ist Amazon Elastic Container Registry (ECR)?
Ein Leitfaden für die ersten Schritte mit und der Verwendung von ECR.Amazon ECR in Architekturen mit mehreren Konten und mehreren Regionen
Erkunden wichtiger Überlegungen zu Amazon-ECR-Architekturen, die sich über AWS-Konten und AWS-Regionen erstrecken, sowie zu Architekturen im Zusammenhang mit hypothetischen Kundenanwendungsfällen.
Eine Pipeline mit einer Amazon-ECR-Quelle und einer ECS-to-CodeDeploy-Bereitstellung erstellen
Konfigurieren Sie eine Pipeline in AWS CodePipeline, die Container-Anwendungen mithilfe einer Blue/Green-Bereitstellung zur Verfügung stellt, die Docker-Images unterstützt.
-
Amazon ECS
-
Erste Schritte mit Amazon ECS
Dieser Leitfaden bietet eine Einführung in die verfügbaren Tools für den Zugriff auf Amazon ECS und eine schrittweise Anleitung zur Ausführung von Containern.
Neuerungen und zukünftige Entwicklungen bei Amazon ECS
Erfahren Sie, was es seit der Einführung von Amazon ECS Anywhere Neues gibt, neue Funktionen von AWS Fargate und einen Ausblick auf die spannenden Verbesserungen von Amazon ECS.
Bereitstellung von Amazon Elastic Container Service (ECS)
Dieser Leitfaden bietet einen Überblick über die Bereitstellungsoptionen von Amazon ECS in AWS und zeigt, wie es für die Verwaltung einer einfachen containerisierten Anwendung verwendet werden kann.
Amazon-ECS-Workshop
Dieser Workshop richtet sich an Personen, die noch nicht mit AWS Fargate, Amazon ECS oder sogar dem Docker-Container-Workflow vertraut sind.
Docker-Container in Amazon ECS bereitstellen
Erfahren Sie, wie Sie eine Docker-fähige Beispielanwendung auf einem Amazon-ECS-Cluster hinter einem Load Balancer ausführen, die Beispielanwendung testen und Ihre Ressourcen löschen, um Gebühren zu vermeiden.
-
Amazon EKS
-
Erste Schritte mit Amazon EKS
Erfahren Sie mehr über Amazon Elastic Kubernetes Service (Amazon EKS), einen verwalteten Service, mit dem Sie Kubernetes in AWS ausführen können, ohne Ihre eigene Kubernetes-Steuerebene oder -Knoten installieren, betreiben und warten zu müssen.
Bereitstellung von Amazon Elastic Kubernetes Service (EKS)
Erkunden Sie die Bereitstellungsoptionen von Amazon EKS in AWS und erfahren Sie, wie Sie den Service zur Verwaltung einer allgemeinen containerisierten Anwendung verwenden können.
Schnellstart-Referenzbereitstellung von Amazon EKS
Mithilfe eines Leitfadens für die Schnellstart-Referenzbereitstellung bieten wir eine schrittweise Anleitung zum Bereitstellen von Amazon Elastic Kubernetes Service (Amazon EKS)-Clustern.
Bereitstellen einer Kubernetes-Anwendung
Dieses Tutorial zeigt Ihnen, wie Sie eine containerisierte Anwendung auf einem Kubernetes-Cluster bereitstellen, das von Amazon Elastic Container Service for Kubernetes (Amazon EKS) verwaltet wird.Workshop für Amazon EKS
Praktische Übungen, um mehr über Amazon Elastic Kubernetes Service zu erfahren.
Workshop besuchen »
-
Amazon Lightsail
-
Erstellen, Übertragen und Bereitstellen von Container-Images
mit Amazon Lightsail
Dieses Tutorial zeigt, wie Sie mithilfe einer Docker-Datei ein Container-Image auf Ihrem lokalen Rechner erstellen. Nachdem Sie Ihr Image erstellt haben, können Sie es an Ihren Lightsail-Container-Service übergeben, um es bereitzustellen.
Ressourcen-Center für Amazon Lightsail
Entdecken Sie die Tutorials, Videos und Links zu den wichtigsten Konzeptdokumenten von Lightsail.
Launch einer virtuellen Maschine unter Linux mit Amazon Lightsail
In diesem Tutorial erstellen Sie eine Amazon-Linux-Instance in Amazon Lightsail. Nachdem die Instance ausgeführt wurde, stellen Sie über SSH in der Lightsail-Konsole über das browserbasierte SSH-Terminal eine Verbindung zu ihr her.
-
AWS App Runner
-
Erste Schritte mit AWS App Runner
Dieses Tutorial führt Sie durch die Konfiguration des Quellcodes und der Bereitstellung, der Service-Erstellung und der Service-Laufzeit zur Bereitstellung Ihrer Anwendung an den App-Runner-Service. Außerdem wird gezeigt, wie Sie eine Code-Version bereitstellen, eine Konfigurationsänderung vornehmen und Protokolle anzeigen.
Tutorial anwenden »
AWS App Runner: Vom Code zu einer skalierbaren, sicheren Webanwendung in wenigen Minuten
Erfahren Sie, wie AWS App Runner entwickelt wurde, um das Bereitstellen von Webanwendungen und APIs in der Cloud zu vereinfachen – unabhängig von der Sprache, in der sie geschrieben wurden, und selbst für Teams, die über keine Erfahrung mit dem Bereitstellen und Verwalten von Containern oder Infrastruktur verfügen.
Eine Webanwendung mit AWS App Runner bereitstellen
Befolgen Sie diese schrittweise Anleitung, um eine containerisierte Webanwendung mithilfe von AWS App Runner bereitzustellen. Beginnen Sie mit Ihrem Quellcode oder einem Container-Image. App Runner entwickelt und stellt die Webanwendung automatisch bereit und sorgt für einen verschlüsselten Lastausgleich des Datenverkehrs. -
AWS Elastic Beanstalk
-
Erste Schritte mit Elastic Beanstalk
Dieser Leitfaden führt Sie durch das Erstellen, Erkunden, Aktualisieren und Löschen einer Elastic-Beanstalk-Anwendung.Bereitstellungsoptionen in AWS Elastic Beanstalk
Dieser Leitfaden erläutert, wie Sie AWS Elastic Beanstalk zum Bereitstellen, Verwalten und Skalieren von Anwendungen verwenden können, ohne dass Sie sich um die Verwaltung der Infrastruktur kümmern müssen.
Tutorials und Beispiele zu AWS Electric Beanstalk für Fortgeschrittene
Diese Tutorials richten sich an fortgeschrittene Benutzer und enthalten möglicherweise keine Anweisungen für grundlegende Schritte wie die Anmeldung bei AWS.
-
AWS Fargate
-
Erste Schritte mit AWS Fargate
In diesem Leitfaden werden die Grundlagen von AWS Fargate erläutert, einer Technologie, die Sie mit Amazon ECS verwenden können, um Container ohne die Verwaltung von Servern oder Clustern von Amazon-EC2-Instances auszuführen.
Erste Schritte mit der Konsole unter Verwendung von Linux-Containern in AWS Fargate
Beginnen Sie mit Amazon ECS in AWS Fargate, indem Sie den Fargate-Launch-Typ für Ihre Aufgaben in den Regionen verwenden, in denen AWS Fargate von Amazon ECS unterstützt wird.
Erstellen eines Clusters mit einer Fargate-Linux-Aufgabe mithilfe der AWS CLI
Richten Sie einen Cluster ein, registrieren Sie eine Aufgabendefinition, führen Sie eine Linux-Aufgabe aus und führen Sie andere gängige Szenarien in Amazon ECS mit der AWS CLI aus. -
ROSA
-
Erste Schritte mit Red Hat OpenShift Service in AWS
Dieser Leitfaden hilft Ihnen bei den ersten Schritten mit der Nutzung von Red Hat OpenShift Service in AWS.
Warum sollten Sie ROSA verwenden?
In diesem Video erfahren Sie, wann Sie Red Hat OpenShift gegenüber Standard-Kubernetes verwenden könnten, außerdem wird ROSA in AWS ausführlich erläutert.
Erkunden
Entdecken Sie Referenz-Architekturdiagramme für Container in AWS.
Erkunden Sie Whitepaper, die Ihnen den Einstieg erleichtern und lernen Sie bewährte Methoden kennen.
Erkunden Sie geprüfte Lösungen und Architekturleitfäden für häufige Anwendungsfälle für Container.