Opis struktury migracji platformy Azure

Ukończone

Przed rozpoczęciem migracji obciążeń lokalnych firmy Tailwind Traders na platformę Azure należy rozważyć utworzenie planu migracji. Plan powinien identyfikować obciążenia do migracji oraz odpowiednie usługi lub narzędzia do użycia podczas migracji. Najlepiej, aby plan zawierał również szczegółowe informacje o sposobie optymalizacji migrowanych usług.

Struktura migracji platformy Azure może pomóc w opracowaniu planu i pracy z migracją. Struktura składa się z czterech etapów: ocena, migracja, optymalizacja i monitorowanie.

Etap 1. Ocena środowiska lokalnego

Na pierwszym etapie oceniasz bieżące środowisko lokalne:

  • Identyfikowanie aplikacji i powiązanych serwerów, usług i danych w zakresie migracji
  • Rozpocznij pracę z uczestnikami projektu, takimi jak dział IT i odpowiednie grupy biznesowe
  • Utwórz pełną mapę spisu i zależności serwerów, usług i aplikacji, które planujesz przeprowadzić migrację
  • Szacowanie oszczędności kosztów przy użyciu kalkulatora całkowitego kosztu posiadania (TCO) platformy Azure
  • Identyfikowanie odpowiednich narzędzi i usług, których można użyć do wykonania czterech etapów

Wzorce strategii migracji

Istnieje pięć szerokich wzorców strategii migracji obciążeń do chmury, zwykle nazywanych pięcioma zasadami racjonalizacji: Ponowne hostowanie, Refaktoryzacja, Zmiana architektury, Ponowne kompilowanie i Zastępowanie. To, którą strategię chcesz przyjąć, zależy od Twoich celów biznesowych i celów migracji. Możesz rozważyć wdrożenie wielu wzorców. Możesz wybrać ponowne hostowanie prostych aplikacji lub aplikacji, które nie są krytyczne dla Twojej firmy, ale zmiana architektury aplikacji, które są bardziej złożone i krytyczne dla działania firmy.

  • Ponowne hostowanie: ponowne hostowanie jest często określane jako migracja metodą "lift and shift". Ta strategia nie wymaga zmian w kodzie i umożliwia szybkie migrowanie istniejących obciążeń na platformę Azure. Każde obciążenie jest migrowane w następujący sposób, bez ryzyka i kosztów związanych ze zmianami kodu.

  • Refaktoryzacja: Refaktoryzacja jest często określana jako ponowne tworzenie pakietu. Refaktoryzacja wymaga minimalnych zmian w aplikacjach, dzięki czemu mogą łączyć się z platformą Azure jako usługą (PaaS) i korzystać z ofert w chmurze. Istniejące aplikacje można migrować do usługi aplikacja systemu Azure Service lub usługi Azure Kubernetes Service (AKS). Można też refaktoryzować relacyjne i nierelacyjne bazy danych do innych opcji. Refaktoryzacja w usłudze Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL i Azure Cosmos DB (jeśli można łatwo ponownie spakować aplikację do pracy na platformie Azure).

  • Zmiana architektury: Zmiana architektury migracji koncentruje się na modyfikowaniu i rozszerzaniu funkcjonalności aplikacji oraz bazie kodu w celu zoptymalizowania architektury aplikacji pod kątem skalowalności chmury. Aplikację monolityczną można podzielić na grupę mikrousług, które współpracują ze sobą i łatwo skalują. Można też zmienić architekturę relacyjnych i nierelacyjnych baz danych na w pełni zarządzane rozwiązanie bazy danych. Zmiana architektury w usłudze Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL i Azure Cosmos DB.

  • Ponowne kompilowanie: ponowne kompilowanie wykonuje kolejne czynności, całkowicie ponownie tworząc aplikację przy użyciu technologii w chmurze platformy Azure. Aplikacje z zielonymi polami można tworzyć za pomocą natywnych dla chmury technologii, takich jak Azure Functions, Azure AI, Azure SQL Managed Instance i Azure Cosmos DB.

  • Zastąp: Zaimplementuj rozwiązania przy użyciu najlepszej technologii i podejścia dostępnego w tej chwili. Czasami aplikacje oprogramowania jako usługi (SaaS) mogą zapewniać wszystkie niezbędne funkcje dla hostowanych aplikacji. Następnie można zaplanować zastąpienie obciążenia, usuwając je z zakresu migracji.

W poniższej tabeli wymieniono scenariusze pracy z czterema wzorcami.

Ponowne hostowanie Refaktoryzacja Zmiana architektury Ponowne kompilowanie Replace
Szybkie przenoszenie obciążeń do chmury

Przenoszenie obciążenia bez modyfikowania go

W przypadku aplikacji przeznaczonych do korzystania ze skalowalności IaaS platformy Azure po migracji

Gdy obciążenia są ważne dla Twojej firmy, ale nie potrzebujesz natychmiastowych zmian w możliwościach aplikacji
Stosowanie innowacyjnych rozwiązań DevOps oferowanych przez platformę Azure

