Udostępnij za pośrednictwem


Zagadnienia dotyczące aktualizowania rozwiązania wielodostępnego

Jedną z zalet technologii chmury jest ciągłe ulepszanie i ewolucja. Jako dostawca usług musisz zastosować aktualizacje do rozwiązania: może być konieczne wprowadzenie zmian w infrastrukturze platformy Azure, kodzie/aplikacjach, schematach bazy danych lub innym składniku. Ważne jest zaplanowanie sposobu aktualizowania środowisk. W rozwiązaniu wielodostępnym szczególnie ważne jest, aby były jasne zasady aktualizacji, ponieważ niektóre dzierżawy mogą niechętnie zezwalać na zmiany w ich środowiskach lub mogą mieć wymagania ograniczające warunki, w których można zaktualizować usługę.

Podczas planowania strategii aktualizacji rozwiązania należy wykonać następujące działania:

  • Zidentyfikuj wymagania dzierżaw.
  • Wyjaśnienie własnych wymagań dotyczących obsługi usługi.
  • Znajdź saldo, które możesz zaakceptować zarówno ty, jak i twoi dzierżawcy.
  • Jasno przekaż swoją strategię dzierżawcom i innym uczestnikom projektu.

W tym artykule udostępniamy wskazówki dla osób podejmujących decyzje techniczne dotyczące podejść, które można rozważyć w celu zaktualizowania oprogramowania dzierżawców oraz kompromisów.

Wymagania klientów

Zastanów się nad następującymi pytaniami:

  • Oczekiwania i wymagania: Czy klienci mają oczekiwania lub wymagania dotyczące tego, kiedy można je zaktualizować? Mogą one być formalnie przekazywane w umowach lub umowach dotyczących poziomu usług lub mogą być nieformalne.
  • Okna obsługi: Czy klienci oczekują okien obsługi zdefiniowanych przez usługę, a nawet samodzielnie zdefiniowanych? Może być konieczne komunikowanie się z własnymi klientami o potencjalnych awariach.
  • Przepisów: Czy klienci mają jakiekolwiek obawy prawne, które wymagają dodatkowego zatwierdzenia przed zastosowaniem aktualizacji? Na przykład, jeśli podasz rozwiązanie zdrowotne, które zawiera składniki IoT, może być konieczne uzyskanie zatwierdzenia od Stany Zjednoczone Food and Drug Administration (FDA) przed zastosowaniem aktualizacji.
  • Czułość: Czy którykolwiek z klientów jest szczególnie wrażliwy lub odporny na stosowanie aktualizacji? Spróbuj zrozumieć, dlaczego. Na przykład jeśli uruchamiają sklep fizyczny lub witrynę internetową, mogą chcieć uniknąć aktualizacji w czarny piątek, ponieważ ryzyko jest wyższe niż potencjalne korzyści.
  • Historia: Jaki jest twój rekord pomyślnego ukończenia aktualizacji bez żadnego wpływu na klientów? Należy postępować zgodnie z dobrymi rozwiązaniami DevOps, testowaniem, wdrażaniem i monitorowaniem, aby zmniejszyć prawdopodobieństwo awarii oraz zapewnić szybkie zidentyfikowanie wszelkich problemów, które wprowadzają aktualizacje. Jeśli klienci wiedzą, że możesz bezproblemowo aktualizować swoje środowiska, jest mniej prawdopodobne, aby obiekt był mniejszy.
  • Wycofywania: Czy klienci będą chcieli wycofać aktualizacje, jeśli wystąpi zmiana powodująca niezgodność?

Wymagania

Należy również wziąć pod uwagę następujące pytania z własnej perspektywy:

  • Kontrola, którą chcesz zapewnić: Czy jest uzasadnione, aby klienci mieli kontrolę nad zastosowaniem aktualizacji? Jeśli tworzysz rozwiązanie używane przez dużych klientów korporacyjnych, odpowiedź może brzmieć tak. Jeśli jednak tworzysz rozwiązanie skoncentrowane na konsumentach, jest mało prawdopodobne, że udzielisz żadnej kontroli nad sposobem uaktualniania lub obsługi rozwiązania.
  • Wersje: Ile wersji rozwiązania można rozsądnie obsługiwać jednocześnie? Pamiętaj, że jeśli znajdziesz usterkę i musisz ją poprawki, może być konieczne zastosowanie poprawki do wszystkich używanych wersji.
  • Konsekwencje starych wersji: Jaki jest wpływ najmu klientów za daleko w tyle za bieżącą wersją? Czy w przypadku regularnego wydawania nowych funkcji stare wersje zostaną szybko przestarzałe? Ponadto w zależności od strategii uaktualniania i typów zmian może być konieczne utrzymanie oddzielnych infrastruktury dla każdej wersji rozwiązania. W związku z tym mogą istnieć koszty operacyjne i finansowe, ponieważ obsługa starszych wersji jest utrzymywana.
  • Wycofywania: Czy strategia wdrażania może obsługiwać wycofywanie do poprzednich wersji? Czy jest to coś, co chcesz włączyć?

