Detaillierte Bewertung des Antrags - 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.

Detaillierte Bewertung des Antrags

Ziel einer detaillierten Anwendungsbeurteilung ist das vollständige Verständnis der Zielanwendung und der zugehörigen Infrastruktur (Rechenleistung, Speicher und Netzwerk). Daten mit hoher Genauigkeit sind erforderlich, um Fallstricke zu vermeiden. Beispielsweise gehen Unternehmen häufig davon aus, dass sie die Anwendung vollständig verstehen. Das ist natürlich und in vielen Fällen auch wahr. Um das Risiko für das Unternehmen zu minimieren, ist es jedoch wichtig, institutionelles Wissen und statische Unterlagen zu validieren, indem so viele programmatische Daten wie möglich abgerufen werden. Auf diese Weise wird der Forschungsprozess erheblich erleichtert. Sie können sich auf die Datenelemente konzentrieren, die aus alternativen Quellen stammen, z. B. geschäftsspezifische Informationen, strategische Roadmaps und andere.

Der Schlüssel liegt darin, Änderungen in letzter Minute während und nach der Migration zu vermeiden. Bei der Migration ist es beispielsweise wichtig, Änderungen zu vermeiden, die auf unbekannten Abhängigkeiten beruhen und die Einbeziehung eines Servers in eine laufende Migrationswelle erfordern könnten. Kurz nach der Migration ist es wichtig, Änderungen aufgrund der damit verbundenen Plattformanforderungen zu vermeiden, um Datenverkehr zuzulassen oder zusätzliche Dienste bereitzustellen. Solche ungeplanten Änderungen erhöhen das Risiko von Sicherheits- und Betriebsproblemen. Wir empfehlen dringend, bei der Durchführung detaillierter Anwendungsbewertungen Tools zur programmatischen Erkennung zu verwenden, um Datenverkehrsmuster und Abhängigkeiten zu überprüfen.

Zu Beginn der Bewertung müssen Sie die Stakeholder der Anwendung identifizieren. In der Regel handelt es sich dabei um die folgenden:

  • Leiter der Geschäftseinheit

  • Inhaber der Anwendung

  • Architekten

  • Betrieb und Support

  • Teams für Cloud-Unterstützung

  • Spezifische Plattformteams wie Computer-, Speicher- und Netzwerkteams

Es gibt zwei Ansätze für eine detaillierte Entdeckung. Die Top-down-Erkennung beginnt bei der Anwendung oder sogar beim Benutzer und reicht bis hinunter zur Infrastruktur. Dies ist der empfohlene Ansatz, wenn die Identifizierung der Anwendung eindeutig ist. Umgekehrt beginnt die Erkennung von unten nach oben bei der Infrastruktur und reicht bis hin zur Anwendung oder dem Dienst und seinen Benutzern. Dieser Ansatz ist nützlich, wenn Migrationsprogramme von Infrastrukturteams geleitet werden und wenn die application-to-infrastructure Zuordnung unklar ist. Im Allgemeinen werden Sie wahrscheinlich eine Kombination aus beidem verwenden.

Um tief in eine Anwendung einzutauchen, sind bestehende Architekturdiagramme ein guter Anfang. Wenn diese nicht verfügbar sind, erstellen Sie eines, das auf dem aktuellen Wissensstand basiert. Unterschätzen Sie nicht die Bedeutung dieser Aufgabe, auch nicht für einfache Strategien zur Umstellung oder Verlagerung von Standorten. Das Plotten von Architekturdiagrammen hilft Ihnen dabei, Ineffizienzen zu identifizieren, die in der Cloud mit geringfügigen Änderungen schnell behoben werden können.

Je nachdem, ob Sie einen Top-down- oder Bottom-up-Ansatz verfolgen, werden im ersten Diagramm Anwendungskomponenten und Dienste oder Infrastrukturkomponenten wie Server und Load Balancer dargestellt. Nachdem die Hauptkomponenten und Schnittstellen identifiziert wurden, validieren Sie sie mit programmgesteuerten Daten aus Erkennungstools und Tools zur Überwachung der Anwendungsleistung. Die Tools müssen die Abhängigkeitsanalyse unterstützen und Kommunikationsinformationen zwischen den Komponenten bereitstellen. Jede Komponente, aus der diese Anwendung besteht, muss identifiziert werden. Dokumentieren Sie als Nächstes Abhängigkeiten zu anderen internen und externen Anwendungen und Diensten.

In Ermangelung von Tools zur Validierung von Abhängigkeiten und Zuordnungen ist ein manueller Ansatz erforderlich. Sie können sich beispielsweise bei Infrastrukturkomponenten anmelden und Skripts ausführen, um Kommunikationsinformationen wie offene Ports und hergestellte Verbindungen zu sammeln. Ebenso können Sie laufende Prozesse und installierte Software identifizieren. Unterschätzen Sie nicht den Aufwand, der für die manuelle Erkennung erforderlich ist. Mit programmatischen Tools können die meisten Abhängigkeiten innerhalb weniger Tage erfasst und gemeldet werden, mit Ausnahme derjenigen, die in größeren Intervallen auftreten (in der Regel ein kleiner Prozentsatz). Die manuelle Erkennung kann Wochen in Anspruch nehmen, um alle Datenpunkte zu sammeln und zusammenzuführen, und es kann immer noch anfällig für Fehler und fehlende Daten sein.

Fahren Sie fort, um die im Abschnitt mit den Datenanforderungen angegebenen Informationen für jede priorisierte Anwendung und die zugeordnete Infrastruktur zu erhalten. Verwenden Sie anschließend den folgenden Fragebogen, der Sie durch den detaillierten Bewertungsprozess führt. Treffen Sie sich mit den identifizierten Stakeholdern, um die Antworten auf diese Fragen zu besprechen.

Allgemeines

  • Wie hoch ist der Kritikalitätsgrad dieser Anwendung? Generiert sie Einnahmen? Handelt es sich um eine geschäftsstrategische oder unterstützende Geschäftsanwendung? Handelt es sich um einen zentralen Infrastrukturdienst, der von anderen Systemen gemeinsam genutzt wird?

  • Gibt es ein laufendes Transformationsprojekt für diese Anwendung?

  • Handelt es sich um eine intern oder extern ausgerichtete Anwendung?

Architektur

  • Was ist der aktuelle Architekturtyp (z. B. SOA, Microservices, Monolith)? Wie viele Stufen hat die Architektur? Ist sie fest oder lose gekoppelt?

  • Was sind die Komponenten (z. B. Rechenleistung, Datenbanken, Remotespeicher, Load Balancer, Caching-Dienste)?

  • Was sind die APIs? Beschreiben Sie diese, einschließlich API-Namen, Operationen, URLs, Ports und Protokolle.

  • Was ist die maximale Latenz, die zwischen Komponenten und zwischen dieser und anderen Anwendungen oder Diensten toleriert wird?

Operationen

  • An welchen Standorten wird diese Anwendung betrieben?

  • Wer betreibt die Anwendung und die Infrastruktur? Werden diese von internen Teams oder von AWS Partnerteams betrieben?

  • Was passiert, wenn diese Anwendung ausfällt? Wer ist betroffen? Was ist die Auswirkung?

  • Wo befinden sich Benutzer oder Kunden? Wie greifen sie auf die Anwendung zu? Wie hoch ist die Anzahl der gleichzeitigen Benutzer?

  • Wann fand die letzte Technologie-Aktualisierung statt? Ist in future eine Aktualisierung geplant? Wenn ja, wann?

  • Was sind die bekannten Risiken und Probleme bei dieser Anwendung? Was ist die Geschichte von Ausfällen und Zwischenfällen mittlerer und hoher Schwere?

  • Was ist der Nutzungszyklus (in Geschäftszeiten)? Was ist die Betriebszeitzone?

  • Was sind die Sperrfristen für Änderungen?

  • Welche Lösung wird zur Überwachung dieser Anwendung verwendet?

Leistung

  • Was zeigen die gesammelten Leistungsinformationen? Ist die Nutzung stark oder konstant und vorhersehbar? Was ist der Zeitrahmen, das Intervall und das Datum der verfügbaren Leistungsdaten?

  • Gibt es geplante Batch-Jobs, die Teil dieser Anwendung sind oder mit dieser interagieren?

Lebenszyklus der Software

  • Wie hoch ist die aktuelle Änderungsrate (wöchentlich, monatlich, vierteljährlich oder jährlich)?

  • Was ist der Entwicklungszyklus (z. B. Test, Entwicklung, Qualitätssicherung, UAT, Vorproduktion, Produktion)?

  • Was sind die Bereitstellungsmethoden für Anwendung und Infrastruktur?

  • Was sind die Bereitstellungstools?

  • Nutzt diese Anwendung oder Infrastruktur Continuous Integration (CI) /Continuous Delivery (CD)? Wie hoch ist der Automatisierungsgrad? Was sind die manuellen Aufgaben?

  • Was sind die Lizenzanforderungen für die Anwendung und die Infrastruktur?

  • Was ist das Service Level Agreement (SLA)?

  • Was sind die aktuellen Testmechanismen? Was sind die Testphasen?

Migration

  • Was sind die Überlegungen zur Migration?

Beachten Sie an dieser Stelle alle Überlegungen, die bei der Migration dieser Anwendung zu beachten sind. Für eine vollständigere und genauere Bewertung holen Sie sich Antworten auf diese Frage von den verschiedenen Interessenträgern ein. Stellen Sie dann ihr Wissen und ihre Meinungen gegenüber.

Ausfallsicherheit

  • Was ist die aktuelle Backup-Methode? Welche Produkte werden für Backups verwendet? Wie sieht der Backup-Zeitplan aus? Was ist die Richtlinie zur Aufbewahrung von Backups?

  • Was sind das aktuelle Recovery Point Objective (RPO) und Recovery Time Objective (RTO)?

  • Verfügt diese Anwendung über einen Disaster-Recovery-Plan (DR)? Wenn ja, was ist die DR-Lösung?

  • Wann war der letzte DR-Test?

Sicherheits und Compliance

  • Welche Compliance- und regulatorischen Rahmenbedingungen gelten für diese Anwendung? Was sind die letzten und nächsten Prüfungstermine?

  • Hostet diese Anwendung sensible Daten? Was ist die Datenklassifizierung?

  • Werden die Daten während der Übertragung oder im Ruhezustand oder beides verschlüsselt? Was ist der Verschlüsselungsmechanismus?

  • Verwendet diese Anwendung Secure Sockets Layer (SSL) -Zertifikate? Was ist die ausstellende Behörde?

  • Was ist die Authentifizierungsmethode für Benutzer, Komponenten und andere Anwendungen und Dienste?

Datenbanken

  • Welche Datenbanken verwendet diese Anwendung?

  • Was ist die typische Anzahl gleichzeitiger Verbindungen zur Datenbank? Was sind die minimale und maximale Anzahl von Verbindungen?

  • Was ist die Verbindungsmethode (zum Beispiel JDBC, ODBC)?

  • Sind Verbindungszeichenfolgen dokumentiert? Wenn ja, wo?

  • Was sind die Datenbankschemas?

  • Verwendet die Datenbank benutzerdefinierte Datentypen?

Abhängigkeiten

  • Was ist die Abhängigkeit zwischen Komponenten? Beachten Sie alle Abhängigkeiten, die nicht aufgelöst werden können und für die eine gemeinsame Migration der Komponenten erforderlich ist.

  • Sind die Komponenten auf mehrere Standorte aufgeteilt? Wie ist die Konnektivität zwischen diesen Standorten (z. B. WAN, VPN)?

  • Was sind die Abhängigkeiten dieser Anwendung von anderen Anwendungen oder Diensten?

  • Was sind die betrieblichen Abhängigkeiten? Zum Beispiel Wartungs- und Release-Zyklen wie das Patchen von Fenstern.