Product-Category_icon_Application-Services

Erste Schritte mit Microservices in AWS

Microservices sind ein architekturbezogener und organisatorischer Ansatz in der Softwareentwicklung, bei dem Software aus kleinen unabhängigen Services besteht, die über sorgfältig definierte APIs kommunizieren. Diese Services gehören kleinen, eigenständigen Teams.

Microservices-Architekturen vereinfachen die Skalierbarkeit und verringern die Entwicklungszeit von Anwendungen, ermöglichen Innovationen und verkürzen die Markteinführungszeit für neue Funktionen.

Bei monolithischen Architekturen sind alle Prozesse eng miteinander verbunden und werden als ein einziger Service ausgeführt. Dementsprechend muss die gesamte Architektur skaliert werden, wenn in einem Prozess der Anwendung eine Spitze auftritt. Das Hinzufügen oder Verbessern der Funktionen einer monolithischen Anwendung wird mit zunehmender Codebasis komplexer. Diese Komplexität begrenzt das Experimentieren und erschwert die Umsetzung neuer Konzepte. Monolithische Architekturen erhöhen das Risiko für die Anwendungsverfügbarkeit, da viele abhängige und eng miteinander verbundene Prozesse die Auswirkungen eines einzelnen Prozessausfalls erhöhen.

Mit einer Microservices-Architektur wird eine Anwendung in Form von eigenständigen Komponenten erstellt, die jeden Anwendungsprozess als Service ausführen. Diese Services kommunizieren mithilfe von schlanken APIs über eine sorgfältig definierte Schnittstelle miteinander. Services werden im Hinblick auf Unternehmensfunktionen entwickelt, wobei jeder Service eine bestimmte Funktion erfüllt. Da sie unabhängig voneinander ausgeführt werden, kann jeder Service aktualisiert, bereitgestellt und skaliert werden, um die Anforderungen an bestimmte Funktionen einer Anwendung zu erfüllen.

Monolithanwendungen im Vergleich zu Microservices

Aufteilen einer Monolithanwendung in Microservices

100x100_benefit_deployment2

Jeder Komponentenservice in einer Microservices-Architektur kann entwickelt, bereitgestellt, betrieben und skaliert werden, ohne die Funktionsfähigkeit anderer Services zu beeinträchtigen. Services müssen keinen Code und keine Implementierung mit anderen Services teilen. Die Kommunikation zwischen den einzelnen Komponenten erfolgt über klar definierte APIs.

benefit_85x85_gear-2

Jeder Service ist für eine Reihe von Funktionen ausgelegt und konzentriert sich auf die Lösung eines bestimmten Problems. Wenn Entwickler im Laufe der Zeit mehr Code zu einem Service beisteuern und der Service komplex wird, kann er in kleinere Services unterteilt werden.

100x100_benefit_Low-Latency

Microservices unterstützen eine Organisation von kleinen, unabhängigen Teams, die jeweils die Verantwortung für ihre eigenen Services übernehmen. Teams agieren in einem kleinen und klar definierten Kontext und haben die Möglichkeit, eigenverantwortlich und schneller zu arbeiten. Dadurch werden die Entwicklungszyklen verkürzt. Sie profitieren in erheblichem Maße von der Gesamtleistung der Organisation.

100x100_benefit_scalable

Microservices ermöglichen es, jeden Service unabhängig voneinander zu skalieren, um die Nachfrage nach der von ihm unterstützten Anwendungsfunktion zu decken. Auf diese Weise können Teams die Infrastrukturanforderungen anpassen, die Kosten einer Funktion genau messen und die Verfügbarkeit aufrechterhalten, wenn ein Service eine Nachfragesteigerung verzeichnet.

100x100_benefit_delivery-pipeline

Microservices ermöglichen eine kontinuierliche Integration und Bereitstellung, wodurch es einfacher wird, neue Konzepte auszuprobieren und zurückzunehmen, wenn etwas nicht funktioniert. Die niedrigen Ausfallkosten ermöglichen Experimente, erleichtern die Aktualisierung von Code und verkürzen die Markteinführungszeit für neue Funktionen.

