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

Bewertung

Die Bewertung von Anwendungen für die Containerisierung hilft dabei, alle Abhängigkeiten und Risiken aufzudecken. Die Bewertung hilft auch dabei, Anwendungen für die Modernisierung und Migration in Prioritätsbereiche einzuteilen.

Konzentrieren Sie sich während der Bewertungsphase auf die folgenden Schlüsselbereiche:

  • Betriebssystemabhängigkeiten für die Containerisierung — Automatisierte Containerisierungstools wie AWS App2Container haben einige Einschränkungen in Bezug auf die Anwendungsframeworks und Betriebssysteme für die Containerisierung. Weitere Informationen zu den unterstützten Anwendungen finden Sie in der App2Container-Dokumentation.

  • Einhaltung gesetzlicher Vorschriften – Es ist effizient, sicherzustellen, dass containerisierte Anwendungen allen Vorschriften entsprechen, bevor sie in der Zielumgebung bereitgestellt werden, anstatt nach der Bereitstellung reaktiv zu handeln und dann Abhilfe zu schaffen. Prüfen Sie auf Schwachstellen in den Images, unbefugter Kommunikation zwischen Containern, Zugriffskontrollen für Container und Daten sowie nach automatisierten Scans, um böswillige Aktivitäten zu verhindern.

  • Lösung für Notfallwiederherstellung (DR) – Für jede Anwendung gibt es ein eigenes Service Level Agreement (SLA) für Ausfallzeiten. Berücksichtigen Sie bei der Planung der Verteilung der Container-Cluster das Recovery Point Objective (RPO) und das Recovery Time Objective (RTO) der Anwendung. App2Container stellt die Anwendung standardmäßig in mehreren Availability Zones bereit.

  • Datenspeicher – Container werden am besten als Stateless-Container verwendet. Bei Stateful-Containern müssen die Daten außerhalb des Containers gespeichert werden. Wenn ein Container außer Betrieb geht, können Sie mithilfe des Images und des angeschlossenen externen Volumes ohne Datenverlust einen neuen Container einrichten.

  • Verwaltung von Konfigurationen und Geheimnissen – Der Parameterspeicher oder der geheime Speicher der Zielumgebung können zum Speichern und Abrufen von Konfigurationen und Geheimnissen aus dem Container verwendet werden. Es muss unbedingt sichergestellt werden, dass die Geheimnisse nur für den jeweiligen Container zugänglich sind. Alle Operationen zur Konfiguration und zu den Geheimnissen sollten protokolliert werden. Der Kommunikationskanal zwischen dem Container und dem geheimen Speicher muss sicher sein.

  • Verwaltung von Protokollen – Zur Prüfung werden die von den einzelnen Containern generierten Protokolle an einen Protokollverwaltungsservice gesendet, der sich außerhalb des Containers befindet. Da eine Anwendung aus mehreren Services und Prozessen besteht, die sich jeweils in unterschiedlichen Containern befinden, sollten die Protokolle jedes Containers eine eindeutige ID haben.

  • Erstellungs- und Bereitstellungsprozess – Die meisten Unternehmen verfügen über einen gewissen Entwicklungs- und Bereitstellungsprozess, um ihre Anwendungen und Features zu veröffentlichen. Um die Vorteile der Containerisierung zu nutzen, sollten Entwicklung und Bereitstellung der Anwendungen mithilfe einer CI/CD-Pipeline automatisiert werden. Eine Pipeline bietet Vorteile wie die Bereitstellung und Außerbetriebnahme der Infrastruktur mit einem Klick, schnellere und fehlersichere Bereitstellungen, Automatisierung und kürzere Zeit bis zur Veröffentlichung neuer Feature.

  • Upstream- und Downstream-Anwendungen – Es hat sich bewährt, alle abhängigen Anwendungen batchweise zu containerisieren und zu migrieren. In Szenarien, in denen dies nicht möglich ist, sollten die Kommunikationskanäle von der containerisierten Anwendung zu den vor- und nachgelagerten Anwendungen sicher geöffnet werden. Stellen Sie sicher, dass die von diesem Kanal unterstützte Bandbreite die Anwendungsfunktionalität nicht beeinträchtigt.

  • Lizenzabhängigkeiten – Mehrere Instances einer Anwendung werden in Containern ausgeführt, was kostspielig werden kann. Prüfen Sie die Verträge und die Voraussetzungen für die Bereitstellung von Software auf Containern. Erfahren Sie, welche Tools zur Messung des Softwareverbrauchs in Containern verwendet werden.

  • Möglichkeit der Containerisierung auf Anwendungsservern oder Arbeitscomputern – Der Containerisierungsprozess verbraucht zusätzliche Ressourcen auf dem Server, z. B. Festplattenspeicher, Rechenleistung und Arbeitsspeicher. Der Anwendungsserver muss analysiert werden, um sicherzustellen, dass er den Containerisierungsprozess unterstützen kann. Andernfalls können Sie einen Arbeitscomputer verwenden, der über die erforderlichen Ressourcen verfügt und mit dem Anwendungsserver kommunizieren kann.

  • Fähigkeiten der Entwickler und Unterstützung bei der Produktion von Containern – Das aktuelle Anwendungsteam sollte sich im Bereich der Containerisierungstechnologie weiterbilden. Das Team sollte in der Lage sein, Probleme im Prozess zu beheben, die Konfigurationen bei Bedarf zu optimieren und die auf Containern bereitgestellten Anwendungen zu unterstützen.