Uwaga

Zastanów się, czy musisz przejąć rozwiązanie w tryb offline na potrzeby aktualizacji lub konserwacji. Ogólnie rzecz biorąc, okna awarii są postrzegane jako nieaktualna praktyka, a nowoczesne praktyki DevOps i technologie w chmurze umożliwiają uniknięcie przestojów podczas aktualizacji i konserwacji. Należy jednak zaprojektować wdrożenia bez przestojów, dlatego podczas planowania architektury rozwiązania należy wziąć pod uwagę proces aktualizacji.

Nawet jeśli nie planujesz przestojów podczas procesu aktualizacji, nadal warto rozważyć zdefiniowanie regularnego okna obsługi. Okno może pomóc w komunikowaniu się klientom, że zmiany są wprowadzane w określonych godzinach.

Aby uzyskać więcej informacji na temat osiągnięcia wdrożeń bez przestojów, zobacz Eliminowanie przestojów za pośrednictwem aktualizacji usługi w wersji.

Znajdowanie równowagi

Jeśli opuścić cykl aktualizacji usługi w całości według uznania dzierżaw, mogą oni nigdy nie aktualizować. Ważne jest, aby umożliwić sobie aktualizowanie rozwiązania, podczas gdy uwzględnianie wszelkich uzasadnionych obaw lub ograniczeń, które mogą mieć twoi klienci. Jeśli na przykład klient jest szczególnie wrażliwy na aktualizacje w piątek, ponieważ jest to najbardziej ruchliwy dzień tygodnia, możesz równie łatwo odroczyć aktualizacje do poniedziałków, bez wpływu na rozwiązanie?

Jedną z metod, które mogą dobrze pracować, jest wdrażanie aktualizacji w poszczególnych dzierżawach przy użyciu jednej z metod opisanych poniżej. Przekaż klientowi powiadomienie o planowanych aktualizacjach. Zezwalaj klientom na tymczasowe rezygnacje, ale nie zawsze; należy wprowadzić rozsądny limit, gdy będzie konieczne zastosowanie aktualizacji.

Należy również rozważyć umożliwienie sobie wdrażania poprawek zabezpieczeń lub innych krytycznych poprawek z minimalnym wyprzedzeniem lub bez wcześniejszego powiadomienia.

Innym podejściem może być umożliwienie dzierżawcom inicjowania własnych aktualizacji w wybranym momencie. Ponownie należy podać termin, w którym to momencie zastosujesz aktualizację w ich imieniu.

Ostrzeżenie

Należy zachować ostrożność podczas włączania dzierżawców w celu zainicjowania własnych aktualizacji. Jest to złożone do wdrożenia i będzie wymagało znacznego nakładu pracy deweloperskich i testowych w celu zapewnienia i utrzymania.

Niezależnie od tego, co robisz, upewnij się, że masz proces monitorowania kondycji dzierżaw, szczególnie przed zastosowaniem aktualizacji i po ich zastosowaniu. Często krytyczne zdarzenia produkcyjne (nazywane również zdarzeniami lokacji na żywo) są wykonywane po aktualizacji kodu lub konfiguracji. Dlatego ważne jest, aby aktywnie monitorować wszelkie problemy i reagować na nie, aby zachować zaufanie klientów. Aby uzyskać więcej informacji na temat monitorowania, zobacz Monitorowanie metodyki DevOps.

Komunikacja z klientami

Jasna komunikacja jest kluczem do budowania zaufania klientów. Ważne jest, aby wyjaśnić korzyści wynikające z regularnych aktualizacji, w tym nowe funkcje, poprawki błędów, rozwiązywanie luk w zabezpieczeniach i ulepszenia wydajności. Jedną z zalet nowoczesnego rozwiązania hostowanego w chmurze jest ciągłe dostarczanie funkcji i aktualizacji.

Zastanów się nad następującymi pytaniami:

  • Czy powiadomisz klientów o nadchodzących aktualizacjach?
  • Jeśli to zrobisz, czy niejawnie zażądasz uprawnień, podając proces rezygnacji i jakie są limity rezygnacji?
  • Czy masz zaplanowane okno obsługi używane podczas stosowania aktualizacji?
  • Co zrobić, jeśli masz aktualizację alarmową, na przykład krytyczną poprawkę zabezpieczeń? Czy możesz wymusić aktualizacje w tych sytuacjach?
  • Jeśli nie możesz aktywnie powiadamiać klienta o nadchodzących aktualizacjach, czy możesz dostarczyć powiadomienia retrospektywne? Na przykład czy możesz zaktualizować stronę w witrynie internetowej przy użyciu listy zastosowanych aktualizacji?
  • Ile oddzielnych wersji systemu będzie utrzymywanych w środowisku produkcyjnym?