100x100_benefit_code-configuration

Microservices-Architekturen folgen nicht dem Ansatz einer Bereitstellung von Einheitslösungen. Die Teams haben die Freiheit, das beste Tool zur Lösung ihrer spezifischen Probleme auszuwählen. Infolgedessen können Teams, die Microservices entwickeln, das beste Tool für die jeweilige Aufgabe wählen.

100x100_benefit_transparency

Die Aufteilung der Software in kleine, klar definierte Module ermöglicht es Teams, Funktionen für verschiedene Zwecke zu nutzen. Ein für eine bestimmte Funktion geschriebener Service kann auch als Baustein für einen anderen Funktionsumfang verwendet werden. Dies ermöglicht es einer Anwendung, auf sich selbst zurückzugreifen, da Entwickler neue Funktionen erstellen können, ohne Code von Grund auf neu zu schreiben.

100x100_benefit_durable

Die Serviceunabhängigkeit erhöht die Ausfallsicherheit einer Anwendung. In einer monolithischen Architektur kann der Ausfall einer einzelnen Komponente zum Ausfall der gesamten Anwendung führen. Mit Microservices überwinden Anwendungen einen kompletten Serviceausfall, indem sie die Funktionalität beeinträchtigen und nicht die gesamte Anwendung zum Absturz bringen.


AWS verfügt über integrierte Bausteine, die jede Anwendungsarchitektur unterstützen, unabhängig von ihrer Größe, Last und Komplexität.

Rechenleistung für Microservices.

Amazon EMR

Amazon Elastic Container Service

Ein hoch skalierbarer, sehr leistungsfähiger Container-Management-Service, der Docker-Container unterstützt und es Ihnen ermöglicht, Anwendungen auf einem verwalteten Cluster von Amazon EC2-Instances ganz einfach auszuführen.
Weitere Informationen »

DevOps-Solution_logobreak_coursera

Mithilfe von Amazon ECS ist Coursera jetzt dazu in der Lage, Software in Minuten anstatt in Stunden in einer ressourcenisolierten Umgebung bereitzustellen.
Weitere Informationen »

Amazon EMR

AWS Lambda

Mit AWS Lambda können Sie Code ausführen, ohne Server bereitstellen und verwalten zu müssen. Laden Sie Ihren Code einfach hoch und Lambda übernimmt alles, was zum Ausführen und Skalieren Ihres Codes für hohe Verfügbarkeit erforderlich ist.
Weitere Informationen »

DevOps-Solution_logobreak_localytics

Localytics nutzte AWS Lambda, um Microservices zu entwickeln, die es ihren Entwicklungsteams ermöglichten, kundenspezifische Analysefunktionen ohne zentralen Support zu erstellen. Weitere Informationen »


Skalierbarer, langlebiger und sicherer Datenspeicher.    

Aurora-benefit_high-performance

Amazon ElastiCache

Amazon ElastiCache verbessert die Leistung von Services, da Sie die Möglichkeit haben, Informationen aus einem schnellen, verwalteten In-Memory-Cache-System abzurufen, anstatt sich vollständig auf langsamere datenträgerbasierte Datenbanken verlassen zu müssen. Weitere Informationen »

Amazon S3

Amazon S3 bietet Entwicklern und IT-Teams einen extrem zuverlässigen, sicheren und skalierbaren Objektspeicher für alle ihre Daten, sowohl Big Data als auch andere. Weitere Informationen »

Amazon DynamoDB

Ein schneller, flexibler NoSQL-Datenbankservice für alle Anwendungen, die eine konsistente Latenz im einstelligen Millisekundenbereich für alle Größenordnungen benötigen. Weitere Informationen »

Amazon RDS

Sie können auf einfache Weise eine relationale Datenbank in der Cloud einrichten, betreiben und skalieren. Wählen Sie aus sechs vertrauten Datenbank-Engines unter anderem von Oracle, Microsoft SQL Server, PostgreSQL, MySQL und MariaDB. Weitere Informationen »

