Neugestaltung der Architektur als Microservices in Linux-Containern - AWS Präskriptive Leitlinien

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.

Neugestaltung der Architektur als Microservices in Linux-Containern

Eine Microservices-Architektur ist ein Ansatz zur Entwicklung einer einzelnen Anwendung als Suite kleiner Dienste. Jeder Dienst läuft in seinem eigenen Prozess und kommuniziert mit anderen Diensten über einfache Mechanismen. Dieser Ansatz unterteilt eine monolithische Anwendung in kleinere Dienste, wobei jeder Dienst einem einzigen Zweck dient und als Container bereitgestellt wird.

Anwendungsfälle

Diese Migrationsstrategie ist nützlich, wenn:

  • Sie möchten Ihr monolithisches System in Microservices aufteilen.

  • Sie haben die Ressourcen und die Zeit für das Refactoring zur Verfügung.

  • Sie können alle.NET Framework-Abhängigkeiten auflösen.

  • Sie haben eine lang laufende Anwendung.

Vorteile

Dieser Migrationsansatz bietet im Vergleich zu lokalen .NET-Anwendungen die folgenden Vorteile:

  • Schnellere Innovation, weil es einfacher ist, einer Microservice-Architektur neue Funktionen hinzuzufügen

  • Hohe Verfügbarkeit und Zuverlässigkeit

  • Höhere Agilität und Skalierbarkeit auf Abruf

  • Fortlaufende Bereitstellung und fortlaufende Integration und fortlaufende Bereitstellung (CI/CD) -Pipelines

  • Starke Modulgrenzen und technische Vielfalt

Nachteile

  • Aufwand und Kosten des Refactorings

  • Mögliche betriebliche Komplexität

AWS-Services

Sie können die folgendenAWS Dienste verwenden, um ein auf Mikrodiensten basierendes System zu entwickeln:

Tools

AWSProfessional Services bietet maßgeschneiderte Tools und Services, mit denen Sie Ihre monolithischen Anwendungen in Microservices umgestalten können.

Einsatzentscheidungen

Sie können aus fünf Bereitstellungsoptionen auswählen:

  • Wenn Sie die vollständige Kontrolle über die Konfiguration Ihrer Rechenumgebung, einschließlich Speicher- und Speichereinstellungen, und Kontrolle über Betriebssystem-Patches wünschen, stellen Sie Ihre Anwendung als Linux-Container auf einer EC2-Instance bereit.

  • Wenn Sie möchten, dass der Container von Kubernetes verwaltet und als serverloser Container ausgeführt wird: Stellen Sie Ihre Anwendung als Linux-Container auf Amazon EKS mit Fargate bereit.

  • Wenn Sie möchten, dass der Container von Amazon ECS verwaltet und als serverloser Container ausgeführt wird: Stellen Sie Ihre Anwendung als Linux-Container auf Amazon ECS mit Fargate bereit.

  • Wenn Sie möchten, dass der Container von Kubernetes verwaltet wird, Sie aber die Rechenressourcen des Containers selbst verwalten möchten, stellen Sie Ihre Anwendung als Linux-Container auf Amazon EKS bereit.

  • Wenn Sie möchten, dass der Container von Amazon ECS verwaltet wird, Sie aber die Rechenressourcen des Containers selbst verwalten möchten, stellen Sie Ihre Anwendung als Linux-Container auf Amazon ECS bereit.

Refactoring .NET applications as microservices in Linux containers on AWS