Udostępnij przez


Przygotowywanie obciążeń dla chmury

Przed migracją na platformę Azure obciążenia muszą być gotowe do użycia w chmurze. Gotowość do chmury zmniejsza ryzyko migracji jednorazowej i zapewnia zgodność z usługami platformy Azure. Weryfikowanie, zabezpieczanie i automatyzowanie obciążeń na platformie Azure przed rozpoczęciem migracji produkcyjnej. Skorzystaj z planu architektury platformy Azure i oceny obciążenia , aby przeprowadzić przygotowanie.

Rozwiązywanie problemów ze zgodnością na platformie Azure

Problemy ze zgodnością mogą blokować migrację obciążeń i należy je rozwiązać przed wdrożeniem produkcyjnym. Platforma Azure wymaga określonych konfiguracji, obsługiwanych systemów operacyjnych i bieżących sterowników. Systematyczne rozwiązywanie tych problemów w celu zapewnienia pomyślnej migracji.

Wdrażanie wszystkich zasobów obciążenia

Po planowaniu architektury chmury i przygotowaniu stref docelowych aplikacji następnym krokiem jest wdrożenie wszystkich składników obciążenia na platformie Azure. Ta faza gwarantuje, że środowiska są prawidłowo odizolowane, zarządzane i dostosowane do planu architektury. Po wdrożeniu zweryfikuj kompletność środowiska testowego, aby zapewnić gotowość do produkcji.

  1. Tworzenie subskrypcji platformy Azure dla środowisk obciążeń. Utwórz oddzielne subskrypcje dla środowisk programistycznych, testowych i produkcyjnych, aby zapewnić odpowiednią izolację, śledzenie kosztów i ład. Umieść subskrypcje w odpowiedniej grupie zarządzania i zastosuj zasady ładu specyficzne dla środowiska, przypisania kontroli dostępu opartej na rolach i budżety zarządzania kosztami. Aby uzyskać więcej informacji, zobacz Tworzenie subskrypcji.

  2. Użyj planu architektury. Wdrażanie architektury platformy Azure zdefiniowanej podczas planowania wdrażania chmury. Upewnij się, że odzwierciedla wszystkie zaktualizowane wymagania dotyczące obciążenia. Aby uzyskać wskazówki, zobacz Planowanie architektury platformy Azure.

  3. Wdróż wszystkie składniki obciążenia. W środowisku testowym (subskrypcji) wdróż wszystkie wymagane składniki: zasoby obliczeniowe (maszyny wirtualne, aplikacje webowe, kontenery), repozytoria danych (bazy danych, konta magazynowe), moduły równoważenia obciążenia, zarządzane tożsamości, sieci wirtualne oraz zasoby DNS.

  4. Zweryfikuj kompletność środowiska testowego. Upewnij się, że istnieją wszystkie zależności, konfiguracje i integracje. Brakujące składniki mogą prowadzić do fałszywie dodatnich lub niewykrytych problemów podczas testowania.

Rozwiązywanie problemów ze zgodnością

Przed przeniesieniem obciążeń do środowiska produkcyjnego zidentyfikuj i rozwiąż wszelkie problemy ze zgodnością, które mogą mieć wpływ na wydajność, bezpieczeństwo lub możliwość obsługi. Użyj danych oceny z fazy planowania, aby kierować działaniami korygacyjnymi i stosować poprawki w środowisku testowym przy użyciu rozwiązań natywnych dla platformy Azure.

  1. Zapoznaj się z udokumentowanymi wymaganiami dotyczącymi zgodności i znanymi problemami. Wykorzystaj ocenę obciążenia z etapu planowania CAF, aby zidentyfikować nieobsługiwane konfiguracje i zależności, które wymagają poprawy.

  2. Rozwiąż każdy problem ze zgodnością przy użyciu rozwiązań platformy Azure. Zastosuj korygowania w środowisku testowym platformy Azure zamiast modyfikować środowisko źródłowe. Typowe problemy ze zgodnością obejmują:

Problem ze zgodnością Solution Dlaczego ma to znaczenie
Nieobsługiwane wersje systemu operacyjnego Uaktualnianie do obsługiwanych systemów operacyjnych Platforma Azure wymaga obsługiwanych wersji systemu operacyjnego na potrzeby aktualizacji zabezpieczeń i zgodności platformy
Starsze sterowniki kart interfejsu sieciowego i system BIOS Aktualizowanie sterowników i oprogramowania układowego SYSTEMU BIOS Nowoczesne sterowniki zapewniają wydajność i bezpieczeństwo sieci na maszynach wirtualnych platformy Azure
Zależności wejścia/wyjścia dotyczące plików lokalnych Zastąp Azure Blob Storage lub Azure Files Magazyn natywny dla chmury zapewnia lepszą skalowalność i integrację
Zakodowane na stałe adresy IP Zastąp element mechanizmami odnajdywania usług, takimi jak konfiguracja systemu DNS lub aplikacji Dynamiczne adresowanie obsługuje sieć i odporność platformy Azure
Oprogramowanie antywirusowe oparte na hoście Integracja z usługą Microsoft Defender for Cloud Zabezpieczenia natywne dla chmury zapewniają lepsze wykrywanie zagrożeń i zarządzanie nimi
Zakodowane na stałe konta użytkowników Zastąp element tożsamościami zarządzanymi Tożsamości zarządzane eliminują zarządzanie poświadczeniami i zwiększają bezpieczeństwo

Weryfikowanie funkcjonalności obciążenia

Po rozwiązaniu problemów ze zgodnością upewnij się, że obciążenia działają poprawnie w środowisku platformy Azure. Kompleksowe testowanie jest niezbędne, aby potwierdzić, że wszystkie składniki, konfiguracje i integracje spełniają wymagania biznesowe i techniczne. Ten proces weryfikacji zmniejsza ryzyko i zapewnia bezproblemowe przejście do wdrożenia produkcyjnego.

Sprawdź łączność sieciową

Niezawodna łączność sieciowa zapewnia, że wszystkie składniki aplikacji i zależności zewnętrzne mogą komunikować się zgodnie z oczekiwaniami na platformie Azure. Błędnie skonfigurowana sieć może powodować błędy krytyczne w środowisku produkcyjnym.

  1. Przetestuj łączność między wszystkimi składnikami. Skorzystaj z rozwiązywania problemów z połączeniem usługi Azure Network Watcher , aby sprawdzić, czy warstwy aplikacji mogą komunikować się ze sobą i z usługami zewnętrznymi. Ta weryfikacja potwierdza, że sieciowe grupy zabezpieczeń, tabele routingu i konfiguracje DNS zezwalają na wymagany przepływ ruchu. To narzędzie zapewnia szczegółowy wgląd w problemy z łącznością i identyfikuje konkretne problemy z konfiguracją, które uniemożliwiają komunikację.

  2. Zweryfikuj łączność z usługą zewnętrzną. Przetestuj połączenia z zewnętrznymi interfejsami API, bazami danych i usługami zewnętrznymi, od których zależy obciążenie. Użyj usługi Network Watcher, aby sprawdzić, czy łączność wychodząca działa poprawnie i czy reguły zapory zezwalają na wymagany ruch. Dokumentowanie wszelkich wymagań dotyczących łączności dla wdrożenia produkcyjnego.

Weryfikowanie przepływów uwierzytelniania

Uwierzytelnianie ma kluczowe znaczenie dla zabezpieczeń i kontroli dostępu. Weryfikowanie tych przepływów zapewnia, że użytkownicy i usługi mogą uwierzytelniać się bez problemów w środowisku platformy Azure.

  1. Testowanie przepływów uwierzytelniania użytkowników. Użyj kont użytkowników testowych, aby sprawdzić, czy dostawcy tożsamości, tacy jak Microsoft Entra ID, są dostępne i czy uwierzytelnianie działa prawidłowo. Przetestuj różne scenariusze uwierzytelniania, w tym logowanie jednokrotne, uwierzytelnianie wieloskładnikowe i przepływy resetowania hasła, aby zapewnić pełną funkcjonalność.

  2. Weryfikowanie uwierzytelniania typu service-to-service. Przetestuj uwierzytelnianie między składnikami aplikacji przy użyciu jednostek usługi i tożsamości zarządzanych. Upewnij się, że uprawnienia kontroli dostępu opartej na rolach (RBAC) na platformie Azure są poprawnie skonfigurowane i że usługi mogą uwierzytelniać się w wymaganych zasobach, takich jak bazy danych i konta magazynu.