Amazon Aurora

Eine relationale Datenbank-Engine, die die Geschwindigkeit und Zuverlässigkeit einer hochwertigen kommerziellen Datenbank mit der Wirtschaftlichkeit einer Open Source-Datenbank verbindet. Erzielen Sie mit derselben Hardware bis zum fünffachen Durchsatz gegenüber herkömmlichen MySQL-Lösungen. Weitere Informationen »

DevOps-Solution_logobreak_remind

Denken Sie daran, dass die Reaktionszeiten der Anwendungen um 200% verkürzt werden, wenn Sie ein PaaS für Microservices auf Amazon ECS erstellen. 
Weitere Informationen »


Netzwerkdienste mit hohem Durchsatz und einer Latenzzeit von weniger als einer Millisekunde.

service-discovery-and-mesh

AWS Cloud Map

AWS Cloud Map ist eine Service-Erkennung für alle Ihre Cloud-Ressourcen. Mit Cloud Map können Sie benutzerdefinierte Namen für Ihre Anwendungsressourcen definieren. Dabei wird der aktualisierte Standort dieser sich dynamisch wandelnden Ressourcen aufrechterhalten.

Weitere Informationen »

AWS App Mesh

Mit AWS App Mesh ist es ganz leicht, Microservices auf AWS zu steuern und zu überwachen. App Mesh standardisiert die Kommunikation Ihrer Microservices, gibt Ihnen durchgehende Transparenz und trägt dazu bei, die Hochverfügbarkeit Ihrer Anwendungen zu gewährleisten.

Weitere Informationen »

ApplicationDiscoveryService_MCV3_Benefit_StreamlinePlanning

Application Load Balancer

Der Application Load Balancer gleicht den HTTP- und HTTPS-Datenverkehr auf der Anwendungsschicht (Level 7) aus und bietet eine erweiterte Anfrageweiterleitung, die auf die Bereitstellung moderner Anwendungsarchitektur abzielt, einschließlich Microservices und Container.

Weitere Informationen »

Network Load Balancer

Der Network Load Balancer bietet einen leistungsstarken Lastausgleich, der auf der Netzwerkverbindungsschicht (Level 4) arbeitet und es Ihnen ermöglicht, Verbindungen zu Microservices basierend auf IP-Protokolldaten weiterzuleiten. Network Load Balancer kann Millionen von Anfragen pro Sekunde verarbeiten und gleichzeitig extrem niedrige Latenzzeiten einhalten.

Weitere Informationen »

BigData_Direct-Connectivity

Amazon API Gateway

Amazon API Gateway bietet eine umfassende Plattform für das API-Management. Amazon API Gateway handhabt für Sie die Verarbeitung hunderttausender gleichzeitiger API-Aufrufe sowie das Datenverkehrsmanagement, die Autorisierung und Zugriffssteuerung, ebenso wie das Monitoring und API-Versionsmanagement.

Weitere Informationen »

Amazon Route 53

Amazon Route 53 ist ein hochverfügbarer und skalierbarer Cloud Domain Name System (DNS)-Webservice, der Anfragen effektiv mit der Infrastruktur verbindet, die in AWS läuft. Er kann für IP-Zustandsüberprüfungen und die Service-Erkennung für Microservices verwendet werden.

Weitere Informationen »

R-Divider_Airtime_logo

Airtime stellt seine Social Media-Produkte den Kunden schneller, zuverlässiger und ohne Wartezeiten bereit, nachdem die App als Microservices auf AWS neu entwickelt worden war. Weitere Informationen »


Veröffentlichung und Koordination von prozessübergreifender Kommunikation.

DMS_benefit-fast-setup

Amazon Simple Notification Service (Amazon SNS)

Amazon SNS ist ein vollständig verwalteter Pub/Sub-Nachrichtenservice, der das Entkoppeln und Skalieren von Microservices, verteilten Systemen und serverlosen Anwendungen vereinfacht.
Weitere Informationen »

