Modernizacja
Modernizacja chmury to praktyka ulepszania istniejących obciążeń opartych na chmurze w celu lepszego zaspokojenia potrzeb biznesowych. Dostosowuje obciążenia do najlepszych rozwiązań w chmurze bez dodawania nowych funkcji.
Przygotowywanie organizacji do modernizacji chmury
Zdefiniuj modernizację organizacji. Ustanów wspólną definicję, która koncentruje się na ulepszaniu istniejących obciążeń poprzez przenoszenie, refaktoryzację i zmienianie architektury w chmurze, z wyłączeniem całkowicie nowych funkcji lub kompletnych przepisania. Przekaż tę definicję wszystkim zespołom i uczestnikom projektu, aby zapobiec niezgodności. Twórz wspólną odpowiedzialność między zespołami deweloperów, operacji, zabezpieczeń i architektury z jasnymi rolami i koordynacją między zespołami.
Ocena gotowości i umiejętności związanych z modernizacją. Oceń możliwości zespołu w zakresie wiedzy z zakresu usług chmurowych, dojrzałości DevOps/CI/CD, nowoczesnych wzorców architektury i narzędzi monitorowania i automatyzacji. Zidentyfikuj luki w zakresie umiejętności i utwórz plany, aby rozwiązać je poprzez szkolenia, certyfikaty, nowych pracowników lub zewnętrzną wiedzę od firmy Microsoft lub partnerów, aby zapewnić bezproblemowe wykonanie modernizacji.
Określanie priorytetów obciążeń do modernizacji. Oceń wartość biznesową, oceniając obciążenia na podstawie ich znaczenia dla przychodów, środowiska klienta, zgodności i zależności wewnętrznych. Oceń ryzyko techniczne, sprawdzając dług techniczny, nieaktualną technologię, nakład pracy konserwacyjnej, problemy z wydajnością i ograniczenia skalowalności. Połącz te oceny w macierz priorytetową, aby określić, które obciążenia należy najpierw zmodernizować.
Dowiedz się, jak zmodernizować. Skorzystaj z platformy Azure Well-Architected Framework, aby przeprowadzić przeglądy, które identyfikują luki i generują plany modernizacji w pięciu filarach: niezawodność, zabezpieczenia, optymalizacja kosztów, doskonałość operacyjna i wydajność. Umożliwienie zespołom odpowiedzialnym za obciążenia podejmowania decyzji dotyczących modernizacji poprzez zapewnienie kontekstu biznesowego i kompetencji decyzyjnej w ramach zdefiniowanych granic, przy jednoczesnym zachowaniu regularnych spotkań kontrolnych w celu dostosowania organizacji.
Planowanie modernizacji chmury
Wybierz strategię modernizacji. Wybierz spośród trzech głównych podejść zgodnych z Twoimi konkretnymi potrzebami: przeplatformowanie w celu uzyskania szybkich korzyści przy minimalnych zmianach kodu (IaaS do PaaS), refaktoryzacja pozwalająca na zmodyfikowanie istniejącego kodu w celu ulepszenia struktury i optymalizacji chmurowej przy zachowaniu funkcjonalności, lub przeprojektowanie aplikacji poprzez zmianę jej architektury przy zastosowaniu wzorców natywnych dla chmury, takich jak mikrousługi i bezserwerowe rozwiązania. Dopasuj strategię do wymagań każdego składnika, biorąc pod uwagę cele, oś czasu i zasoby. Unikaj nadmiernej modernizacji, uziemiając każdą decyzję w zakresie wartości biznesowej.
Planowanie modernizacji w fazach. Podziel złożone obciążenia na fazy logiczne, aby dostarczać wartość przyrostową i zmniejszyć ryzyko dzięki rozwiązaniu problemów z elementami, którymi można zarządzać. Podziel pracę według składników/warstw, priorytetu/złożoności lub funkcji biznesowej, począwszy od zmian o niskim ryzyku i wysokiej wartości w przypadku wczesnych zwycięstw. Sekwencja pozostałych faz według wartości i zależności. Zdefiniuj jasne kryteria sukcesu dla każdej fazy, w tym cele techniczne i bramy jakości, oraz dostosuj plany na podstawie wyników i lekcji uzyskanych z ukończonych faz.
Planowanie zarządzania modernizacją. Ustanów formalne procesy zatwierdzania zmian zintegrowane z istniejącymi komitetami doradczymi ds. zmian lub utwórz dedykowane komitety przeglądu modernizacji. Przeprowadź zamrożenie zmian przed i podczas głównych wdrożeń, aby ustabilizować środowiska. Kontroluj zjawisko narastania zakresu, wymagając oceny i zatwierdzenia wszelkich proponowanych zmian, przy jednoczesnym prowadzeniu listy zadań odłożonych na później na niezbędne do rozważenia pomysły.
Zdefiniuj strategię wdrażania. Możesz wybrać wdrożenie w miejscu dla zmian o niskim ryzyku, odwracalnych, które można implementować podczas okien serwisowych, lub wdrożenie równoległe dla złożonych zmian wysokiego ryzyka wymagających minimalnych przestojów poprzez uruchomienie nowych środowisk równolegle z istniejącymi obciążeniami. Używaj technik progresywnego wdrażania, takich jak wydania kanaryjne, gdy tylko to możliwe, zaczynając od niewielkiej liczby użytkowników i stopniowo ją zwiększając na podstawie wyników monitorowania.
Zaplanuj ograniczenie ryzyka modernizacji. Utwórz szczegółowe procedury wycofywania dla każdej istotnej zmiany, korzystając z instrukcji krok po kroku, odpowiedzialnych stron i ram czasowych. Automatyzuj wycofywanie tam, gdzie to możliwe, przy użyciu narzędzi infrastructure-as-code i wdrożeń blue-green. Upewnij się, że zespoły pomocy technicznej są w stanie wstrzymania podczas i po wdrożeniach z rozszerzonymi okresami hiperopieki na potrzeby monitorowania.
Uzyskanie zgody interesariuszy. Dostosuj propozycje wartości do różnych odbiorców (wydajność operacyjna dla zespołów technicznych, wyników biznesowych dla liderów) i dokumentuj plany ustrukturyzowane z wyraźnymi kamieniami milowymi i osiami czasu. Kwantyfikuj wartość modernizacji z określonymi metrykami, takimi jak 20–40% redukcji kosztów i 50–80% wzrost produktywności. Zarządzaj ryzykiem projektowym w sposób przejrzysty, stosując strategie łagodzenia, i utrzymuj regularną komunikację, aby raportować postępy i zbierać opinie.
Wykonywanie modernizacji w chmurze
Przygotuj uczestników projektu do modernizacji. Ogłaszaj harmonogramy wdrażania z dużym wyprzedzeniem dla wszystkich stron, których dotyczy wdrażanie, w tym kluczowe daty, takie jak rozpoczęcie blokady zmian i okna wdrożenia. Zastosuj wstrzymania zmian na obciążeniach źródłowych i zależnych z jasno zdefiniowanymi czasami rozpoczęcia i zakończenia. Przekazywanie akcji użytkownika końcowego i zmian po wdrożeniu, w tym nowych adresów URL dostępu i wymagań dotyczących uwierzytelniania. Koordynuj zespół wsparcia w celu wdrożenia wraz z wydłużonymi godzinami pracy i procedurami eskalacji. Ustal procedury rezerwowe dla obciążeń krytycznych z wykorzystaniem ręcznych obejść i planów awaryjnych.
Opracowywanie modernizacji w środowisku nieprodukcyjnym. Postępuj zgodnie z zasadami Well-Architected Framework podczas implementacji przy użyciu zaleceń usługi Azure Advisor i procesów przeglądu architektury, aby zweryfikować decyzje projektowe. Utwórz środowiska nieprodukcyjne, które dubluje produkcję przy użyciu tych samych usług platformy Azure na mniejszej skali lub niższej warstwy wydajności. Zaimplementuj zmiany przyrostowo za pomocą systemu kontroli wersji i CI/CD przy użyciu Git dla wszystkich zmian kodu oraz infrastruktury jako kodu z kompilacjami ciągłej integracji.
Zweryfikuj zmiany modernizacji przy użyciu testów. Wykonaj testy jednostkowe i integracyjne na wszystkich zmodyfikowanych składnikach przy użyciu potoków CI i testowania regresji, aby uniknąć zakłócania istniejącej funkcjonalności. Przeprowadzanie kompleksowego testowania funkcjonalnego za pomocą ręcznej kontroli jakości lub zautomatyzowanych testów interfejsu użytkownika symulujących rzeczywiste przepływy pracy użytkownika. Przeprowadź testy akceptacyjne użytkowników z uczestnikami projektu, aby przechwycić opinie na temat użyteczności i funkcjonalności. Zweryfikuj wydajność przy użyciu narzędzi do testowania obciążenia, takich jak testowanie obciążenia platformy Azure, przy 150% oczekiwanym obciążeniu. Wykonaj sprawdzanie poprawności zabezpieczeń i zgodności przy użyciu skanów luk w zabezpieczeniach i usługi Microsoft Defender for Cloud. Rozwiąż wszystkie krytyczne problemy przed wdrożeniem produkcyjnym.
Tworzenie infrastruktury wielokrotnego użytku. Tworzenie infrastruktury jako szablonów kodu, które mogą być używane do przyszłych wdrożeń i środowisk, zapewniając spójność i zmniejszenie błędów konfiguracji ręcznej w różnych scenariuszach wdrażania.
Tworzenie dokumentacji wdrażania. Udokumentowanie wszystkich procedur wdrażania, kroków wycofywania i procesów weryfikacji w celu zapewnienia spójnego wykonywania i umożliwienia członkom zespołu bezpiecznego i niezawodnego wykonywania wdrożeń.
Wdrażanie modernizacji. W przypadku wdrożeń lokalnych zaplanuj okna konserwacyjne, użyj potoków ciągłej integracji/ciągłego wdrażania i zaimplementuj progresywny routing ruchu za pośrednictwem wdrożeń kanarowych przy użyciu slotów usługi Azure App Service lub podziału ruchu w Container Apps. Stopniowo zwiększaj ruch do pełnego ruchu, monitorując metryki i zachowując spójność danych podczas wdrażania. W przypadku wdrożeń równoległych należy utworzyć równoległe środowisko produkcyjne przy użyciu szablonów IaC, ustanowić replikację bazy danych z ciągłą synchronizacją danych, skopiować dane bez struktury i pliki przy użyciu narzędzi do migracji platformy Azure, ukończyć ostateczną synchronizację danych z zerową utratą danych, stopniowo zmniejszać ruch użytkowników przy użyciu routingu ważonego rozpoczynającego się od 1% i zwiększając przyrostowo. Wykonaj ostateczne przełączenie na 100% poprzez przełączenie DNS lub konfigurację modułu równoważenia obciążenia. Niezwłocznie zweryfikuj funkcjonalność po migracji i zachowaj stare środowisko jako rezerwowe środowisko gorące przez 24–72 godziny.
Zweryfikuj powodzenie modernizacji. Potwierdź pomyślny dostęp użytkowników i wydajność obciążenia, monitorując wzorce dostępu, metryki wydajności i współczynniki błędów w początkowym okresie po migracji. Ogłaszaj powodzenie migracji dopiero po dokładnej weryfikacji i potwierdzeniu od właścicieli obciążeń, testerów i interesariuszy biznesowych, że wszystkie wymagania zostały spełnione.
Obsługa obciążenia podczas stabilizacji. Ustanów zwiększony zakres pomocy technicznej w okresie stabilizacji z doświadczonymi pracownikami IT zapewniającymi krótsze umowy SLA niż normalne operacje w ciągu pierwszych kilku dni lub tygodni. Aktualizacja dokumentacji operacyjnej i narzędzi, w tym runbooków, dokumentacji wsparcia i konfiguracji monitorowania. Szkol zespoły ds. operacyjnych w zakresie nowych procedur i zapewnij, że spis zasobów odzwierciedla nową infrastrukturę i usuwa przestarzałe składniki.
Optymalizowanie obciążeń po modernizacji chmury
Optymalizowanie konfiguracji dla chmury. Zastosuj zalecenia usługi Azure Advisor systematycznie, przeglądając tygodniowo, najpierw wdrażając zmiany krytyczne, filtrowanie według obciążenia lub grupy zasobów. Dostosowywanie ustawień specyficznych dla usługi przy użyciu przewodników usługi Azure Well-Architected Framework w celu dostosowania konfiguracji do najlepszych rozwiązań. Rozwiąż luki w konfiguracji zabezpieczeń natychmiast, korzystając z usługi Microsoft Defender for Cloud, aby załatwiać krytyczne problemy oraz problemy wysokiej wagi w ciągu 48 godzin, w trakcie konfiguracji ciągłej oceny.
Zweryfikuj gotowość operacyjną. Zweryfikuj pokrycie i dokładność monitorowania przez zapewnienie, że Azure Monitor zbiera wszystkie niezbędne dzienniki, metryki i ślady dla nowych składników. Testowanie reguł alertów za pomocą testowania chaosu i aktualizowanie pulpitów nawigacyjnych w celu odzwierciedlenia nowej architektury. Ustanów monitorowanie kosztów i mechanizmy kontroli za pomocą Microsoft Cost Management, aby śledzić wzorce wydatków, ustawiać alerty budżetowe i limity wydatków oraz co tydzień przeglądać wykorzystanie zasobów dla optymalizacji. Przetestuj procedury tworzenia kopii zapasowych i odzyskiwania, wykonując testowe przywracanie za pomocą usługi Azure Backup lub przywracania bazy danych do punktu w czasie. Zadokumentuj metryki RTO i RPO oraz upewnij się, że wszystkie krytyczne dane są uwzględnione w politykach tworzenia kopii zapasowych.
Zbieranie opinii użytkowników i pomiar wyników. Regularnie zbieraj ustrukturyzowane opinie użytkowników za pośrednictwem ankiet, formularzy opinii i analizy zgłoszeń pomocy technicznej. Przeprowadzanie retrospektywnych spotkań dla zespołów wewnętrznych. Śledzenie i rozwiązywanie zgłoszeń systematycznie przez dokumentowanie problemów w Azure DevOps lub GitHub Issues, kategoryzowanie według ważności i wartości biznesowej, przypisywanie odpowiedzialności wraz z terminami realizacji oraz raportowanie postępów miesięcznie. Mierzenie rzeczywistych wyników w porównaniu z celami przez kompilowanie metryk sukcesu i przewidywań zwrotu z inwestycji. Przekazywanie wyników uczestnikom projektu w celu zademonstrowania wartości zrealizowanej lub zidentyfikowania niedoborów.
Ustanów praktyki ciągłej modernizacji. Zaplanuj regularne przeglądy obciążeń co kilka miesięcy przy użyciu przeglądów Well-Architected lub kontroli kondycji, aby zidentyfikować nowe możliwości optymalizacji, gdy usługi w chmurze ewoluują i zmieniają się wzorce użycia. Automatyzowanie optymalizacji wszędzie tam, gdzie jest to możliwe, za pomocą usługi Azure Policy w celu wymuszania najlepszych rozwiązań, implementowania reguł skalowania automatycznego na potrzeby dostrajania wydajności i konfigurowania alertów anomalii kosztów za pomocą usługi Cost Management. Podziel się wynikami i najlepszymi rozwiązaniami, dokumentując pomyślne wzorce optymalizacji, tworząc podręczniki dla typowych scenariuszy, utrzymując bazy wiedzy zawierające zdobyte wnioski i wnosząc szczegółowe informacje do praktyk wdrażania chmury organizacyjnej.
Aby uzyskać szczegółowe wskazówki dotyczące przewodnika Cloud Adoption Framework, zobacz Modernizowanie obciążeń w chmurze.