Przeprowadzanie testów funkcjonalnych i wydajnościowych

Testowanie funkcjonalne i wydajnościowe zapewnia, że obciążenie spełnia wymagania biznesowe i działa niezawodnie w oczekiwanych warunkach przed rozpoczęciem pracy.

  1. Wykonaj kompleksowe testowanie funkcjonalne. Przeprowadź testowanie akceptacyjne użytkowników (UAT), testowanie integracji i testowanie regresji, aby potwierdzić, że aplikacja spełnia wymagania biznesowe i techniczne. Przetestuj wszystkie krytyczne przepływy pracy użytkowników i procesy biznesowe, aby upewnić się, że działają prawidłowo w środowisku platformy Azure. Udomentuj wszelkie problemy funkcjonalne i rozwiąż je przed wdrożeniem produkcyjnym.

  2. Mierzenie wydajności w realistycznych warunkach obciążenia. Użyj usługi Azure Load Testing , aby symulować realistyczny ruch użytkowników i mierzyć czasy odpowiedzi, przepływność i wykorzystanie zasobów. Skonfiguruj testy obciążeniowe, aby odzwierciedlały oczekiwane wzorce użycia produkcyjnego i scenariusze szczytowego obciążenia. Testowanie obciążenia dostarcza szczegółowych metryk wydajności i identyfikuje wąskie gardła, które mogą mieć wpływ na doświadczenie użytkownika.

  3. Zweryfikuj wydajność względem punktu odniesienia. Odwołaj się do udokumentowanych metryk bazowych wydajności podczas oceny obciążenia planu CAF. Porównaj wyniki testów z ustalonymi punktami odniesienia wydajności ze środowiska źródłowego. Zidentyfikuj wszelkie spadki wydajności i zoptymalizuj konfiguracje, skaluj zasoby lub zmodyfikuj kod w celu spełnienia celów dotyczących wydajności.

  4. Uwzględnij uczestników projektu w testach akceptujących. Przeprowadź testy akceptacyjne u użytkowników biznesowych, aby potwierdzić, że obciążenie spełnia wymagania biznesowe i wymagania dotyczące środowiska użytkownika. Weryfikacja biznesowa zapewnia, że obciążenie zapewnia oczekiwaną wartość i funkcjonalność przed wdrożeniem produkcyjnym.

Tworzenie infrastruktury wielokrotnego użytku

