Ocena obciążeń pod kątem migracji do chmury

Faza oceny zapewnia pełny wgląd w każdy składnik, zależność i wymaganie przed przejściem do Microsoft Azure. Zbierając szczegółowe informacje na temat architektury, wydajności, zabezpieczeń, kodu i baz danych, można przewidywać problemy, minimalizować ryzyko i podejmować świadome decyzje dotyczące migracji.

Typ obciążenia Narzędzie odnajdywania Narzędzie do oceny Examples
On-premises Azure Migrate • Azure Migrate
• Dr Migrate
• Serwery fizyczne
• Maszyny wirtualne VMware
• maszyny wirtualne Hyper-V
• Bazy danych SQL
• Aplikacje internetowe
Infrastruktura platformy AWS (IaaS) Azure Migrate • Azure Migrate
• Przewodnik dotyczący przejścia z AWS na Azure
• Instancje AWS EC2
• Bazy danych AWS RDS
• Woluminy AWS EBS
Infrastruktura chmury Google (IaaS) Azure Migrate • Azure Migrate
• Google Cloud Azure wskazówki dotyczące migracji
• Maszyny wirtualne Google Cloud Compute Engine
• Google Cloud SQL
• Dysk trwały Google Cloud
Usługi platformy AWS (PaaS) Eksplorator zasobów platformy AWS • Wskazówki dotyczące migracji z AWS do Azure
• porównanie usług AWS i Azure
• Cloudockit
• AWS Lambda
• AWS Elastic Beanstalk
• AWS DynamoDB
Usługi Google Cloud Platform (PaaS) Spis zasobów usługi Google Cloud • Przewodnik dotyczący przechodzenia z Google Cloud do Azure
• porównanie usług Google Cloud i Azure
• Cloudockit
• Google Cloud BigQuery
• Google Cloud App Engine
• Google Cloud Run Funkcje
Kod aplikacji • CAST Highlight
• Dr Migrate
• Modernizacja aplikacja Copilot GitHub
• Dr Migrate
• CloudPilot
• CAST Highlight
• CloudAtlas
• GitHub
• Azure Repos
• GitLab

Ocena architektury obciążenia

Kompletna ocena architektury zapewnia wgląd we wszystkie składniki obciążenia i sposób ich interakcji. Ta widoczność obsługuje dokładne planowanie migracji, identyfikując składniki, które muszą się łączyć, i jakie składniki mogą wymagać modyfikacji.

  1. Użyj narzędzi do oceny. Narzędzia takie jak Azure Migrate lub inne produkty automatyzują odnajdywanie składników i konfiguracji obciążeń. Te narzędzia zmniejszają nakład pracy ręcznej i zapewniają spójne zbieranie danych w całym środowisku, chociaż mogą one przegapić nieudokumentowane zależności. Aby wygenerować diagramy, możesz użyć narzędzia takiego jak Cloudockit. Możesz również tworzyć własne diagramy przy użyciu ikon Azure lub dostosowywania diagramów dostępnych do pobrania w Centrum Architektur Azure.

  2. Weryfikowanie architektury przy użyciu wiedzy specjalistycznej. Właściciele obciążeń mogą potwierdzić wyniki narzędzi i zidentyfikować brakujące lub nieaktualne informacje. Przeprowadź wywiady lub sesje przeglądu architektury, aby zamknąć luki w danych zautomatyzowanego odnajdywania.

  3. Architektura dokumentu. Przechowuj diagramy architektury, listy składników i dane konfiguracji w formacie obsługującym planowanie i walidację. Użyj narzędzi, takich jak Microsoft Visio, arkusze kalkulacyjne lub witryny typu wiki Azure DevOps, aby zachować te informacje.

Ocena składników obciążenia

Dla każdego obciążenia zbierz szczegółowe wyjściowe metryki wydajności i zużycia z bieżącego środowiska. Te dane mają kluczowe znaczenie dla odpowiedniego określania rozmiaru Azure zasobów i porównywania wydajności po migracji.

  1. Zbieranie metryk obciążenia. Śledzenie wykorzystania CPU, użycia pamięci, operacji wejścia/wyjścia dysku (odczytów/zapisów, IOPS), przepływności sieci i szczytowego współbieżności lub najwyższego obciążenia użytkownika. Identyfikowanie dziennych lub tygodniowych szczytów w celu zrozumienia potrzeb związanych z pojemnością. Mierzenie średniego czasu odpowiedzi dla transakcji użytkownika, przepływności zadań przetworzonych na godzinę i wszystkich metryk związanych z umową SLA. Te informacje pomagają zagwarantować, że zmigrowane obciążenia spełniają te same wymagania dotyczące wydajności biznesowej.

  2. Przechwyć szczegóły konfiguracji. Zwróć uwagę na konfiguracje skalowania, bieżące rozmiary maszyn wirtualnych, specyfikacje serwera fizycznego (rdzenie procesora CPU, pamięć RAM), typ systemu operacyjnego i wersja, typ magazynu (SSD/HDD) i pojemność oraz dowolny specjalny sprzęt, taki jak procesory GPU. Te szczegóły informują o wyborze rozmiarów maszyn wirtualnych Azure lub usług PaaS. Rejestruj również informacje o licencjonowaniu oprogramowania. Te informacje mogą umożliwiać korzystanie z Korzyść użycia hybrydowego platformy Azure lub wymagać migracji licencji.

  3. Udokumentowanie wszystkich konfiguracji zabezpieczeń i tożsamości. Spis wszystkich konfiguracji zabezpieczeń i tożsamości: wyświetlanie listy kont usług, wszelkich zakodowanych poświadczeń, używanych metod szyfrowania i reguł zapory. Te konfiguracje należy replikować lub dostosowywać w Azure.

    Składnik zabezpieczeń Action Purpose
    Inwentarz identyfikatorów Rejestruj wszystkie konta usług, konta użytkowników i klucze interfejsu API używane przez aplikacje do uwierzytelniania Wpływa na sekwencjonowanie migracji podczas wybierania między podejściem "lift-and-shift" a modernizacją.
    Dokumentacja szyfrowania Dokumentowanie bieżących metod szyfrowania danych magazynowanych i przesyłanych Przypisz te wymagania do usług szyfrowania Azure w celu utrzymania standardów bezpieczeństwa.
    Konfiguracja zabezpieczeń sieci Zarejestruj reguły zabezpieczeń sieci, konfiguracje zapory ogniowej i listy kontroli dostępu. Te informacje służą do projektowania Azure sieciowych grup zabezpieczeń i zasad dostępu
  4. Identyfikowanie problemów ze zgodnością. Zautomatyzowane narzędzia zapewniają systematyczne analizowanie systemów operacyjnych, oprogramowania pośredniczącego i struktur aplikacji w odniesieniu do zasad pomoc techniczna platformy Azure. Te narzędzia flagują składniki, które nie są obsługiwane, przestarzałe lub zbliżają się do końca wsparcia. Narzędzia, takie jak Azure Migrate i inne narzędzia do oceny, mogą wykrywać te problemy w całym środowisku bez ręcznych przeglądów konfiguracji.

  5. Lista wymaganych korygowań. Utwórz kompleksową listę wszystkich problemów ze zgodnością i ich wymagania dotyczące korygowania. Określ priorytety tych, które należy naprawić przed migracją (blokady) i te, które można rozwiązać po migracji w razie potrzeby. W razie potrzeby skontaktuj się z dostawcami, aby zrozumieć ścieżki uaktualniania oprogramowania komercyjnego.

Mapuj zależności wewnętrzne i zewnętrzne

  1. Mapuj zależności wewnętrzne. Mapowanie sposobu, w jaki składniki obciążenia komunikują się ze sobą i z innymi systemami w organizacji. Użyj narzędzi do monitorowania sieci lub monitorowania wydajności aplikacji, aby wyświetlić połączenia środowiska uruchomieniowego między usługami. To mapowanie pomaga określić grupowanie w falach migracji. Jeśli na przykład aplikacja A stale wywołuje usługę Database B, migrujesz je razem lub zapewniasz łączność sieciową między Azure a środowiskiem źródłowym, dopóki obie nie znajdują się w chmurze.

  2. Zidentyfikuj wszystkie zależności zewnętrzne. Wyświetl listę wszystkich usług zewnętrznych, z którymi współdziała obciążenie. Te zależności obejmują platformy SaaS, interfejsy API partnerów, systemy lokalne i usługi innych firm, których aplikacje wymagają poprawnego działania. Aby zrozumieć pełny poziom zależności, należy katalogować wszystkie integracje nadrzędne i podrzędne, usługi udostępnione i potoki danych. Interfejsy API dokumentów, systemy obsługi komunikatów, procesy ETL, udostępnione bazy danych, metody uwierzytelniania, wzorce wymiany danych i umowy dotyczące poziomu usług. Przejrzyj dokumentację integracji i przeprowadź wywiady z właścicielami aplikacji, aby zapewnić pełny wgląd we wszystkie połączenia zewnętrzne. To kompleksowe mapowanie zapobiega błędom integracji i obsługuje dokładne sekwencjonowanie migracji.

  3. Zaangażuj właścicieli obciążeń do zweryfikowania i uzupełnienia danych o zależnościach. Właściciele obciążeń oferują krytyczny wgląd w zachowanie systemu, udostępnione zasoby i nieformalne integracje, których narzędzia mogą nie wykrywać. Musisz przeprowadzić wywiady ustrukturyzowane lub warsztaty z właścicielami aplikacji i obciążeń, aby zweryfikować dane wygenerowane przez narzędzie i zidentyfikować nieudokumentowane zależności. Ten krok zapewnia kompletność i dokładność mapy zależności oraz ułatwia przechwytywanie kontekstu biznesowego, który informuje o sekwencjonowaniu migracji.

  4. Udokumentowanie wszystkich zależności w centralnym repozytorium. Przechowywanie danych zależności w formacie obsługującym współpracę między zespołami i planowanie migracji, takie jak arkusze kalkulacyjne, diagramy architektury lub narzędzia do mapowania zależności. Upewnij się, że repozytorium jest dostępne i regularnie aktualizowane w celu odzwierciedlenia zmian w procesie migracji.

  5. Planowanie migracji za pomocą zależności. Organizowanie obciążeń w fale migracji, które minimalizują uszkodzone zależności. Aby uzyskać więcej informacji, zobacz Planowanie fali migracji.

Ocena wymagań dotyczących zgodności i działania

  1. Zidentyfikuj wymagania dotyczące zgodności z przepisami. Jasne zrozumienie wymagań dotyczących zgodności z przepisami gwarantuje, że architektura Azure jest zgodna z zobowiązaniami prawnymi, branżowymi i organizacyjnymi. Te wymagania mają wpływ na wybór regionów, dostępność usług, ochronę danych i decyzje dotyczące architektury. Standardy regulacyjne i zgodności obejmują globalne, regionalne, branżowe i wewnętrzne zasady. Standardy te mogą obejmować HIPAA, FedRAMP, ISO 27001 lub przepisy finansowe, takie jak SOX. Każdy standard nakłada określone wymagania dotyczące obsługi danych, kontroli dostępu, szyfrowania i inspekcji. Należy zidentyfikować wszystkie odpowiednie standardy dla każdego obciążenia roboczego, konsultując się z interesariuszami prawnymi, ds. zgodności i bezpieczeństwa.

  2. Dokumentuj umowy SLA, RPO i RTO. Umowy dotyczące poziomu usług (SLA), cele punktu odzyskiwania (RPO) i cele czasu odzyskiwania (RTO) definiują akceptowalne poziomy dostępności i utraty danych. Te metryki prowadzą do projektowania strategii tworzenia kopii zapasowych, replikacji i trybu failover. Należy udokumentować te wartości dla każdego obciążenia, aby upewnić się, że architektura spełnia oczekiwania dotyczące ciągłości działania. Zobacz Definiowanie wymagań dotyczących niezawodności.

  3. Klasyfikuj każde środowisko obciążenia. Obciążenia są zwykle uruchamiane w środowiskach produkcyjnych, testowych lub programistycznych. Każde środowisko ma inne wymagania dotyczące dostępności, zabezpieczeń i wydajności. Aby poinformować o sekwencjonowaniu migracji, kontroli dostępu i alokacji zasobów, należy udokumentować klasyfikację środowiska dla każdego obciążenia.

  4. Zweryfikuj integrację niezależnego dostawcy oprogramowania z Azure. Wiele obciążeń zależy od oprogramowania od niezależnych dostawców oprogramowania (ISV). Przed migracją należy potwierdzić, że wszystkie oprogramowanie niezależnego dostawcy oprogramowania jest zgodne z Azure. Użyj dokumentacji dostawcy, środowisk testowych lub weryfikacji z dostawcą oprogramowania niezależnego. Zidentyfikuj wymagane aktualizacje, zamiany lub zmiany konfiguracji. Określ również, czy mają zastosowanie Korzyść użycia hybrydowego platformy Azure czy inne modele licencjonowania. Uwzględnij koszty licencjonowania i korekty zgodności w planie migracji na potrzeby dokładnego budżetowania i planowania.

Ocena kodu aplikacji

Ocena kodu aplikacji identyfikuje problemy ze zgodnością i możliwości modernizacji, które mogą mieć wpływ na powodzenie migracji. Ta ocena jest niezbędna do zapewnienia niezawodnego działania aplikacji w Azure i efektywnego planowania fal migracji. Należy ocenić kod aplikacji w celu wczesnego wykrywania blokad, zmniejszenia ryzyka niepowodzenia migracji i informowania o decyzjach dotyczących architektury docelowej.

Używanie zautomatyzowanych narzędzi do oceny kodu aplikacji

  1. Użyj narzędzia GitHub Copilot do modernizacji aplikacji (.NET i Java).GitHub Copilot do modernizacji aplikacji zapewnia szczegółowe oceny zestawów roboczych .NET i Java. Łączy ona możliwości oceny usługi AppCAT z pomocą opartą na sztucznej inteligencji Copilot, aby przyspieszyć i ułatwić modernizację. Ta integracja działa jako partner kodu, ułatwiając:

    • Przechwytywanie zależności związanych z aplikacją
    • Poprawianie i optymalizowanie kodu źródłowego dla usług Azure
    • Aktualizowanie kodu i naprawianie Wspólnych Luk i Zagrożeń (CVE)
    • Konteneryzowanie aplikacji na potrzeby elastycznego wdrażania
    • Generowanie plików wdrażania w celu usprawnienia migracji
    • Zmniejszanie nakładu pracy dzięki kodowaniu wspomaganym przez sztuczną inteligencję
  2. Użyj narzędzi innych firm dla innych języków aplikacji. Narzędzia takie jak CloudPilot i CAST Highlight obsługują języki, takie jak Python, JavaScript, Node.jsi Go. Te narzędzia identyfikują zmiany na poziomie kodu wymagane dla zgodności z Azure i dostarczają wskazówki dotyczące modernizacji. Użyj tych narzędzi, aby ocenić obciążenia inne niż .NET i obciążenia inne niż Java.

  3. Użyj wyników oceny, aby poinformować o decyzjach dotyczących architektury docelowej. Wyniki zgodności aplikacji mogą mieć wpływ na wybór usług Azure. Na przykład aplikacja, która nie jest zgodna z jedną usługą, może być zgodna z inną z minimalnymi zmianami kodu. Usługi takie jak Azure App Service zwykle wymagają mniejszej liczby zmian kodu, podczas gdy usługi platformy kontenerów mogą wymagać większej liczby aktualizacji kodu przed wdrożeniem. Ta elastyczność umożliwia wcześniejszą migrację aplikacji i odroczenie modernizacji kodu do późniejszej fazy. Takie podejście zmniejsza ryzyko migracji i skraca czas migracji do chmury.

Weryfikowanie zgodności platformy i zestawu SDK

  1. Omówienie zgodności kodu. Zgodność platformy i zestawu SDK zapewnia niezawodne działanie aplikacji w Azure. Nieobsługiwane wersje lub niezgodne zestawy SDK mogą powodować błędy środowiska uruchomieniowego lub wymagać znacznej ponownej pracy. Należy sprawdzić, czy Azure obsługuje wersję i strukturę języka aplikacji.

  2. Sprawdź pomoc techniczna platformy Azure dla języka i struktury aplikacji. Upewnij się, że Azure obsługuje twoją wersję .NET, Java, Python, JavaScript, Node.js i Go. Aby zweryfikować zgodność, użyj oficjalnej dokumentacji Azure.

  3. Unikaj niepotrzebnych zmian struktury. Migracja tylko do nowej struktury (takiej jak Microsoft .NET Framework do platformy .NET Core), jeśli istnieje silne uzasadnienie biznesowe. Zmiany struktury wymagają znacznego nakładu pracy programistycznej i testowania.

Ocena baz danych

Zależności bazy danych często określają powodzenie migracji aplikacji. Współużytkowane bazy danych, zależności między aplikacjami i wzorce integracji mogą komplikować planowanie migracji. Należy ocenić bazy danych, które obsługują aplikacje i zrozumieć ich zależności. Postępuj zgodnie z poniższymi wskazówkami:

  1. Zidentyfikuj wszystkie bazy danych używane przez aplikację. Utwórz pełny spis wszystkich baz danych używanych przez aplikację. Uwzględnij typy aparatu bazy danych (SQL Server, MySQL), wersje i modele hostingu (na przykład lokalne, IaaS, PaaS). Użyj narzędzi, takich jak Azure Migrate, aby systematycznie zbierać te informacje. Określ, czy baza danych jest hostowana samodzielnie, hostowana na maszynach wirtualnych, czy dostarczana jako usługa zarządzana. Te informacje pomagają określić gotowość migracji i zgodność platformy docelowej.

  2. Mapowanie zależności przychodzących i wychodzących. Jasny widok przepływu danych do i z każdej bazy danych ma kluczowe znaczenie dla sekwencjonowania migracji i unikania przerw w działaniu usługi. Zależności często obejmują wiele aplikacji, usług i systemów zewnętrznych. Obejmują aplikacje wewnętrzne, interfejsy API, zadania wsadowe, narzędzia raportowania i inne integracje. Określ, czy zależność jest tylko do odczytu, tylko do zapisu, czy dwukierunkowa. Ten szczegół pomaga określić priorytety obciążeń i zidentyfikować potencjalne elementy blokujące migrację.

  3. Określanie strategii migracji bazy danych. Zdecyduj, czy przenieść bazę danych jako instancję współdzieloną, czy pogrupować ją według obciążenia. Udostępnione bazy danych upraszczają zarządzanie, ale mogą opóźnić migrację, jeśli zależy od nich wiele aplikacji. Dzielenie baz danych umożliwia niezależną migrację, ale wymaga starannej koordynacji i testowania. Upewnij się, że plan migracji bazy danych obsługuje sekwencjonowanie ruchu aplikacji i minimalizuje przestoje lub przerwy w działaniu usługi.

Tworzenie i utrzymywanie rejestru ryzyka

Rejestr ryzyka jest dokumentem lub narzędziem używanym do identyfikowania, oceniania, określania priorytetów i monitorowania potencjalnych zagrożeń, które mogą mieć wpływ na wdrożenie chmury. Zawiera on opis strategii ograniczania ryzyka. Utrzymanie tego rejestru zapewnia proaktywne zarządzanie ryzykiem.

  1. Ustanów rejestr ryzyka dla wszystkich obciążeń. Rejestruj czynniki ryzyka związane z czynnikami technicznymi, operacyjnymi i organizacyjnymi. Ten rejestr zapewnia wgląd w potencjalne blokady i ich wartość.

  2. Zdefiniuj strategie ograniczania ryzyka i śledź ich stan. Dla każdego ryzyka należy udokumentować działania zaradcze, strony odpowiedzialne i osie czasu rozwiązywania problemów. To śledzenie gwarantuje, że aktywnie zarządzasz ryzykiem i rozwiązujesz je.

Aby uzyskać więcej informacji, zobacz CaF Govern — Ocena ryzyka w chmurze

Zasoby i narzędzia Azure

Category Tool Description
Odnajdywanie i ocena Azure Migrate Kompleksowe odnajdywanie i ocena serwerów lokalnych, baz danych i aplikacji
Serwery z obsługą usługi Arc Azure Arc Rozszerza zarządzanie Azure na środowiska lokalne i wielochmurowe
Ocena kodu GitHub Copilot Automatyczna analiza zgodności dla aplikacji .NET i Java
Migracja bazy danych Data Migration Service Usługa, która umożliwia bezproblemową migrację z wielu źródeł baz danych do platform danych Azure
Mapowanie wielochmurowe Mapowanie usług AWS do Azure Przewodnik porównawczy usług do migracji z AWS do Azure
Mapowanie wielochmurowe Mapowanie usług z Google Cloud na Azure Przewodnik porównawczy dotyczący migracji z Google Cloud na Azure
Programowanie Azure .NET na Azure Wskazówki dotyczące uzyskiwania dostępu do usług Azure z aplikacji .NET
Programowanie Azure Java Azure Zasoby dla deweloperów Java opartych na Azure
Programowanie Azure Python na Azure Zasoby dla deweloperów Python opartych na Azure
Programowanie Azure JavaScript i Node.js w Azure Wskazówki dotyczące programowania w języku JavaScript i Node.js na platformie Azure
Programowanie Azure Przejdź na Azure Zasoby dla deweloperów języka Go opartych na Azure
Framework Migracji do Chmury Definiowanie wymagań dotyczących niezawodności Wskazówki dotyczące definiowania wymagań dotyczących niezawodności obciążeń w chmurze

Dalsze kroki