Implementieren von Microservices in AWS - Implementieren von Microservices in AWS

Implementieren von Microservices in AWS

Veröffentlichungsdatum: 9. November 2021 (Dokumentverlauf und Mitwirkende)

Überblick

Microservices sind ein architektonischer und organisatorischer Ansatz der Softwareentwicklung. Sie dienen dazu, Bereitstellungszyklen zu beschleunigen, Innovationen und eigenverantwortliche Beiträge zu fördern, die Verwaltbarkeit und Skalierbarkeit von Softwareanwendungen zu verbessern und den Umfang der von Unternehmen gelieferten Software und Services zu erhöhen. Die Basis dafür bildet ein agiler Ansatz, der Teams ein unabhängiges Arbeiten ermöglicht. Bei einem Microservices-Ansatz besteht die Software aus kleinen Services (Microservices), die über genau definierte Programmierschnittstellen (APIs) kommunizieren, die unabhängig bereitgestellt werden können. Diese Services sind das Eigentum kleiner, autonomer Teams. Der agile Ansatz ist für die erfolgreiche Skalierung Ihres Unternehmens ausschlaggebend.

Beim Entwickeln von Microservices durch unsere AWS-Kunden lassen sich drei gängige Muster erkennen: API-gesteuert, ereignisgesteuert und Daten-Streaming. In diesem Whitepaper erhalten Sie einen Überblick über alle drei Ansätze und die gemeinsamen Merkmale von Microservices. Es werden die wesentlichen Herausforderungen beim Entwickeln von Microservices erörtert und es wird beschrieben, wie Produktteams diese mithilfe von Amazon Web Services (AWS) bewältigen können.

Aufgrund der Komplexität der verschiedenen Themen, die in diesem Whitepaper behandelt werden, einschließlich Datenspeicher, asynchrone Kommunikation und Service Discovery, wird empfohlen, dass Sie zusätzlich zu den bereitgestellten Anleitungen spezifische Anforderungen und Anwendungsfälle ihrer Anwendungen berücksichtigen, bevor Sie architektonische Entscheidungen treffen.

Einführung

Microservice-Architekturen sind kein völlig neuer Ansatz der Softwareentwicklung, sondern eine Kombination aus verschiedenen erfolgreichen Konzepten, die sich bewährt haben, wie beispielsweise:

  • Agile Softwareentwicklung

  • Serviceorientierte Architekturen

  • API-First-Design

  • Continuous Integration (Kontinuierliche Integration)/Continuous Delivery (Kontinuierliche Bereitstellung) (CI/CD)

In vielen Fällen werden Designmuster der Twelve-Factor App für Microservices genutzt.

In diesem Whitepaper werden zunächst verschiedene Aspekte einer hochskalierbaren, fehlertoleranten Microservice-Architektur (Benutzeroberfläche, Microservice-Implementierung und Datenspeicher) erörtert und beschrieben, wie diese auf AWS mithilfe von Containertechnologien entwickelt werden kann. Anschließend erhalten Sie Empfehlungen für AWS-Services, mit denen sich eine typische Serverless Microservice-Architektur am besten implementieren lässt, um Betriebsabläufe zu vereinfachen.

Serverless bezeichnet ein Betriebsmodell, das auf folgenden Grundsätzen basiert:

  • Keine Infrastruktur bereitzustellen oder zu verwalten

  • Automatische nutzungsbasierte Skalierung

  • Pay-for-Value-Abrechnungsmodell

  • Integrierte Verfügbarkeit und Fehlertoleranz

Schließlich behandelt dieses Whitepaper das Gesamtsystem und beschreibt die serviceübergreifenden Aspekte einer Microservice-Architektur, wie die verteilte Überwachung und Prüfung, Datenkonsistenz sowie die asynchrone Kommunikation.

Dieses Whitepaper konzentriert sich nur auf Workloads, die in der AWS Cloud ausgeführt werden. Hybridszenarien oder Migrationsstrategien werden nicht behandelt. Weitere Informationen zur Migration finden Sie im Whitepaper zur Methodik der Container-Migration.