Vereinfachung von Abläufen - Implementierung von Microservices auf AWS

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Vereinfachung von Abläufen

Um den betrieblichen Aufwand für den Betrieb, die Wartung und die Überwachung von Microservices weiter zu vereinfachen, können wir eine vollständig serverlose Architektur verwenden.

Bereitstellung von Lambda-basierten Anwendungen

Sie können Ihren Lambda-Code bereitstellen, indem Sie ein zip Dateiarchiv hochladen oder ein Container-Image über die Konsolen-Benutzeroberfläche mit einer gültigen Amazon ECR-Image-URI erstellen und hochladen. Wenn eine Lambda-Funktion jedoch komplex wird, was bedeutet, dass sie Ebenen, Abhängigkeiten und Berechtigungen hat, kann das Hochladen über die Benutzeroberfläche für Codeänderungen unhandlich werden.

Die Verwendung von AWS CloudFormation und AWS Serverless Application Model (AWS SAM) oder Terraform optimiert den Prozess der Definition serverloser Anwendungen. AWS Cloud Development Kit (AWS CDK) AWS SAM, nativ unterstützt von CloudFormation, bietet eine vereinfachte Syntax für die Angabe serverloser Ressourcen.AWS Lambda Ebenen helfen dabei, gemeinsam genutzte Bibliotheken für mehrere Lambda-Funktionen zu verwalten, den Funktionsumfang zu minimieren, mandantenorientierte Bibliotheken zu zentralisieren und das Entwicklererlebnis zu verbessern. Lambda SnapStart für Java verbessert die Startleistung für latenzempfindliche Anwendungen.

Geben Sie zur Bereitstellung Ressourcen- und Berechtigungsrichtlinien in einer CloudFormation Vorlage an, packen Sie Artefakte für die Paketbereitstellung ein und stellen Sie die Vorlage bereit. SAM Local, ein AWS CLI Tool, ermöglicht die lokale Entwicklung, das Testen und die Analyse serverloser Anwendungen vor dem Hochladen auf Lambda.

Die Integration mit Tools wie AWS Cloud9 IDE,, und AWS CodePipeline optimiert das Erstellen AWS CodeBuild AWS CodeDeploy, Testen, Debuggen und Bereitstellen SAM-basierter Anwendungen.

Das folgende Diagramm zeigt die Bereitstellung von AWS Serverless Application Model Ressourcen mithilfe CloudFormation von CI/CD-Tools. AWS

Das Diagramm zeigt AWS Serverless Application Model ()AWS SAM

Abbildung 2: AWS Serverless Application Model (AWS SAM)

Abstraktion der Komplexität von Mehrmandantenverhältnissen

In einer Multi-Tenant-Umgebung wie SaaS-Plattformen ist es entscheidend, die Feinheiten im Zusammenhang mit Multi-Tenancy zu vereinfachen, sodass sich Entwickler auf die Entwicklung von Features und Funktionen konzentrieren können. Dies kann mit Tools wie AWS Lambda Layers erreicht werden, die gemeinsam genutzte Bibliotheken zur Lösung bereichsübergreifender Probleme bieten. Der Grund für diesen Ansatz ist, dass gemeinsam genutzte Bibliotheken und Tools, wenn sie richtig eingesetzt werden, den Mandantenkontext effizient verwalten. 

Aufgrund der Komplexität und der Risiken, die sie mit sich bringen können, sollten sie sich jedoch nicht auf die Kapselung von Geschäftslogik erstrecken. Ein grundlegendes Problem bei gemeinsam genutzten Bibliotheken ist die zunehmende Komplexität im Zusammenhang mit Updates, wodurch sie im Vergleich zur Duplizierung von Standardcode schwieriger zu verwalten sind. Daher ist es wichtig, bei der Suche nach der effektivsten Abstraktion ein Gleichgewicht zwischen der Verwendung gemeinsam genutzter Bibliotheken und der Vervielfältigung zu finden.

API-Management

Die Verwaltung APIs kann zeitaufwändig sein, insbesondere wenn mehrere Versionen, Phasen des Entwicklungszyklus, Autorisierung und andere Funktionen wie Drosselung und Zwischenspeicherung berücksichtigt werden. Neben API Gateway verwenden einige Kunden auch ALB (Application Load Balancer) oder NLB (Network Load Balancer) für das API-Management. Amazon API Gateway trägt dazu bei, die betriebliche Komplexität der Erstellung und Wartung zu reduzieren RESTful APIs. Es ermöglicht Ihnen die APIs programmgesteuerte Erstellung, dient als „Eingangstür“ für den Zugriff auf Daten, Geschäftslogik oder Funktionen aus Ihren Backend-Services, Autorisierung und Zugriffskontrolle, Ratenbegrenzung, Caching, Überwachung und Datenverkehrsmanagement und läuft APIs ohne Serververwaltung.

Abbildung 3 zeigt, wie API Gateway API-Aufrufe verarbeitet und mit anderen Komponenten interagiert. Anfragen von Mobilgeräten, Websites oder anderen Backend-Diensten werden an den nächstgelegenen CloudFront Point of Presence (PoP) weitergeleitet, um die Latenz zu reduzieren und ein optimales Benutzererlebnis zu bieten.

Diagramm, das den API-Gateway-Anrufablauf zeigt

Abbildung 3: API-Gateway-Anruffluss