Amazon Simple Queue Service (Amazon SQS)

Amazon SQS ist ein vollständig verwalteter Nachrichtenwarteschlangen-Service, der das Entkoppeln und Skalieren von Microservices, verteilten Systemen und serverlosen Anwendungen vereinfacht.
Weitere Informationen »

R-Divider_Lyft_Logo

Lyft nutzt AWS, um als Unternehmen schneller zu agieren und sein exponentielles Wachstum zu steuern, wobei AWS-Produkte genutzt werden, um mehr als 100 Microservices zu unterstützen, durch die alle Aspekte der Kundenzufriedenheit optimiert werden sollen. Weitere Informationen »


Überwachung von Serviceleistung und Ressourcenauslastung. Verfolgung über komplexe Architekturen hinweg zwecks Fehlersuche und Optimierung.

ApplicationDiscoveryService_MCV3_Benefit_DiscoverInventory

AWS CloudTrail

Mit CloudTrail können Sie Kontoaktivitäten in Ihrer Infrastruktur protokollieren, fortlaufend überwachen und speichern. Der CloudTrail-Ereignisverlauf vereinfacht Sicherheitsanalysen, das Nachverfolgen von Ressourcenänderungen sowie die Problembehebung. Weitere Informationen »

Amazon CloudWatch

Sie können Amazon CloudWatch verwenden, um Metriken zu erfassen und nachzuverfolgen, Protokolldateien zu sammeln und zu überwachen, Alarme festzulegen und automatisch auf Änderungen Ihrer aktuell ausgeführten Services und AWS-Ressourcen zu reagieren.
Weitere Informationen »

benefit_Fully-Managed

AWS X-Ray

Nutzen Sie eine End-to-End-Ansicht der Anfragen auf deren Weg durch Ihre Anwendungen sowie von einer Übersicht der Komponenten, die Ihren Anwendungen zugrundeliegen. Da mehrere Microservices zusammenarbeiten, um eine Anfrage zu bearbeiten, kann AWS X-Ray eine zentrale Ansicht der Protokolle bereitstellen, sodass Sie komplexe Interaktionen überwachen und Fehler beheben können. Weitere Informationen »

R-Divider_Shippable_Logo

Durch die Nutzung von Microservices, die auf Amazon ECS gehostet werden, konnte sich Shippable auf die Bereitstellung von Funktionalität für seine Kunden konzentrieren und die Bereitstellungszeiten für Funktionen von einmal pro Woche auf mehrere Male pro Tag verkürzen. Weitere Informationen »


Verwaltung des Code-Lebenszyklus von der Auftragserteilung bis zur Ausführung.

Aurora-benefit_highly-scalable

Amazon Elastic Container Registry (Amazon ECR)

Eine vollständig verwaltete Docker-Container-Registry, die Ihnen das Speichern, Verwalten und Bereitstellen von Docker-Container-Abbildungen erleichtert. Amazon ECR ist in Amazon Elastic Container Service (ECS) integriert und erleichtert damit den Arbeitsablauf für Container von Entwicklung zu Produktion. Weitere Informationen »

benefit_practice-devops

AWS-Tools für Entwickler

Die AWS-Entwickler-Tools sind Services, die Entwicklern und IT-Experten dabei helfen sollen, mit DevOps die schnelle und sichere Bereitstellung von Software zu ermöglichen. Gemeinsam unterstützen diese Services Sie bei der sicheren Speicherung und Versionskontrolle des Quellcodes Ihrer Anwendung sowie beim automatischen Erstellen, Testen und Bereitstellen Ihrer Anwendung in AWS oder Ihrer Geschäftsumgebung vor Ort. Weitere Informationen »

R-Divider_Gilt-Groupe_Logo

Gilt verlagerte sein lokales Rechenzentrum zu AWS, um die Geschwindigkeit und Effizienz einer Cloud-basierten Microservice-Infrastruktur zu nutzen.
Weitere Informationen »