Sie können App2Container verwenden, um Java-Anwendungen, die unter Linux laufen, wie Standalone, Apache Tomcat, IBM, Oracle, zu containerisieren. JBoss WebSphere WebLogic Sie können App2Container auch verwenden, um generische Java-Anwendungen wie Spring Boot zu containerisieren. Die Containerisierung von Anwendungen funktioniert mit Microservices und verteilten Anwendungen. Obwohl alle Java-Anwendungen mit App2Container modernisiert werden können, können Ihnen die folgenden Kriterien bei der Auswahl der richtigen Anwendungen für eine schnellere Migration helfen:

  • Anwendungen, die als einzelne Binärdatei verpackt sind, lassen sich leichter containerisieren. Darüber hinaus können Java-Anwendungen mit einer Java-Laufzeitumgebung (JRE) containerisiert werden. Jeder Container kann die spezifische JRE verwenden, die er benötigt.

  • Zustandslose Anwendungen sind eine gute Wahl für die Modernisierung in Containern. Diese Anwendungen speichern nur minimale Informationen lokal und speichern die meisten ihrer Daten in einem persistenten Datenspeicher.

  • Anwendungen, die mithilfe einer Pipeline für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) veröffentlicht werden, eignen sich gut für die Containerisierung. Containerisieren Sie jede Anwendung und integrieren Sie eine Container-Orchestrierungsplattform wie Amazon ECS oder Amazon EKS, um die sich App2Container automatisch kümmert.

Die meisten Unternehmensanwendungen sind in verschiedene andere Services für Authentifizierung, persistente Datenspeicherung, Caching, asynchrone Kommunikation, Protokollierung und Benachrichtigungen integriert. Die containerisierte Anwendung sollte On-Premises mit allen vorhandenen Integrationspunkten getestet werden, um eine erfolgreiche Containerisierung zu gewährleisten. Wenn Sie bereit für die Migration sind AWS, müssen alle geeigneten Integrationspunkte und Datenspeicher migriert werden. AWS Alle erforderlichen Aktualisierungen der Konfiguration müssen vorgenommen werden, bevor der Anwendungscontainer in AWS bereitgestellt werden kann.

In Dateisystemen gespeicherte Daten können AWS mithilfe verschiedener Tools migriert werden, die auf den jeweiligen Anwendungsfall zugeschnitten sind. Daten, die in einem Cache wie Redis gespeichert sind, können zu Amazon migriert werden. ElastiCache In Datenbanken gespeicherte Daten können mithilfe der systemeigenen Tools der Datenbank oder mithilfe AWS Database Migration Servicevon () migriert werden.AWS DMS AWS DMS bietet außerdem die Option Change Data Capture (CDC), mit der laufende Änderungen bis zur Übernahme aus einem Quelldatenspeicher repliziert werden können.

AWS bietet seinen eigenen Überwachungs- und Betriebsdatenprotokollierungs- und Visualisierungsservice namens Amazon CloudWatch. Ein CloudWatch Agent kann zusammen mit der Anwendung in den Container gepackt werden, um diesen Service zu nutzen.

Für Organisationen, in denen Quellcode nicht verfügbar oder nicht wartbar ist, eignet sich App2Container hervorragend für die Containerisierung, da es in der Laufzeitumgebung der Anwendung läuft und den Quellcode nicht benötigt.