Implementowanie strategii kontenera DevOps dla obciążeń

Obsługa przenoszenia istniejącej bazy kodu i dostępnych umiejętności programistycznych
Aplikacje wymagają istotnych poprawek, aby uwzględnić nowe możliwości

Aplikacje wymagają istotnych poprawek, aby efektywnie pracować na platformie w chmurze

Korzystanie z istniejących inwestycji w aplikacje

Spełnianie wymagań dotyczących skalowalności

Stosowanie innowacyjnych rozwiązań Metodyki DevOps

Minimalizowanie użycia maszyn wirtualnych
Szybki rozwój

Obsługa istniejących aplikacji z ograniczoną funkcjonalnością i cyklem życia

Przyspieszanie innowacji biznesowych przy użyciu praktyk DevOps

Ponowne kompilowanie przy użyciu nowych technologii natywnych dla chmury, takich jak Usługa Azure Blockchain

Ponowne kompilowanie starszych aplikacji jako "brak aplikacji kodu" lub "niskich aplikacji" w chmurze
Standaryzacja najlepszych rozwiązań branżowych

Przyspieszanie wdrażania podejść opartych na procesach biznesowych

Reallokowane inwestycje w rozwój, które tworzą konkurencyjne różnice lub zalety

Zastępowanie istniejących rozwiązań na rzecz ofert SaaS

Etap 2. Migrowanie obciążeń

Po zakończeniu oceny możesz rozpocząć proces migrowania aplikacji docelowych i powiązanych z nimi usług i danych. Etap migracji zwykle składa się z następujących działań:

  • Wdrażanie celów infrastruktury chmury. Przed przeprowadzeniem migracji obciążeń firmy Tailwind Traders należy utworzyć wymagane cele infrastruktury w chmurze. W zależności od narzędzi używanych do przeprowadzenia migracji może być konieczne utworzenie wymaganych zasobów platformy Azure przed rozpoczęciem migracji. Niektóre narzędzia, takie jak Azure Migrate i Azure Database Migration Service, mogą utworzyć docelowe zasoby platformy Azure.

  • Migrowanie obciążeń. Dobrym pomysłem jest pilotaż migracji obciążeń i wybranie aplikacji niekrytycznej dla pilotażu. Takie podejście umożliwia zapoznanie się z narzędziami, zdobywanie doświadczenia z procesami i procedurami oraz zmniejszanie ryzyka podczas migrowania dużych lub złożonych obciążeń.

  • Likwidowanie infrastruktury lokalnej: po pomyślnym zmigraniu źródłowych aplikacji i baz danych należy zlikwidować obciążenia źródłowe. Rozważ zachowanie kopii zapasowych obciążeń źródłowych i zarchiwizowanych danych. Te dane mogą okazać się przydatne, ponieważ udostępniają archiwum historyczne. Te kopie zapasowe i archiwa można przechowywać w usłudze Azure Blob Storage.

Etap 3. Optymalizowanie migrowanych obciążeń

Na etapie optymalizacji istnieją trzy główne wysiłki mające na celu skupienie się na planowaniu:

  • Analizowanie kosztów migracji dla obciążeń
  • Przejrzyj zalecenia dotyczące obniżania kosztów
  • Identyfikowanie opcji poprawy wydajności obciążenia

W witrynie Azure Portal możesz użyć usługi Microsoft Cost Management (wcześniej znanej jako Azure Cost Management and Billing) w celu przeanalizowania kosztów obciążeń. To narzędzie jest dostępne dla grupy zasobów platformy Azure zawierającej zmigrowane obciążenia. Narzędzie znajdziesz w sekcji Analiza kosztów Zarządzanie kosztami>. Poniższy zrzut ekranu przedstawia analizę kosztów dla ostatniego rozliczanego okresu dla ContosoResourceGroup grupy zasobów. Wyniki wyświetlają koszty zgodnie z nazwą usługi, regionem i zasobem. Wyniki wyświetlania można dostosować, aby spełniały Twoje potrzeby.

Screenshot that shows a cost analysis example with estimated costs in the Azure portal.

Aby zmniejszyć koszty, możesz użyć funkcji usługi Azure Advisor, wybierając rekomendacje usługi Advisor. Po przeanalizowaniu bieżących kosztów i zapoznaniu się z zaleceniami możesz określić opcje poprawy wydajności obciążenia.

Etap 4. Monitorowanie obciążeń

Usługa Azure Monitor umożliwia przechwytywanie informacji o kondycji i wydajności z maszyn wirtualnych platformy Azure. Zainstaluj agenta dzienników usługi Azure Monitor (wcześniej znanego jako Log Analytics) na docelowych maszynach wirtualnych, a następnie skonfiguruj alerty i raportowanie.

Uwaga

Agent dzienników usługi Azure Monitor można zainstalować na maszynach z systemem Windows lub Linux.

Alerty można skonfigurować na podstawie zakresu źródeł danych:

  • Określone wartości metryk, takie jak użycie procesora CPU
  • Określony tekst w plikach dziennika
  • Metryki kondycji
  • Metryki automatycznego skalowania