Gdy tylko zmodernizowane rozwiązanie przejdzie wszystkie testy w środowisku nieprodukcyjnym, należy przechwycić konfigurację oraz ustawienia infrastruktury jako kod, aby móc je łatwo odtworzyć w środowiskach produkcyjnych i przyszłych. Infrastruktura wielokrotnego użytku oznacza użycie szablonów infrastruktury jako kodu (IaC) i automatyzacji w celu zapewnienia spójności i szybkości.

  1. Tworzenie szablonów IaC dla sprawdzonych konfiguracji. Przyjmij ostateczną architekturę swojego środowiska testowego (które odzwierciedla to, co chcesz mieć w środowisku produkcyjnym) i zakoduj je. Użyj szablonów Bicep, Terraform lub Azure Resource Manager , aby zdefiniować infrastrukturę. Sparametryzuj te szablony, aby można je było ponownie używać na różnych etapach, takich jak tworzenie, testowanie, prod z małymi poprawkami, takimi jak nazwy lub rozmiary. Ta konfiguracja gwarantuje, że tworzone środowisko produkcyjne jest zgodne z testowanym elementem. Pozwala uniknąć błędu ludzkiego podczas ręcznego klikania w witrynie Azure Portal w celu utworzenia zasobów. Oznacza to również, że jeśli kiedykolwiek trzeba ponownie utworzyć środowisko, na przykład w przypadku odzyskiwania po awarii lub wdrażania w nowych regionach, masz gotowe wdrożenie infrastruktury. Aby uzyskać więcej informacji, zobacz Zarządzanie caF — zarządzanie wdrożeniami opartymi na kodzie.

  2. Przechowywanie szablonów w kontroli wersji. Sprawdź kod infrastruktury w repozytorium Git (wraz z kodem aplikacji lub w osobnym repozytorium). Użyj usługi GitHub lub Azure DevOps , aby zarządzać zasobami IaC przy użyciu odpowiedniej kontroli wersji. Kontrola wersji umożliwia przeglądy kodu, obsługuje współpracę zespołową i zachęca do ponownego użycia szablonów w projektach. Takie podejście zapewnia pełną możliwość śledzenia zmian infrastruktury i obsługuje możliwości wycofywania w przypadku wystąpienia problemów.

  3. Automatyzowanie instalacji i konfiguracji zależności. Utwórz skrypty lub zadania potoku, aby wdrożyć te szablony, a także obsługiwać wszystkie wymagane zadania konfiguracji lub rozmieszczania. Użyj usługi Azure Pipelines, GitHub Actions, aby uruchamiać zadania wdrażania, które przyjmują szablon IaC i wdrażają je w docelowej subskrypcji/grupie zasobów. Automatyzacja instalowania zależności aplikacji, konfigurowania ustawień i zarządzania tajnymi danymi. Celem jest konfiguracja środowiska jednym kliknięciem (lub jednym poleceniem): od niczego do w pełni uruchomionego środowiska zgodnego z testowanym środowiskiem.

  4. Testuj IaC i automatyzację od końca do końca. Użyj oddzielnej subskrypcji platformy Azure lub grupy zasobów jako piaskownicy i przećwicz wdrażanie całego środowiska od podstaw przy użyciu szablonów i skryptów. Przetestuj, czy szablony IaC, potoki i skrypty mogą tworzyć kompletny stos infrastruktury z niczego. Przetestuj różne scenariusze wdrażania, w tym wstępne wdrożenie, aktualizacje konfiguracji i procedury wycofywania, aby potwierdzić, że automatyzacja działa prawidłowo.

Aby uzyskać więcej informacji, zobacz Planowanie zmian w dostarczaniu obciążenia i Infrastruktura jako kod w WAF.

Tworzenie dokumentacji wdrożenia

Nawet w przypadku automatyzacji posiadanie dobrej dokumentacji dotyczącej wdrożeń ma kluczowe znaczenie dla inspekcji, dołączania nowych członków zespołu i przyszłej konserwacji. Dokumentacja wdrażania powinna obejmować konfiguracje, procedury i kroki wycofywania w postaci czytelnej dla człowieka.

  1. Dokumentowanie ustawień konfiguracji i kroków. Rejestruj wszystkie ustawienia specyficzne dla środowiska, parametry połączenia, punkty końcowe usługi i konfiguracje zabezpieczeń w dokumentacji dostępnej. Dołącz instrukcje krok po kroku dotyczące wdrażania, wymagania wstępne i kroki weryfikacji po wdrożeniu. Ta dokumentacja umożliwia spójne wdrożenia i obsługuje rozwiązywanie problemów w przypadku wystąpienia problemów. Jeśli nowy inżynier musiałby przeprowadzić wdrożenie, mógłby przeczytać ten dokument i podążać za nim lub zrozumieć dane wyjściowe potoku.

  2. Aktualizacja procedur wycofywania i odzyskiwania. Po zakończeniu testów sformalizuj kroki, aby przywrócić zmiany w przypadku wystąpienia problemów z wdrożeniem. Uwzględnij wyzwalacze wycofywania, procedury tworzenia kopii zapasowej i przywracania danych oraz kroki weryfikacji odzyskiwania. Regularnie testuj procedury wycofywania i odzyskiwania, aby upewnić się, że działają prawidłowo w razie potrzeby. To przygotowanie zmniejsza przestój.

  3. Zbierz całą tę dokumentację w centralnej lokalizacji. Użyj programu SharePoint, usługi GitHub lub witryny typu wiki, aby przechowywać te informacje. Upewnij się, że zespół i personel pomocy technicznej wiedzą, gdzie go znaleźć. Podczas stresującego incydentu, posiadanie przejrzystej dokumentacji pod ręką może uratować sytuację.

Następny krok