Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wykonanie to etap, w którym plany zmieniają się w rzeczywistość. Ten krok obejmuje przygotowanie wszystkich do zmiany, wykonywanie prac programistycznych w środowiskach nieprodukcyjnych. Testujesz dokładnie i wdrażasz w środowisku produkcyjnym w kontrolowany sposób. Nacisk jest na rygorystyczne testowanie i bezpieczne praktyki wdrażania w celu zminimalizowania zakłóceń w działalności biznesowej, biorąc pod uwagę, że zmiany mogą być znaczące.
Przygotowywanie uczestników projektu do modernizacji
Przed naciśnięciem przycisku wdrażania kluczowe znaczenie ma przygotowanie wszystkich uczestników projektu i użytkowników do nadchodzących działań. Niespodzianki mogą prowadzić do nieporozumień, a nawet problemów operacyjnych. Kluczowe kroki przygotowywania obejmują komunikację, blokowanie zmian (wymienione wcześniej) i plany pomocy technicznej:
Ogłaszaj harmonogram wdrażania wszystkim uczestnikom projektu. Z dużym wyprzedzeniem przekaż wszystkim stronom, których dotyczy problem, gdy wdrożenie modernizacji powinno się zdarzyć i czego się spodziewać. Uwzględnij kluczowe daty, takie jak początek zamrożenia zmian oraz okno uruchomienia, aby pomóc interesariuszom w odpowiednim przygotowaniu. Określając oczekiwania, użytkownicy mogą planować przestoje, a zespoły wewnętrzne mogą być gotowe.
Wprowadź zamrożenie zmian na obciążeniach źródłowych i zależnych. Zgodnie z wcześniej zaplanowanym w zarządzaniu nadszedł czas, aby rzeczywiście wymusić zamrożenie. Upewnij się, że nie ma żadnych zmian w kodzie, poprawek konfiguracji ani innych wdrożeń na obciążeniu (i obciążeniach zależnych) przez pewien okres przed wdrożeniem i podczas wdrażania. Dzięki temu środowisko jest stabilne. Upewnij się, że wszyscy członkowie zespołu i wszystkie zintegrowane podmioty trzecie są świadome. Jasno zdefiniuj okno zamrożenia z określonymi godzinami rozpoczęcia i zakończenia, aby uniknąć nieporozumień.
Przekazywanie akcji użytkownika końcowego i zmian po wdrożeniu. Użytkownicy potrzebują wcześniejszego powiadomienia o wymaganych akcjach przed wdrożeniem i po nim, aby zapobiec przerwom w działaniu przepływu pracy. Upomnij użytkowników, aby wylogowali się lub zapisali pracę przed rozpoczęciem zmiany systemu. Udostępnij nowe adresy URL dostępu, zmiany uwierzytelniania, takie jak wymagania logowania identyfikatora Entra firmy Microsoft, oraz zaktualizowane przepływy pracy wpływające na codzienne operacje. Udostępnij dokumentację pomocy technicznej i przewodniki szybkiego startu, aby zredukować nieporozumienia w pierwszym dniu.
Koordynuj personel pomocy technicznej na potrzeby wdrożenia. Zespoły ds. operacji i programowania IT muszą być dostępne do monitorowania problemów i reagowania na nie podczas krytycznych faz wdrażania. Zaplanuj rozszerzone godziny pomocy technicznej i innych pracowników pierwszego dnia roboczego po wdrożeniu, gdy problemy najprawdopodobniej będą się pojawić. Poinformuj jednostki biznesowe o planie pomocy technicznej po wdrożeniu i procedurach eskalacji, aby zapewnić szybkie rozwiązanie problemu.
Zdefiniuj procedury rezerwowe dla obciążeń krytycznych. Obciążenia o krytycznym znaczeniu wymagają metod obejścia realizowanych ręcznie oraz planów awaryjnych w celu utrzymania działań biznesowych podczas okien wdrożeniowych. Udokumentuj określone procedury, takie jak ręczne przetwarzanie zamówień w okresach obciążenia tylko do odczytu. Udostępnij te procedury z wyprzedzeniem i potwierdź gotowość z dotkniętymi zespołami, aby zapewnić sprawne wykonanie w razie potrzeby.
Opracowywanie modernizacji w środowisku nieprodukcyjnym
Wszystkie zmiany dotyczące programowania i integracji modernizacji powinny odbywać się poza środowiskiem produkcyjnym (w środowiskach deweloperskich, testowych i przejściowych). Zasada przewodnia: najpierw kompilowanie i testowanie w środowiskach podobnych do prod, dzięki czemu podczas wdrażania w środowisku prod jest to już znana ilość.
Postępuj zgodnie z zasadami Well-Architected Framework podczas implementacji. Podczas tworzenia kodu i konfigurowania nowych zmian nieustannie stosuj najlepsze rozwiązania z Well-Architected Framework (WAF) platformy Azure. Użyj zaleceń usługi Azure Advisor i procesów przeglądu architektury, aby zweryfikować decyzje projektowe. Takie podejście zapewnia, że zmodernizowane składniki spełniają najlepsze rozwiązania i standardy operacyjne platformy Azure.
Utwórz środowiska nieprodukcyjne, które odzwierciedlają produkcję. Uruchom środowiska deweloperskie/testowe na platformie Azure, które są jak najbardziej zbliżone do konfiguracji produkcyjnej. Jeśli w środowisku produkcyjnym są używane niektóre usługi platformy Azure, użyj ich samych podczas testów, w mniejszej skali lub na niższym poziomie wydajności (SKU), aby zoptymalizować koszty. Im bardziej Twoje środowisko testowe przypomina środowisko produkcyjne, tym większa pewność, że wyniki testów znajdą odzwierciedlenie w zachowaniu produkcyjnym.
Zaimplementuj zmiany przyrostowo za pomocą zarządzania wersjami oraz CI/CD. Traktuj nakład pracy nad modernizacją jak każdy inny projekt oprogramowania. Użyj narzędzia Git lub innego formantu źródła dla wszystkich zmian kodu i infrastruktury jako skryptów kodu. Zapewnia historię i możliwość wycofywania kodu w razie potrzeby. Podziel pracę na małe fragmenty (być może na funkcję lub poprawkę) i użyj gałęzi funkcji. Scalaj zmiany w kodzie często po przeglądzie. Skonfiguruj kompilacje ciągłej integracji, aby uruchamiać zestawy testów przy każdym zatwierdzeniu, aby wcześnie wykrywać problemy.
Weryfikowanie zmian modernizacji przy użyciu testowania
Testowanie ma krytyczne znaczenie. Ponieważ modernizacja nie dodaje nowych funkcji, koncentruje się na testowaniu regresji (nic się nie zepsuło) i testowaniu wydajności/zabezpieczeń (działa lepiej niż wcześniej, a nie gorzej). Chcesz sprawdzić każdy aspekt obciążenia w środowisku testowym przed dotknięciem środowiska produkcyjnego.
Wykonaj testy jednostkowe i integracyjne dla wszystkich zmodyfikowanych składników. Deweloperzy powinni tworzyć lub aktualizować testy jednostkowe dla dowolnego kodu, który został refaktoryzowany. Nawet jeśli to kod przestarzały, pisanie testów jednostkowych dla funkcji krytycznych może pomóc wykryć, czy refaktoryzacja nieumyślnie zmieniła zachowanie. Uruchamiaj testy jednostkowe w potoku ciągłej integracji na bieżąco. Ponadto uruchom testy integracji, aby upewnić się, że składniki komunikują się ze sobą poprawnie. Po naprawieniu usterki ponownie uruchom odpowiednie testy, aby upewnić się, że usterka została rzeczywiście usunięta i nic innego nie zostało złamane (unikaj regresji).
Przeprowadzanie kompleksowego testowania funkcjonalnego. W środowisku przejściowym lub testowym wykonaj pełne testy przepływu pracy, tak jakby jesteś użytkownikiem końcowym. Te testy mogą być testami ręcznymi według kontroli jakości lub zautomatyzowanych testów interfejsu użytkownika. Zaloguj się do aplikacji, wykonaj główne zadania. Upewnij się, że niezmienione funkcje pozostają niezmienione. Zasadniczo należy zasymulować rzeczywiste użycie, aby wykryć wszystko, co mogą przeoczyć testy jednostkowe.
Przeprowadź testy akceptacyjne (UAT) użytkowników z uczestnikami projektu. Warto zaangażować niektórych rzeczywistych użytkowników końcowych lub uczestników projektu biznesowego w testowanie zmodernizowanego obciążenia przed rozpoczęciem pracy. Mogą oni złapać niuanse, które deweloperzy pomijają. Przechwyć opinie na temat użyteczności, wydajności i luk w funkcjonalności. Rozwiąż krytyczne problemy z testowaniem akceptacji użytkowników przed wdrożeniem i uzyskaj formalne zatwierdzenie od uczestników projektu, aby potwierdzić gotowość biznesową.
Zweryfikuj wydajność przy użyciu testowania obciążenia w realistycznych warunkach. Modernizacja powinna w idealnym przypadku poprawić lub utrzymać wydajność. Użyj narzędzi do testowania obciążenia (takich jak testowanie obciążenia platformy Azure), aby symulować realistyczne wzorce użycia. Porównaj wyniki z punktami odniesienia wydajności ze środowiska źródłowego, aby zidentyfikować wszelkie degradacje. Przeprowadź testy obciążeniowe na 150% oczekiwanego obciążenia, aby określić limity obciążenia i zweryfikować odporność pod presją.
Wykonaj sprawdzanie poprawności zabezpieczeń i zgodności. Uruchom skanowanie luk w zabezpieczeniach na nowych obrazach kodu i kontenerów, aby wykryć zagrożenia bezpieczeństwa. Przeprowadź walidację zgodności dla obciążeń regulowanych przy użyciu narzędzi specyficznych dla branży. Użyj usługi Microsoft Defender for Cloud, aby wyszukać błędy konfiguracji infrastruktury i zweryfikować, czy mechanizmy kontroli zabezpieczeń spełniają wymagania.
Rozwiąż wszystkie krytyczne problemy przed wdrożeniem produkcyjnym. Rozwiąż problemy funkcjonalne, wydajności i zabezpieczeń zidentyfikowane podczas fazy testowania. Upewnij się, że wszystkie testy kończą się powodzeniem i wydajność spełnia umowy dotyczące poziomu usług (SLA - umowy poziomu usług). Udokumentuj pozostałe problemy z niskim priorytetem i utwórz plany korygowania dotyczące rozwiązywania problemów po wdrożeniu.
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.
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.
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.
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.
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.
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.
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.
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ę.
Wdrażanie modernizacji
Wdrożenie produkcyjne jest punktem kulminacyjnym nakładu pracy nad modernizacją. W zależności od wybranej strategii (w miejscu a równolegle) kroki różnią się. Przed wykonaniem należy dokładnie sprawdzić, czy wszystkie kroki przygotowania są wykonane: interesariusze poinformowani, zamrożenie w toku, wykonane kopie zapasowe, monitorowanie w trybie oczekiwania.
Wdrażanie modernizacji w miejscu
Zaplanuj okno obsługi. Jeśli zmiany wymagają przestoju lub uruchamiania skryptów, które blokują zasoby, takie jak migracja schematu bazy danych, wykonaj je w oknie obsługi z wyprzedzeniem. Upewnij się, że wszyscy użytkownicy są w tym czasie poza obciążeniem. Jeśli masz jasne okno czasowe, możesz określić termin na zakończenie wdrażania lub zdecydować o wycofaniu, jeśli zabraknie czasu.
Użyj pipeline CI/CD do wdrożenia. Wdrożenie produkcyjne powinno używać tego samego zautomatyzowanego potoku, który był używany do testowania, ale skierowanego na środowisko produkcyjne. Ta konfiguracja zapewnia spójność, dlatego infrastruktura i kod są wdrażane w taki sam sposób. Przed uruchomieniem należy wykonać końcowe kopie zapasowe wszystkich krytycznych danych (baz danych). Nawet jeśli można przywrócić system do wcześniejszego stanu, posiadanie kopii zapasowej stanowi dodatkową sieć bezpieczeństwa na wypadek, gdyby coś poszło nie tak. Uruchom potok przetwarzania, aby wdrożyć nowy kod i zmiany infrastrukturalne. Dzienniki i monitorowanie są widoczne w czasie rzeczywistym. Jeśli jakikolwiek krok zakończy się niepowodzeniem, wstrzymaj i oceń, czy możesz kontynuować naprawę, czy trzeba wycofać.
W miarę możliwości zaimplementuj progresywny routing ruchu (kanary). Wiele usług platformy Azure umożliwia przełączanie slotów lub stopniową zmianę ruchu sieciowego, nawet w przypadku operacji bez zmiany lokalizacji. Platforma Azure obsługuje kanaryjne wdrożenia za pośrednictwem miejsc wdrożeniowych usługi Azure App Service, dzielenia ruchu usługi Azure Container Apps i usługi Azure Kubernetes Service za pomocą usługi Azure Pipelines. Jeśli masz wiele maszyn wirtualnych za modułem równoważenia obciążenia, zaktualizuj jedno wystąpienie naraz (uaktualnienie stopniowe), aby inne maszyny przewoziły ruch, a następnie nastąpiła rotacja.
Stopniowo zwiększaj ruch przy jednoczesnym monitorowaniu. Po uruchomieniu nowej wersji należy ją uważnie monitorować. Sprawdź dzienniki aplikacji, metryki wydajności, współczynniki błędów. Zacznij od niewielkiej części użytkowników (lub zacznij od obciążenia w trybie weryfikacji, jeśli to możliwe). Jeśli wszystko wygląda dobrze po kilku minutach, zwiększ ruch do 25%. Sprawdź metryki ponownie (brak skoku liczby błędów 500, normalny czas odpowiedzi). Zwiększ do 50%, a następnie do 100% w dowolnym czasie, który zaplanowałeś. Może to być ponad godzinę lub więcej, jeśli chcesz być ostrożny. Jeśli w dowolnym kroku zaobserwowano poważny problem, zainicjuj wycofanie, zanim wpłynie to na wszystkich użytkowników.
Zachowaj spójność danych podczas wdrażania. Wdrożenia w miejscu zachowują istniejące punkty końcowe danych podczas potencjalnie modyfikowania schematów danych. Wprowadzanie zmian w schemacie bazy danych w sposób zapewniający zgodność wsteczną, aby obsługiwać zarówno stare, jak i nowe wersje aplikacji w wydaniach kanarkowych. Użyj skryptów migracji bazy danych, które dodają nowe kolumny lub tabele bez usuwania istniejących struktur do momentu pomyślnego zakończenia wdrażania.
Wdrażanie modernizacji w środowisku równoległym
Utwórz równoległe środowisko produkcyjne. Korzystając z szablonów IaC, utwórz nowe środowisko produkcyjne na platformie Azure, które odzwierciedla przetestowane elementy. To środowisko obejmuje wszystkie obliczenia, sieć, magazyn. Powinna być uruchomiona, ale obecnie bez ruchu użytkowników. Upewnij się, że wszystkie elementy, takie jak sieciowe grupy zabezpieczeń, zapory, tożsamość (tożsamości zarządzane lub jednostki usługi) i monitorowanie są skonfigurowane zgodnie z potrzebami (w zasadzie powtórz konfigurację testową w subskrypcji prod).
Ustanów replikację bazy danych. Skonfiguruj natywną funkcję replikacji platformy bazy danych, aby ustanowić ciągłą replikację danych między obciążeniem źródłowym a docelowym obciążeniem platformy Azure. Sprawdź, czy synchronizacja początkowa danych została pomyślnie ukończona i czy replikacja jest w dobrej kondycji. Możesz wykonać początkową zbiorczą kopię bazy danych z kopii zapasowej lub migawki, a następnie włączyć replikację dla nowych transakcji. Monitoruj opóźnienie replikacji przy użyciu narzędzi do monitorowania platformy bazy danych. Większe opóźnienie zwiększa ryzyko i czas trwania przełączenia. Nie należy przechodzić do następnego kroku, dopóki opóźnienie replikacji nie będzie zerowe.
Kopiowanie danych i plików bez struktury. Skopiuj dane niestrukturalne i pliki do platformy Azure przed ostatecznym przełączeniem. Użyj narzędzi do migracji obiektów i plików z funkcjami, aby przenieść pliki do odpowiednich usług magazynu platformy Azure. To przygotowanie zmniejsza objętość danych, które należy skopiować podczas ostatecznego przełączenia.
Ukończ ostateczną synchronizację danych. W momencie przełączenia chcesz zerowej lub minimalnej utraty danych. W przypadku baz danych sprawdź, czy nie ma oczekujących transakcji w obciążeniach źródłowych, a replikacja bazy danych jest aktualna. W niektórych przypadkach może być konieczne krótkie wstrzymanie operacji zapisu w źródłowej bazie danych w celu opróżnienia ostatecznych zmian (szczególnie w przypadku takich rzeczy jak spójność transakcyjna). Możesz użyć technik, takich jak wysyłanie dziennika transakcji lub krótki przestój, aby wykonać ostatnie przyrostowe przywracanie kopii zapasowej. Skopiuj wszystkie zmodyfikowane dane bez struktury przy użyciu narzędzia AzCopy lub podobnego narzędzia.
Stopniowo ograniczaj ruch użytkowników do nowego środowiska. Zaktualizuj rekordy DNS i konfiguracje modułu równoważenia obciążenia, aby kierować ruch użytkowników do środowiska platformy Azure. Monitorowanie zdrowia i wydajności obciążenia. Zacznij od skierowania 1% ruchu w czasie rzeczywistym do zmodernizowanego obciążenia przy użyciu routingu ważonego z Azure Load Balancer. Monitoruj metryki czasu rzeczywistego, w tym czasy odpowiedzi, współczynniki błędów i kondycję połączenia z bazą danych. Zwiększ ruch w szybkich przyrostach (5%, 15%, 50%) w ciągu kilku minut, a nie godzin, z automatycznymi wyzwalaczami wycofywania, jeśli progi zostaną przekroczone.
Wykonaj końcowe przełączenie na 100%. Gdy jesteś pewien, przekieruj wszystkich użytkowników do nowego środowiska. Ten przełącznik może oznaczać przełączenie DNS, które może zająć od kilku sekund do kilku minut, jeśli wartość czasu życia (TTL) była niska, lub zmianę konfiguracji modułu równoważenia obciążenia. Obecnie użytkownicy pracują na zmodernizowanym środowisku.
Natychmiast zweryfikuj i monitoruj po przełączeniu systemu. Przeprowadź testy weryfikacji po przełączeniu. Wykonaj kompleksowe testy funkcjonalne wszystkich krytycznych procesów biznesowych przy użyciu zautomatyzowanych zestawów testów. Zweryfikuj dokładność danych przy użyciu weryfikacji sum kontrolnych i funkcji haszujących między zestawami roboczymi źródłowymi i docelowymi. Właściciele zadań muszą potwierdzić, że wszystkie główne funkcje systemu działają poprawnie. Monitoruj wydajność obciążeń, współczynniki błędów i wzorce dostępu użytkowników dla pierwszych 24–48 godzin po przejściu jednorazowym, aby zidentyfikować wszelkie problemy z obniżeniem wydajności lub funkcjonalnością.
Zachowaj stare środowisko uruchomione (rezerwa gorąca) przez jakiś czas. Nie zrywaj jeszcze niczego. Warto zachować stare obciążenie jako rezerwę gorącą przez co najmniej 24–72 godziny, z ciągłą synchronizacją danych, jeśli jest to możliwe (lub gotowe do szybkiej synchronizacji). Jeśli w środowisku produkcyjnym pojawi się nieoczekiwany poważny problem, nadal możesz zdecydować się wycofać, kierując ruch z powrotem. Powinieneś utracić minimalną ilość danych, ponieważ możesz je odzyskać z dzienników lub innych źródeł.
Weryfikowanie powodzenia modernizacji
Teraz, gdy nowe obciążenie jest aktywne, musisz zweryfikować w środowisku produkcyjnym, że wszystko działa zgodnie z oczekiwaniami i spełnia kryteria akceptacji.
Potwierdź pomyślny dostęp użytkownika i wydajność obciążenia. Weryfikacja dostępu użytkowników gwarantuje, że modernizacja jest przejrzysta i że wydajność spełnia oczekiwania. To potwierdzenie potwierdza, że użytkownicy mogą uzyskać dostęp do zadania bez zakłóceń. Monitoruj wzorce dostępu użytkowników, metryki wydajności obciążeń i współczynniki błędów w początkowym okresie po migracji.
Ogłaszaj powodzenie migracji dopiero po dokładnej weryfikacji. Pełna walidacja gwarantuje, że wszyscy uczestnicy projektu potwierdzają, że obciążenie jest stabilne i funkcjonalne. To potwierdzenie uniemożliwia przedwczesne deklaracje sukcesu, które mogą prowadzić do problemów później. Uzyskaj potwierdzenie od właścicieli obciążeń, testerów i osób biorących udział w projekcie biznesowym, że obciążenie spełnia wszystkie wymagania i działa prawidłowo.
Wsparcie obciążenia podczas stabilizacji
Nawet po pomyślnym uruchomieniu zaplanuj okres stabilizacji, w którym należy zwrócić szczególną uwagę na obciążenie. Niedawno zmodernizowane obciążenia mogą mieć nieznane problemy, które pojawiają się tylko w rzeczywistych warunkach użytkowania po pewnym czasie.
Zabezpiecz szersze wsparcie w okresie stabilizacji. W ciągu pierwszych kilku dni lub tygodni (w zależności od złożoności) po przejściu na żywo mają podwyższony protokół obsługi. Przypisz doświadczonych pracowników IT lub partnerów migracji, aby ściśle monitorować obciążenie i zapewnić krótsze umowy SLA niż normalne operacje.
Zaktualizuj dokumentację operacyjną i narzędzia. Upewnij się, że wszystkie runbooki, dokumentacja wsparcia i konfiguracje monitorowania są zaktualizowane tak, aby odzwierciedlały nową rzeczywistość. Przeszkolij zespół operacyjny w nowych procedurach, takich jak nowe procesy tworzenia kopii zapasowych, nowe procedury ponownego uruchamiania mikrousług. Przekaż zmodernizowane obciążenie zespołom ds. operacji/pomocy technicznej z pełnym transferem wiedzy. Upewnij się, że spis zasobów/cmDB rejestruje nowe serwery, adresy IP, usługi i usuwa lub oznacza starsze.