Komunikacja z zespołem pomocy technicznej klienta

Ważne jest, aby twój własny zespół pomocy technicznej miał pełny wgląd w aktualizacje, które zostały zastosowane do każdej dzierżawy. Przedstawiciele działu pomocy technicznej klienta powinni mieć możliwość łatwego odpowiadania na następujące pytania:

  • Czy aktualizacje zostały ostatnio zastosowane do infrastruktury dzierżawy?
  • Jaki był charakter tych aktualizacji?
  • Jaka była poprzednia wersja?
  • Jak często są stosowane aktualizacje do tej dzierżawy?

Jeśli jeden z klientów ma problem z powodu aktualizacji, musisz upewnić się, że zespół pomocy technicznej klienta ma informacje niezbędne do zrozumienia, co się zmieniło.

Strategie wdrażania do obsługi aktualizacji

Rozważ wdrożenie aktualizacji w infrastrukturze. Ma to duży wpływ na używany model dzierżawy . Trzy typowe podejścia do wdrażania aktualizacji to sygnatury wdrożenia, flagi funkcji i pierścienie wdrażania. Możesz użyć tych metod niezależnie lub połączyć je ze sobą, aby spełnić bardziej złożone wymagania.

We wszystkich przypadkach upewnij się, że masz wystarczające raportowanie i widoczność, aby wiedzieć, na jakiej wersji infrastruktury, oprogramowania lub funkcji znajduje się każda dzierżawa, do czego kwalifikują się do migracji, oraz wszelkich danych związanych z czasem skojarzonych z tymi stanami.

Wzorzec sygnatur wdrożenia

Wiele aplikacji wielodostępnych jest dobrym rozwiązaniem dla wzorca sygnatur wdrażania, w którym wdraża się wiele kopii aplikacji i innych składników. W zależności od wymagań dotyczących izolacji można wdrożyć sygnaturę dla każdej dzierżawy lub sygnatury udostępnione, które uruchamiają obciążenia wielu dzierżaw.

Sygnatury to doskonały sposób zapewnienia izolacji między dzierżawami. Zapewniają one również elastyczność procesu aktualizacji, ponieważ można stopniowo wdrażać aktualizacje między sygnaturami bez wpływu na inne osoby.

Flagi funkcji

Flagi funkcji umożliwiają dodawanie funkcji do rozwiązania, a jednocześnie uwidacznianie tej funkcji tylko do podzbioru klientów lub dzierżaw.

Rozważ użycie flag funkcji, jeśli którakolwiek z tych sytuacji ma zastosowanie do Ciebie:

  • Aktualizacje są wdrażane regularnie, ale chcesz uniknąć wyświetlania nowych funkcji, dopóki nie zostaną one w pełni zaimplementowane.
  • Chcesz uniknąć stosowania zmian w zachowaniu, dopóki klient nie wyrazi zgody.

Obsługę flag funkcji można osadzić w aplikacji, pisząc samodzielnie kod lub używając usługi, takiej jak Azure App Configuration.

Pierścienie wdrażania

Pierścienie wdrażania umożliwiają stopniowe wdrażanie aktualizacji w zestawie dzierżaw lub sygnatur wdrożenia. Do każdego pierścienia można przypisać podzbiór dzierżaw.

Możesz określić, ile pierścieni należy utworzyć i co oznacza każdy pierścień dla własnego rozwiązania. Często organizacje używają następujących pierścieni:

  • Kanaryjskie: Pierścień kanarowy obejmuje własne dzierżawy testowe i klientów, którzy chcą mieć aktualizacje tak szybko, jak tylko są dostępne, dzięki zrozumieniu, że mogą otrzymywać częstsze aktualizacje, i że aktualizacje mogą nie być przez kompleksowy proces weryfikacji, jak w innych rzeczach.
  • Wczesny adoptator: Pierścień wczesnego wdrażania zawiera dzierżawców, którzy są nieco bardziej niechętni ryzykiem, ale którzy są nadal przygotowani do otrzymywania regularnych aktualizacji.
  • Użytkowników: Większość dzierżaw będzie należeć do pierścienia użytkowników , który otrzymuje rzadziej i bardziej przetestowane aktualizacje.

Wersje interfejsu API

Jeśli Twoja usługa uwidacznia zewnętrzny interfejs API, należy wziąć pod uwagę, że wszelkie zastosowane aktualizacje mogą mieć wpływ na sposób integracji klientów lub partnerów z platformą. W szczególności musisz mieć świadomość przełomowych zmian w interfejsach API. Rozważ użycie strategii przechowywania wersji interfejsu API , aby ograniczyć ryzyko aktualizacji interfejsu API.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Został pierwotnie napisany przez następujących współautorów.

Główny autor:

  • John Downs | Główny inżynier klienta, fasttrack dla platformy Azure

Inni współautorzy:

Aby wyświetlić niepublice profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki