Udostępnij za pośrednictwem


Przygotowywanie migracji obciążenia z usług Amazon Web Services (AWS) na platformę Azure

Ten artykuł jest częścią serii dotyczącej migrowania obciążenia z usług Amazon Web Services (AWS) na platformę Azure.

Faza przygotowania składa się z następujących kroków:

  • Przygotuj środowisko.
  • Przygotuj aplikację.

Celem tej fazy jest przygotowanie istniejącego obciążenia do przeniesienia. Przed rozpoczęciem migracji wdróż jak najwięcej infrastruktury obciążeń i kodu na platformie Azure. Odpowiednie przygotowanie zmniejsza ilość nakładu pracy poświęcanego podczas migracji i zapewnia wiele możliwości testowania.

W tej fazie tworzysz środowisko platformy Azure, refaktoryzujesz dowolny kod w razie potrzeby, konfigurujesz narzędzia i potoki ciągłej integracji i ciągłego dostarczania (CI/CD), a następnie przeprowadzasz testy w celu budowania zaufania do podejścia do migracji.

Ważne

Nie spiesz się w tej fazie. Wszelkie błędnie skonfigurowana infrastruktura, niewystarczające testy lub niegotowość zespołu mogą powodować opóźnienia, luki w zabezpieczeniach lub nieudane wdrożenia podczas migracji.

Przygotowywanie środowiska

  • Aprowizuj strefy docelowe aplikacji. Przekaż projekt obciążeń Azure zespołowi platformy Azure, aby mogli skonfigurować Azure Application Landing Zones dla Twoich środowisk przedprodukcyjnych i produkcyjnych.

  • Konfigurowanie narzędzi migracji. Jeśli planujesz używać usługi Azure Migrate do fazy wykonywania, wdróż urządzenie usługi Azure Migrate i skonfiguruj projekt usługi Azure Migrate. Takie podejście gwarantuje, że wszystkie docelowe zasoby platformy Azure i procesy odnajdywania są gotowe przed przełączeniem.

  • Wdrażanie i konfigurowanie infrastruktury platformy Azure. Użyj infrastruktury jako kodu (IaC) do wdrażania zasobów. Takie podejście zapewnia spójność i powtarzalność. Jeśli twoje zespoły chcą nadal używać narzędzia Terraform do pisania skryptów wdrażania, muszą pisać nowe skrypty i moduły dla zasobów platformy Azure. Jeśli istniejące skrypty wdrażania używają platformy AWS CloudFormation, użyj narzędzia Bicep do wdrożenia na platformie Azure. Najpierw skoncentruj się na środowiskach nieprodukcyjnych i zweryfikuj wszystko przed przejściem do środowisk produkcyjnych.

  • Aktualizowanie potoków CI/CD dla platformy Azure, aby utrzymać zgodność środowisk.

    • Zmodyfikuj potoki wdrażania, aby ukierunkować usługi Azure.

    • Skonfiguruj połączenia z usługami i upewnij się, że procesy kompilacji oraz wydawania mogą wdrażać wybrane zasoby obliczeniowe Azure, takie jak Azure App Service, Azure Kubernetes Service (AKS) lub Azure Virtual Machines.

    • Jeśli używasz podejścia blue-green, upewnij się, że podczas przejścia możesz wdrożyć obciążenie zarówno na platformie AWS, jak i na platformie Azure. Na przykład może być konieczne zastosowanie pilnej poprawki lub wsparcia wycofania.

  • Testowanie infrastruktury. Zweryfikuj swoją sieć Azure Virtual WAN lub sieć szkieletową, a także inne podstawowe usługi, takie jak AWS Direct Connect, Azure ExpressRoute lub połączenia wirtualnej sieci prywatnej (VPN). Upewnij się, że obsługują one docelowe obciążenie i proces migracji. Zweryfikuj kompleksową łączność w środowiskach platformy Azure i platformy AWS. Za pomocą programu Azure Chaos Studio można symulować potencjalne błędy, takie jak awarie maszyny wirtualnej lub sieci. Upewnij się, że zmigrowane obciążenie pozostaje odporne w tych okolicznościach.

  • Przetestuj sieć i zabezpieczenia. Podczas konfigurowania sieciowych grup zabezpieczeń, zapór i zasad sprawdź, czy aplikacja może komunikować się ze wszystkimi wymaganymi usługami. Przeprowadź testy łączności, aby upewnić się, że ustawienia zabezpieczeń nie są zbyt restrykcyjne lub zbyt permissywne. Dostosuj ustawienia zgodnie z potrzebami, aby zachować bezpieczeństwo i funkcjonalność.

    • Upewnij się, że wszystkie wymagane porty są otwarte między środowiskami platformy Azure i platformy AWS.

    • Zweryfikuj reguły zapory oraz konfiguracje sieciowej grupy zabezpieczeń (NSG) lub grupy zabezpieczeń aplikacji (ASG).

    • Udokumentowanie wszelkich tymczasowych wyjątków zabezpieczeń wymaganych podczas migracji.

    • Upewnij się, że plany wycofania uwzględniają przywracanie wszelkich zmian związanych z zabezpieczeniami.

