Wir helfen Ihnen bei der Auswahl

Amazon Web Services (AWS) bietet Kunden die Flexibilität, eine Strategie für die Entwicklung moderner Anwendungen zu wählen, die ihren Geschäftsanforderungen entspricht. Kunden, die eine Strategie für die Entwicklung moderner Apps in AWS entwickeln, wählen oft einen von zwei übergeordneten Ansätzen: ein Serverless-mit-AWS-Strategiemodell mit AWS Lambda und Containern oder Kubernetes in AWS.

AWS wurde entwickelt, um Ihnen Zugriff auf die richtigen Rechen- und Unterstützungsservices (wie Datenbank, Messaging und Orchestrierung) für Ihre Workloads zu bieten. AWS bietet die Möglichkeit, Serverless-Anwendungen mithilfe eines ereignisgesteuerten Computing-Services wie AWS Lambda und Serverless-Container-Optionen wie AWS Fargate und AWS App Runner zu erstellen. AWS bietet Möglichkeiten zum Erstellen von Containeranwendungen mit Amazon Elastic Container Service (Amazon ECS) und Kubernetes-Optionen wie Amazon Elastic Kubernetes Service (Amazon EKS), Red Hat OpenShift Service in AWS (ROSA) und selbstverwalteten Kubernetes auf Amazon Elastic Compute Cloud (Amazon EC2).

Die folgenden Inhalte helfen Ihnen bei der Auswahl des Ansatzes, der für Ihre Umgebung am besten geeignet ist, und helfen Ihnen, mit der Implementierung Ihres Ansatzes in AWS zu beginnen.

Die Vorteile moderner Anwendungen

Entwickeln Sie mit modularen Architekturmustern und nutzen Sie die Vorteile von verwalteten Servicebetriebsmodellen.

Entwickeln Sie ökologisch nachhaltige, skalierbare und widerstandsfähige Anwendungen.

Beschleunigen Sie Innovationen, reduzieren Sie Risiken, verkürzen Sie die Markteinführungszeit und senken Sie Ihre Gesamtbetriebskosten (TCO).

Seien Sie bereit für die Bereitstellung von Produktions-Workloads in der Cloud mit klar definierten nächsten Schritten.

Schritt 1: Ihre Kriterien bestimmen

Moderne Anwendungen basieren auf modularen Architekturmustern und können die Vorteile von Serverless-Betriebsmodellen nutzen, um nachhaltigere, skalierbarere und widerstandsfähigere Anwendungen zu erstellen. Sie erlauben Ihnen, schneller innovativ zu sein, Risiken zu reduzieren, die Zeit zur Markteinführung zu verkürzen und die TCO (Gesamtbetriebskosten) zu senken. Bei der Entwicklung neuer moderner Anwendungen oder der Modernisierung vorhandener Anwendungen steht Architekten und Entwicklern eine Vielzahl von Bausteinen zur Verfügung – und einer der wichtigsten ist die Auswahl der Computing-Services. AWS wurde entwickelt, um Ihnen Zugriff auf den richtigen Computing-Service für die Workloads zu bieten – eine Wahl, die jede moderne Anwendungsentwicklungsstrategie unterstützt, für die Sie sich entscheiden, um Ihre Anforderungen zu erfüllen.

Bevor Sie festlegen, welche Strategie für die moderne Anwendungsentwicklung Sie implementieren sollten, müssen Sie Ihre Kriterien anhand der Größe Ihrer Workloads festlegen.

  • 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.

    Beim Entwickeln mit AWS Serverless werden Services mit höheren Abstraktionsebenen verwendet, um den betrieblichen Aufwand für die Wartung der Infrastruktur auf AWS zu verlagern.

    AWS bietet auch mehrere verwaltete Angebote für Kubernetes. Diese Angebote unterscheiden sich in der Technologieebene, die ein Unternehmen verwalten muss. AWS bietet auch Beschleuniger wie Add-Ons und EKS-Vorlagen, um die Konfiguration zu beschleunigen.

  • Viele AWS-Kunden setzen standardmäßig auf Open-Source-Technologien, die breit unterstützt werden. Open-Source ermöglicht es Unternehmen, die richtigen Fähigkeiten zu finden – und das Risiko einer Abhängigkeit zu vermeiden. Falsche Entscheidungen in einem Open-Source-Ökosystem können dazu führen, dass Sie in Abhängigkeiten und selbst entwickelten Integrationslösungen verstrickt sind. Darüber hinaus liegt die Verantwortung für das Zusammenspiel verschiedener Open-Source-Komponenten oft bei dem Unternehmen, das die Auswahl trifft. Es ist verbreitet, dass Unternehmen zu viel Zeit mit der Pflege von Open-Source-Integrationen verbringen.

    Hinweise:

    • Berücksichtigen Sie bei diesen Investitionen kommunale Quellen und die Unterstützung durch Unternehmen oder Stiftungen. Eine Investition in diese Projekte ist nicht nur finanzieller Natur. Sie müssen auch in die Ausbildung und Schulung Ihres Teams über die verwendeten Technologien investieren. 
    • Möglicherweise entstehen Ihnen auch technische Probleme (aufgrund des Aufwands, der mit der Wartung dieser Integrationen verbunden ist), da diese Komponenten und die zugehörigen Integrationen in der Regel aktualisiert werden müssen.
    • Im Open-Source-Blog von AWS finden Sie Ideen zu Open-Source-Implementierungen.
  • Bei der Auswahl einer modernen Strategie für die Anwendungsentwicklung ist es wichtig, dass Ihre Strategie eine Vielzahl von Workload-Mustern berücksichtigt. Sie können leichter Architekturentscheidungen treffen, wenn Sie Ihre Workload-Muster verstehen. Zum Beispiel Webanwendungen, API-basierte Microservices, ereignisgesteuerte Anwendungen, Streaming und Messaging, Datenpipelines, IT-Automatisierungen und mehr. Manche Workloads sind in einer Computing-Umgebung besser oder kostengünstiger als in einem anderen Typ.

    Bei der Entwicklung mit AWS Serverless sind Services wie App Runner und AWS Batch so konzipiert, dass sie die Anforderungen eines bestimmten Workload-Typs problemlos unterstützen. Workloads, die diesen Ansatz verwenden, lassen sich einfacher erstellen, besser ausführen oder sind kostengünstiger, auch wenn dies auf Kosten der Flexibilität geht.

    Kubernetes sorgt für Konsistenz in allen Clouds und On-Premises-Umgebungen, falls dies von Ihrem Unternehmen gewünscht wird.

  • Workloads leben nicht isoliert voneinander. Workloads werden durch Technologien wie Datenbanken, Messaging, Streaming, Orchestrierung und andere Services unterstützt. Eine effektive Strategie zur modernen Anwendungsentwicklung erfordert die Integration mit diesen Services. Verwaltete Integrationen vereinfachen den betrieblichen Aufwand ebenso wie die Verwaltung der zugrunde liegenden Infrastruktur.

    Die AWS-Serverless-Optionen sind tief in das AWS-Ökosystem integriert. AWS Lambda kann Ereignisse von mehr als 200 anderen Services abonnieren. Mit AWS-Lambda-Erweiterungen können Sie beispielsweise Ihre Tools für die Zwecke der Überwachung, Beobachtung, Sicherheit und Governance integrieren. Lambda ruft eine bestimmte Funktion in einer Ausführungsumgebung auf, wodurch eine sichere und isolierte Laufzeit bereitgestellt wird, in der der Funktionscode ausgeführt wird. 

    Von AWS verwaltete Angebote für Kubernetes bieten Integrationen mit verwalteten Angeboten. Kubernetes selbst verfügt über ein reichhaltiges Partnerökosystem, das die Integration mit zahlreichen anderen Technologien bietet.

  • Viele Kunden müssen Experimente durchführen, um Ideen zu validieren. Diese Prototypen könnten die Idee für eine neue Anwendung sein und/oder verworfen werden, wenn sie nicht erfolgreich ist. Die Fähigkeit, eine Umgebung bereitzustellen, in der Sie Ideen schnell schreiben, implementieren und validieren können, ist für eine gesunde Umgebung unerlässlich. Dieses Umfeld wird bei der Entwicklung einer modernen Anwendungsentwicklungsstrategie oft übersehen, aber die Innovationsfähigkeit innerhalb des Unternehmens kann davon abhängen. Teams in die Lage zu versetzen, Services zu nutzen, mit denen sie schnell entwickeln, testen und iterieren können, ist von unschätzbarem Wert, um neue Geschäftsmöglichkeiten zu entdecken.

  • Viele Kunden möchten sicherstellen, dass ihre Anwendungen in anderen Umgebungen ausgeführt und problemlos migriert oder verschoben werden können. Sie möchten die Wahl behalten, Cloud-Anbieter zu wechseln oder eine Anwendung sowohl On-Premises als auch in der Cloud auszuführen. Dazu gehört häufig die Notwendigkeit, gängige Sprach-Frameworks und Entwicklungsszenarien zu unterstützen. Beispielsweise möchten Java-Entwickler möglicherweise Spring oder Python verwenden, und Dateningenieure möchten möglicherweise PyTorch verwenden. Die Wahl eines modernen Ansatzes für Entwicklungsanwendungen allein reicht nicht aus. Es erfordert bewährte Verfahren und eine Architektur, um die Portabilität von Anwendungen zu erreichen. Wir empfehlen, Kompetenzen im Bereich Softwarearchitekturen aufzubauen und Pakete zu entwickeln, mit denen Sie unterschiedliche Geschäftslogik leichter zwischen Computing-Services portieren können.

    Anwendungen, die mit manchen Technologien erstellt wurden, können auf einigen Computing-Services effektiver ausgeführt werden als auf anderen. Container-Services sind in der Regel ein besseres Migrationsziel für Legacy-Anwendungen als Lambda, was eine Änderung der Architektur erfordert.

  • Es sollte einen deutlichen Unterschied zwischen Anwendungs- und Automatisierungsportabilität geben. In den meisten Fällen hat die Wahl zwischen AWS Serverless oder AWS Kubernetes wenig damit zu tun, ob eine Anwendung portabel ist oder nicht. Stattdessen sind es die Tools, die von Infrastrukturteams und DevOps-Teams verwendet werden, die ein Schlüsselfaktor sind. Kunden, die sich für den Kubernetes-Ansatz in AWS entscheiden, suchen häufig nach der Portabilität von Infrastruktur- und Bereitstellungstools.

  • Die Fähigkeiten Ihres Unternehmens sind ein wichtiger Faktor bei der Entscheidung, ob Sie bei der Entwicklung moderner Apps einen Serverless- oder containerbasierten Ansatz wählen möchten. Sowohl Serverless-Systeme als auch Container erfordern einige Investitionen in DevOps- und Site Reliability Engineer (SRE)-Teams. Der Aufbau einer automatisierten Pipeline zur Bereitstellung von Anwendungen ist für die meisten modernen Anwendungen üblich.

    Einige Entscheidungen erhöhen den Verwaltungsaufwand. Einige Unternehmen verfügen beispielsweise über 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-Upgrades (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.

  • Architekturentscheidungen sind mit Kompromissen verbunden, von denen einer oft die Kostenseite ist. Aufgrund der Dynamik der beteiligten Komponenten fällt es häufig schwer, die Kosten moderner Anwendungen abzuschätzen. Die Kosten für einen festen Satz an Servern lassen sich zwar leichter abschätzen, aber Sie zahlen auch dann für diese Server, wenn sie keinen Mehrwert für Ihr Unternehmen bieten.

    Beide Ansätze bieten mehrere Möglichkeiten, die Kostenziele für Ihre Workloads zu erreichen. Bei der Wahl zwischen den Ansätzen auf hoher Ebene sollten nicht nur die Kosten für die Ressourcen, sondern auch der Aufwand für die Entwicklung und Aufrechterhaltung dieser Strategie berücksichtigt werden. Der AWS Pricing Calculator kann hilfreich sein, um die Kosten eines bestimmten Workloads zu ermitteln.

  • Die Einhaltung von Sicherheits- und Compliance-Anforderungen ist ein Eckpfeiler jedes Workloads. Mit AWS-Services für beide Strategien können Sie strenge Compliance-Anforderungen erfüllen.
     
    Durch die Entwicklung mit AWS Serverless können Sie die Vorteile der Integration mit AWS Identity and Access Management (IAM) zur Zugriffskontrolle, nativen AWS-Netzwerkkonstrukten und der Unterstützung durch AWS-Governance-Tools nutzen.
     
    Kubernetes in AWS erfordert ein Verständnis der Kubernetes- und AWS-Sicherheitsmodelle und benötigt möglicherweise eine Zuordnung zwischen den Sicherheitsrichtlinien. Verwaltete AWS-Angebote wie Amazon EKS bieten Beschleuniger für die sichere Ausführung von Anwendungen in EKS.
  • Wenn Sie sowohl mit AWS Serverless als auch mit Kubernetes in AWS arbeiten, können Sie leistungsstarke, skalierbare und belastbare Workloads erstellen. Sie können die technischen Anforderungen erfüllen, die Sie benötigen. Services mit dem höchsten Abstraktionsgrad verwalten die Platzierung in den Availability Zones von AWS und die Skalierung der Umgebung und verbessern so die Leistung und Stabilität. Niedrigere Abstraktionsebenen ermöglichen Ihnen mehr Kontrolle darüber, wie Ihr Workload skaliert wird. Die wichtigsten Kompromisse sind Kosten und Verwaltungskomplexität.

Schritt 2: Die Menge bestimmen, die Sie verwalten möchten

Einer der Hauptvorteile der Modernisierung ist die Möglichkeit, betriebliche Zuständigkeiten zu verlagern. Dadurch können Sie Ressourcen für wertschöpfende und innovationsfördernde Aktivitäten freisetzen. Es gibt ein Spektrum an Optionen für geteilte Verantwortung auf verschiedenen Modernisierungsebenen, angefangen von Amazon EC2, wo Sie Ihren Code erstellen und ausführen und gleichzeitig Integrationen, Skalierung, Sicherheitskonfigurationen, Bereitstellung, Patching und mehr verwalten können, bis hin zu Serverless-Funktionen wie AWS Lambda, bei denen Sie lediglich Ihren Anwendungscode verwalten.

Schritt 3: Ihren Anwendungsfall ermitteln

Wir empfehlen Ihnen, die am besten geeignete Computing-Option für jeden Workload im Rahmen Ihrer Standardstrategie zu evaluieren: Serverless mit AWS oder Kubernetes in AWS.

Anwendungsbeispiele für eine Strategie für Serverless in AWS könnten der Aufbau eines Dokumentenverarbeitungssystems oder die Verwaltung von Website-Workloads sein. Im Rahmen dieser Strategie könnten Sie AWS Lambda für den Aufbau des hauptsächlich ereignisgesteuerten Workloads für die Dokumentenverarbeitung und AWS AppRunner für die erforderliche geringe Latenz und Skalierbarkeit einer Transaktionswebsite auswählen.

In der Zwischenzeit könnte ein Anwendungsfall für Container – und Kubernetes in AWS – im Rahmen eines progressiven Ansatzes zur Umstellung vorhandener Anwendungen auf Microservices sein. Viele ältere Middleware-Anwendungen können mit minimalem Aufwand in Container umgewandelt werden.

Hinweis: Einige Organisationen unterstützen mehrere Optionen oder Workload-Muster, um den Workload oder den Entwicklern die Wahl zu lassen.

In der folgenden Tabelle finden Sie eine Reihe weiterer Anwendungsfälle, die Sie bei der Auswahl Ihrer Computing-Services berücksichtigen sollten.

Schritt 4: Vergleiche ziehen und die richtigen Entscheidungen für Ihre Workloads treffen

AWS bietet verschiedene Container-Optionen wie Amazon ECS, Serverless-Container mit AWS Fargate und AWS App Runner sowie verschiedene Kubernetes-Optionen wie Amazon EKS, ROSA und selbstverwaltetes Kubernetes auf Amazon EC2.

Die folgende Vergleichstabelle kann Ihnen dabei helfen, Ihren Ansatz auf der Grundlage Ihrer Workload-Anforderungen zu bestimmen. Sie können Elemente beider Ansätze oder einen Kompromiss wählen und verschiedene Teams haben, die unterschiedliche Ansätze verwenden. Es ist nicht ungewöhnlich, dass ein sehr großes Unternehmen Abteilungen mit unterschiedlichen Strategien hat.

 

  Serverless mit AWS Kubernetes in AWS
Workloads Unterstützt eine Reihe von Workload-Mustern mit spezifischen Services, die für bestimmte Workloads optimiert sind. AWS Lambda kann für asynchrone Workloads verwendet werden, während AWS Fargate für synchrone Workloads verwendet wird. Unterstützt eine Vielzahl von Workload-Mustern, wobei konsistente Bereitstellungsmodelle in Clouds oder On-Premises-Rechenzentren bevorzugt werden.
Merkmale der Architektur Unterstützt die meisten Architekturen und Muster mit spezifischen Services, die Optimierungen in Bezug auf Leistung, Skalierbarkeit, Zuverlässigkeit und Kosten bieten. Unterstützt die meisten Architekturen, bei denen Konsistenz über den gesamten Technologie-Stack hinweg bevorzugt wird. Einige Optimierungsstufen sind verfügbar, erfordern jedoch mehr Integrations- und Verwaltungsaufwand.
Integrationen AWS Serverless bietet Integrationen mit vielen verwalteten Services. Bei einigen Optionen, wie z. B. AWS Lambda, können mehr als 200 Services abonniert und Ereignisse auf verwaltete Weise empfangen werden.  Viele Partner bieten AWS-Integrationen an. Von AWS verwaltete Angebote für Kubernetes bieten Integrationen mit AWS-Services. Das Partnerökosystem für Kubernetes ist umfangreich und bietet die Integration mit anderen Open-Source-Technologien. Viele Technologiepartner verwenden EKS als erste Wahl, um ihre Kubernetes-Integrationen zu validieren.
Prototypenbau AWS Serverless ist dafür optimiert, dass Kunden Code schnell schreiben, bereitstellen und ändern können. Dies macht es zu einer nützlichen Option für schnelle Prototyping-Arbeiten, bei denen nicht viele Entscheidungen im Voraus getroffen werden müssen. Kunden, die eine Kubernetes-Strategie verfolgen, müssen häufig spezielle Cluster für das Prototyping einrichten und diese wie jede andere Umgebung verwalten.
Betriebskosten AWS Serverless wurde so konzipiert, dass Managed Services größtenteils genutzt werden und nur ein minimaler Verwaltungsaufwand für Server, Netzwerke und Integrationen erforderlich ist. AWS bietet verschiedene Muster für Kubernetes. Dies kann bedeuten, mehrere Technologieebenen (wie Cluster- und Cloud-Netzwerke) oder Kubernetes- und AWS-Sicherheitsrollen zu verwalten, obwohl AWS Beschleuniger wie Add-Ons und EKS-Vorlagen bereitstellt.
Ökosystem AWS verfügt über ein großes Partnernetzwerk, das auf den AWS-Services aufbaut und Lösungen und Integrationen anbietet. AWS nutzt viele Open-Source-Technologien in verschiedenen Umgebungen und entwickelt diese weiter. Kubernetes ist ein großes Ökosystem, das in jeder Cloud umfangreichen Support und eine große Menge an Community-Unterstützung bietet.  Die CNCF-Landschaft ist ein Beispiel für das riesige Ökosystem. AWS bietet Add-Ons und Vorlagen, um Kunden bei der Einführung einiger dieser beliebten Tools zu unterstützen.
Portabilität der Anwendung Die Anwendungsarchitektur (für Anwendungen, die einen oder mehrere verwaltete Services verwenden) kann so entworfen werden, dass die Geschäftslogik problemlos von Lambda, App Mesh oder ECS auf andere Computing-Umgebungen portiert werden kann. Kubernetes ist in den meisten Clouds und On-Premises verfügbar, und Workloads sind größtenteils portabel. Bestimmte Kubernetes-Muster, die auf Service Mesh im Code basieren (wie Istio oder Programmiermodelle wie KNative), bedeuten, dass Ihre Anwendung Kubernetes benötigt und sie nicht auf etwas anderes als Kubernetes portierbar ist. Einige Funktionen können Sie an eine bestimmte Version binden. Möglicherweise müssen Sie Images neu erstellen, um verschiedene Linux-Builds oder bestimmte Hardware (ARM oder AMD) zu unterstützen.
Automatisierung AWS-spezifische Automatisierungsunterstützung mithilfe von Varianten, die auf offener Technologie basieren. AWS CloudFormation, AWS Serverless Application Model (AWS SAM) und einige Bibliotheken des AWS Cloud Development Kit (AWS CDK) sind Beispiele. Kunden können Open-Source-Optionen wie Terraform verwenden. Viele AWS-Kunden verwenden Open-Source-DevOps-Tools wie Jenkins.   Kunden, die eine Strategie für Kubernetes entwickeln, entscheiden sich in der Regel für Tools, die Kubernetes automatisieren. Eine Automatisierung der Cluster-Erstellung ist erforderlich und Sie können AWS-APIs, AWS-Tools wie AWS CloudFormation oder CDK verwenden. Viele Kunden verwenden Technologien wie Terraform. AWS EKS Blueprints ist ein Beispiel für einen Beschleuniger für Terraform und CDK für die Erstellung von Clustern und Add-Ons. Viele Kunden beginnen, GitOps-Tools wie Flux oder ArgoCD für die Bereitstellung mit einer Kubernetes-API einzusetzen, und verwenden Tools wie AWS Controllers oder Crossplane, um native Cloud-Ressourcen bereitzustellen.
Unternehmensgröße und Fähigkeiten Einige Unternehmen standardisieren auf eine primäre Cloud und entscheiden sich zunächst für AWS Serverless, weil sie zwar über Geld/Ressourcen verfügen, um SRE-Teams zusammenzustellen, sich aber dafür entscheiden, die Agilität zu optimieren und die Betriebskosten zu senken, indem sie alles mit AWS kombinieren. Mittlere bis größere Unternehmen (oder Softwareanbieter, die Produkte verkaufen, die für den Betrieb in verschiedenen Clouds oder On-Premises Rechenzentren vorgesehen sind) verwenden häufig einen Kubernetes-First-Ansatz. Erfolgreiche Kunden investieren in der Regel viel mehr in Infrastruktur- und SRE-Teams, die viele Cluster verwalten, betreiben und warten.
Skalierbarkeit/Resilienz AWS-Lambda-Kunden zahlen nur, während eine Funktion aufgerufen wird. Wenn Lambda nicht passt, können Sie Fargate oder ECS verwenden. Bietet eine weitere Auswahl an Hardwarearchitekturen und Preisoptionen für das Computing (z. B. Spot Instances für AWS EC2). Der Ansatz von Kubernetes in AWS kann so konzipiert werden, dass Ihre Anforderungen an Leistung, Skalierbarkeit und Stabilität erfüllt werden. EKS bietet auch die Möglichkeit, Optionen wie AWS EC2 Spot und Graviton zu verwenden.
Sicherheit Der Ansatz von AWS Serverless nutzt die Sicherheit, das Netzwerk und die Praktiken von AWS. Der Kubernetes-Ansatz erfordert ein Verständnis der Kubernetes-Sicherheit und der AWS-Sicherheit sowie zusätzlichen betrieblichen Aufwand, wie die Zuordnung von Kubernetes-Sicherheitsrichtlinien zu AWS-Richtlinien, die Sicherung von Container-Images und Laufzeiten sowie die Validierung von Container-Tools von Drittanbietern.  

Bei der Entwicklung neuer moderner Anwendungen oder der Modernisierung vorhandener Anwendungen steht Architekten und Entwicklern eine Vielzahl von Bausteinen zur Verfügung – und einer der wichtigsten ist die Auswahl der Computing-Services.

Die Kenntnis der Art der Workloads und Anwendungen, die Ihr Unternehmen erstellt und bereitstellt, ist ein wichtiger Faktor bei der Wahl einer modernen Anwendungsentwicklungsstrategie. Jeder Workload hat unterschiedliche Eigenschaften und Anforderungen. Beispielsweise gelten für einen Workload zur Dokumentenverarbeitung ganz andere Anforderungen an Latenz und Verfügbarkeit als für eine Transaktionswebsite.

Schritt 5: Häufige Fallstricke vermeiden

Die Standardisierung in Ihrer Umgebung verstehen

Viele Unternehmen, die mehrere Workload-Muster verwenden, möchten eine Reihe von Mustern standardisieren, die sie effektiv unterstützen und ausführen können. Einige große Unternehmen versuchen, die Rechenoptionen zu standardisieren und wählen eine Standardplattform für die Ausführung der meisten Workloads aus, wobei bei Bedarf Ausnahmen vorgesehen werden.

Standardisierung kann dazu beitragen, für Konsistenz zu sorgen und die Anzahl der Mitarbeiter mit Fachkenntnissen zu minimieren, die ein Unternehmen einstellen muss. Diese können zu den bevorzugten Computing-Optionen werden, wobei andere Optionen nur in Betracht gezogen werden, wenn die bevorzugten Optionen nicht funktionieren. Oft unterstützt die Standardoption effektiv eine Reihe von Workloads, hat aber Probleme mit anderen. Daher unterstützen einige Organisationen mehrere Optionen oder Workload-Muster, um den Workload oder den Entwicklern die Wahl zu lassen.

Die Integration in Ihrer Umgebung verstehen

Es kommt häufig vor, dass einige Unternehmen mehr Zeit für das Warten von Open-Source-Integrationen aufwenden, als sie möchten.

Wir empfehlen Ihnen, bei diesen Investitionen gemeinschaftliche Quellen und/oder die Unterstützung von Unternehmen oder Stiftungen in Betracht zu ziehen. Die Investition in diese Projekte ist nicht nur finanzieller Art, sondern auch eine Investition in Wissenskapital und potenziell technische Schulden, da diese Komponenten und die zugehörigen Integrationen in der Regel aktualisiert werden müssen. Weitere Informationen finden Sie im Open-Source-Blog von AWS.

Ihre Architekturmerkmale verstehen

Die Fähigkeit, eine Vielzahl von Architekturen zu unterstützen, ist wichtig. Wir empfehlen Ihnen, das AWS-Well-Architected-Framework als Leitfaden zu verwenden, um die Vor- und Nachteile der Entscheidungen zu verstehen, die Sie beim Aufbau von Systemen auf AWS treffen. Darüber hinaus können Sie mithilfe des Frameworks bewährte Methoden für die Entwicklung und den Betrieb zuverlässiger, skalierbarer, sicherer, effizienter und kostengünstiger Systeme in der Cloud kennenlernen.

Schritt 6: Ihren Ansatz auswählen

Je nach Organisation und Workload-Größe, Mustern und Geschäftsanforderungen müssen Sie möglicherweise bestimmte Elemente beider Ansätze auswählen oder verschiedene Teams unterschiedliche Ansätze verwenden lassen. Es ist nicht ungewöhnlich, dass Teams unterschiedliche Strategien anwenden.

AWS Serverless mit AWS

  • Verwenden Sie von AWS verwaltete Services und Tools wie AWS Lambda, AWS App Runner, Amazon ECS und AWS Fargate als erste Wahl. 
  • Investieren Sie in die Entwicklung von Disziplinen rund um AWS, einschließlich Bereitstellung, DevOps, Infrastrukturautomatisierung, Sicherheit, Netzwerke und Beobachtbarkeit/Betrieb.
  • Steigern Sie die Produktivität und minimieren Sie den Betriebsaufwand.

Kubernetes in AWS

  • Verwenden Sie Kubernetes als primäre Schnittstelle für die Rechenplattform.
  • Entwickeln Sie Disziplin bei der Ausführung und Verwaltung mehrerer Kubernetes-Cluster und der darauf befindlichen Workloads und Tools, einschließlich fortschrittlicher Muster wie GitOps.
  • Integrieren Sie es in verschiedene Ökosysteme und Partnertools.
  • Kubernetes-Kunden können verwaltete AWS-Services und andere Computing-Optionen wie AWS Lambda für bestimmte Anwendungsfälle verwenden.

Ihren Ansatz implementieren

Nachdem Sie nun ermittelt haben, welcher Ansatz am besten zu Ihrem Workload für Ihre Umgebung passt, empfehlen wir Ihnen, die folgenden Ressourcen zu lesen, um mit der Implementierung Ihres Ansatzes zu beginnen.

  • Überblick über Serverless in AWS
    Verwenden Sie eine Strategie, bei der Serverless an erster Stelle steht, um moderne Anwendungen so zu erstellen, dass die Agilität Ihres gesamten Anwendungs-Stacks erhöht wird. In diesem Leitfaden werden die Serverless-Services für alle drei Ebenen Ihres Stacks vorgestellt: Computing, Integration und Datenspeicher.
    Erstellen einer Serverless-Webanwendung
    In diesem Tutorial erfahren Sie, wie Sie mit AWS Lambda, Amazon API Gateway, AWS Amplify, Amazon DynamoDB und Amazon Cognito eine einfache Serverless-Webanwendung erstellen.
    Praktische Workshops für Serverless-Computing
    In diesen kostenlosen, geführten Workshops werden die Grundlagen der Erstellung von Serverless-Anwendungen und Microservices mithilfe von Services wie AWS Lambda, AWS Step Functions, Amazon API Gateway, Amazon DynamoDB, Amazon Kinesis und Amazon S3 vorgestellt.
    AWS Fargate: Serverless-Computing für Container
    AWS Fargate ist eine nutzungsbasiert bezahlte Serverless-Computing-Engine, mit der Sie sich auf die Entwicklung von Anwendungen konzentrieren können, ohne Server verwalten zu müssen. AWS Fargate ist sowohl mit Amazon Elastic Container Service (Amazon ECS) als auch mit Amazon Elastic Kubernetes Service (Amazon EKS) kompatibel.
    Überblick über AWS App Runner
    Verwenden Sie AWS App Runner, um containerisierte Webanwendungen und API-Services ohne vorherige Infrastruktur- oder Container-Erfahrung zu erstellen, bereitzustellen und auszuführen.
  • Einen Kubernetes-Ansatz wählen
    Prüfen Sie Ihre Optionen für die Verwendung des von Amazon Elastic Kubernetes Service (EKS) verwalteten Kubernetes-Service zur Ausführung von Kubernetes in der AWS-Cloud und in On-Premises-Rechenzentren.
    Erste Schritte mit Amazon EKS
    Bietet eine schrittweise Anleitung für die ersten Schritte mit Amazon EKS mit Links zu nützlichen Blogs, Videos und einem ausführlichen Tutorial.
    Workshop für Amazon EKS
    Erhalten Sie eine praktische Anleitung, wie Sie das Beste aus Amazon EKS herausholen können.
    Vorstellung der AWS-Controller für Kubernetes (ACK)
    ACK ist ein Tool, mit dem Sie AWS-Services direkt von Kubernetes aus verwalten können. ACK macht die Entwicklung skalierbarer und hochgradig verfügbarer Kubernetes-Anwendungen mit AWS-Services zum Kinderspiel.
    Was ist RedHat OpenShift Service in AWS?
    Erkunden Sie die Verwendung von ROSA zur Erstellung von Kubernetes-Clustern mithilfe der ROSA-APIs und -Tools und erhalten Sie Zugriff auf die gesamte Breite und Tiefe der AWS-Services.

    Bewährte Methoden

    Sicherheit

    Sicherheit spielt beim Konfigurieren und Verwalten von Kubernetes-Clustern und -Anwendungen eine wichtige Rolle. Amazon EKS stellt standardmäßig sichere, verwaltete Kubernetes-Cluster bereit, Sie müssen aber dennoch unbedingt die von Ihnen im Rahmen des Clusters ausgeführten Knoten und Anwendungen konfigurieren, um eine sichere Implementierung zu gewährleisten. Weitere Informationen finden Sie in der Anleitung zu den bewährten Methoden für Amazon EKS.

    Host-Sicherheit

    Verwenden Sie Amazon Inspector, einen automatisierten Service zur Verwaltung von Schwachstellen, der AWS-Workloads kontinuierlich auf Software-Schwachstellen und unbeabsichtigte Netzwerkgefährdung untersucht.

War diese Seite hilfreich?