Przygotowywanie aplikacji

  • Usuń przestarzałe części obciążenia. Jeśli obciążenie platformy AWS zawiera funkcje, infrastrukturę lub procesy operacyjne, których nie używasz, usuń je z obciążenia. Ten krok może zmniejszyć obszar powierzchni migracji oraz zawęzić infrastrukturę i testowanie.

  • Zminimalizuj zmiany obciążeń produkcyjnych na platformie AWS. W miarę zbliżania się do migracji zminimalizuj zmiany obciążenia. Unikaj zmian, które wprowadzają nową infrastrukturę, możliwości lub zależności, które mogą zagrozić migracji.

  • Refaktoryzacja kodu aplikacji. Użyj flag funkcji, aby uprościć zarządzanie funkcjami i konfiguracją między środowiskami platformy AWS i platformy Azure.

  • Zastąp biblioteki i zestawy SDK specyficzne dla platformy AWS. Wiele aplikacji korzysta z bibliotek natywnych platformy AWS lub zestawów SDK do magazynowania, obsługi komunikatów lub uwierzytelniania. Te biblioteki i zestawy SDK zwykle nie są zgodne z usługami platformy Azure. Podczas refaktoryzacji zidentyfikuj i zastąp biblioteki specyficzne dla platformy AWS odpowiednikami platformy Azure lub niezależnymi alternatywami platformy. Ten krok pomaga uniknąć błędów środowiska uruchomieniowego i gwarantuje, że aplikacja integruje się z usługami platformy Azure.

    Porada

    Narzędzia, takie jak GitHub Copilot, mogą pomóc deweloperom identyfikować i refaktoryzować kod specyficzny dla platformy AWS, taki jak wywołania zestawu SDK lub integracje usług, do odpowiedników zgodnych z platformą Azure. Użyj narzędzia Copilot, aby przyspieszyć przejście i zmniejszyć nakład pracy ręcznej.

  • Koordynowanie zmian konfiguracji klienta. Upewnij się, że wdroższ i zweryfikujesz wszystkie zmiany konfiguracji dostępnej dla klienta. Zapewnij zespołom klienckim środowiska przedprodukcyjne, aby przetestować aktualizacje punktów końcowych, uwierzytelniania i łączności.

  • Przygotowywanie funkcji operacyjnych. We współpracy z zespołem operacyjnym zaimplementuj monitorowanie obciążeń na platformie Azure. Skonfiguruj usługę Azure Monitor lub Application Insights z pulpitami nawigacyjnymi i regułami alertów odpowiadającymi alarmom usługi AWS CloudWatch. Wytrenuj zespół operacyjny na tych narzędziach. Współpracuj z zespołem ds. zabezpieczeń, aby zaimplementować monitorowanie zabezpieczeń i zweryfikować architekturę platformy Azure. Sprawdź, czy możesz wykonywać rutynowe, nieplanowane i awaryjne zadania operacyjne swojego obciążenia na platformie Azure.

Aby uzyskać więcej informacji na temat przygotowywania obciążeń i tworzenia środowiska platformy Azure, zobacz Przygotowywanie obciążeń dla chmury.

Lista kontrolna

  Zadania do dostarczenia
Aprowizuj strefy docelowe aplikacji
Wdrażanie i konfigurowanie infrastruktury platformy Azure
Aktualizowanie potoków ciągłej integracji/ciągłego wdrażania dla platformy Azure
Infrastruktura testowa
Testowanie sieci i zabezpieczeń
Usuń przestarzałe części swojego zestawu zadań
Minimalizuj zmiany obciążenia produkcyjnego na platformie AWS
Refaktoryzacja kodu aplikacji
Zastępowanie bibliotek specyficznych dla platformy AWS i zestawów SDK
Koordynowanie zmian konfiguracji klienta
Przygotowywanie funkcji operacyjnych

Następny krok