Projektowanie pod kątem operacji

Ukończone
Zmiana strategii na wcześniejsze etapy w działaniach, aby wcześniej reagować na warunki awarii.

Błędy testów są wczesne i często w cyklu projektowania oraz określają wpływ wydajności na niezawodność. Ze względu na analizę głównych przyczyn i analizę post-mortem musisz mieć wspólny wgląd wśród zespołów w statystyki zależności i bieżące awarie. Szczegółowe informacje, diagnostyka i alerty z obserwowanych systemów mają podstawowe znaczenie dla efektywnego zarządzania zdarzeniami i ciągłego ulepszania.

Firma Contoso University uruchamia aplikację internetową utworzoną na podstawie mikrousług, które zapewniają usługi edukacyjne, takie jak zajęcia online, dla wykładowców i studentów firmy Contoso. Obciążenie jest oparte na usługach Azure App Service, Azure SQL Database, Microsoft Entra ID, Azure Key Vault, Azure Service Bus, Azure Monitor i Azure DevOps.

Implementowanie niezawodnego monitorowania

Tworzenie obserwowalnych systemów, które mogą skorelować dane telemetryczne.

Monitorowanie i diagnostyka są kluczowymi operacjami. Jeśli coś się nie powiedzie, musisz wiedzieć, że nie powiodło się, gdy zakończyła się niepowodzeniem i dlaczego zakończyła się niepowodzeniem. Obserwowanie na poziomie składnika jest podstawowe, ale zagregowana możliwość obserwowania składników i skorelowanych przepływów zapewnia całościowy widok stanu kondycji. Te dane są wymagane, aby umożliwić inżynierom ds. niezawodności systemów ustalanie priorytetów w celu rozwiązania problemów.

wyzwanie firmy Contoso

  • Aplikacja obciążeniowa jest wdrażana jako część zestawu składającego się z pięciu niezależnych usług w wielu warstwach funkcjonalnych.
  • Zespół chce mieć możliwość analizowania transakcji i żądań użytkowników podczas przechodzenia przez różne warstwy rozwiązania w celu zidentyfikowania wąskich gardeł, które mogą prowadzić do niestabilności i wydajniejszego rozwiązywania problemów w przypadku wystąpienia problemów.

Stosowanie podejścia i wyników

  • Zespół ds. obciążeń instrumentuje składniki do przechwytywania dzienników i metryk za pomocą usługi Application Insights oraz konfiguruje rejestrowanie dla wszystkich usług platformy. Wszystkie dzienniki są przekazywane do obszaru roboczego Azure Monitor dla obciążeń.
  • Dane w obszarze roboczym AzM mogą służyć do analizowania kondycji poszczególnych składników rozwiązania oraz zagregowanych przepływów i kondycji rozwiązania.
  • Korelowanie wpisów należących do tego samego żądania między składnikami i warstwami pomaga zespołowi określić kondycję obciążenia i ułatwia ich procesy rozwiązywania problemów.

Przewidywanie potencjalnych awarii i nietypowych zachowań

Uwidocznij aktywne błędy niezawodności przy użyciu alertów z priorytetami i z możliwością działania. Zainwestuj w niezawodne procesy i infrastrukturę, które prowadzą do szybszej klasyfikacji.

Inżynierowie odpowiedzialni za niezawodność mogą być natychmiast powiadamiani, aby zapobiec trwającym incydentom na stronie na żywo i proaktywnie zapobiegać potencjalnym awariom, identyfikowanym przez ostrzeżenia predykcyjne, zanim staną się incydentami na żywo.

wyzwanie firmy Contoso

  • Zespół spodziewa się znacznego wzrostu ruchu na początku każdego terminu, ponieważ uczniowie rejestrują się na zajęciach, uzyskują dostęp do sylabi i kupują podręczniki.
  • W tym krytycznym okresie roku akademickiego zespół musi mieć pewność, że dostępna jest wystarczająca pojemność w celu zwiększenia oczekiwanego obciążenia. Zespół musi również mieć możliwość szybkiego reagowania na inne potencjalne problemy z dostępnością, które mogą wystąpić.

Stosowanie podejścia i wyników

  • Zespół konfiguruje warstwy sieci web i baz danych, aby automatycznie rozszerzać się poziomo, zapewniając dodatkową wydajność przed oczekiwanym wzrostem zapotrzebowania oraz kontynuować przydzielanie wydajności w miarę wzrostu obciążenia.
  • Plan reagowania awaryjnego jest dostosowywany tak, aby zespół reagowania na zdarzenia priorytetowo traktował alerty związane z przepływami będącymi pod presją w tym okresie.

Testowanie pod kątem ryzyka związanego z niezawodnością

Symulowanie błędów i uruchamianie testów w środowiskach produkcyjnych i przedprodukcyjnych.

Korzystne jest doświadczenie awarii w środowisku produkcyjnym, dzięki czemu można ustawić realistyczne oczekiwania dotyczące odzyskiwania. Dzięki temu można dokonać wyborów projektowych, które bezpiecznie reagują na błędy. Ponadto umożliwia testowanie progów ustawionych dla metryk biznesowych.

wyzwanie firmy Contoso

  • Komunikacja między warstwą internetową a usługą REST rejestracji uczniów w tym obciążeniu zależy od certyfikatów klienta.
  • Ponieważ funkcja rejestracji uczniów nie jest używana znacznie po rozpoczęciu terminu, jeśli certyfikat używany przez usługę rejestracji uczniów wygaśnie, problem może nie zostać wykryty przez jakiś czas.
  • Ponadto w ostatnim okresie rejestracji wystąpiło kilka przerw w działaniu usługi z powodu niepoprawnej obsługi przejściowych błędów łączności przez system. Zespół wprowadził pewne ulepszenia kodu w zakresie obsługi błędów przejściowych, ale nie ma pewności, w jaki sposób funkcje będą działać w rzeczywistych scenariuszach produkcyjnych.

Stosowanie podejścia i wyników

  • Zespół opracowuje syntetyczne testy transakcji, które będą uruchamiane w środowisku produkcyjnym w ramach miesięcznego harmonogramu, aby symulować kilka przepływów, w tym przepływ rejestracji.
  • Alerty są skonfigurowane dla syntetycznych testów transakcji, dzięki czemu zespół zostanie powiadomiony o awariach, co obejmuje ryzyko wygaśnięcia certyfikatów.
  • Ponadto zespół zainwestował w budowanie testów chaosu w ich SDLC, wykonując rutynowe testowanie chaosu i przechwytywanie wyników zarówno w celu weryfikacji technik samozachowawczych, jak i w celu ułatwienia odkrycia wcześniej nieznanych problemów z niezawodnością.

Sprawdź swoją wiedzę

1.

Prawda czy fałsz: przykładem obserwowania obciążenia jest instrumentacja aplikacji w celu emitowania danych telemetrycznych.

2.

Jaki jest atrybut dobrze zaprojektowanej strategii zgłaszania alertów?

3.

Jaki jest jeden ze sposobów, w jaki firma Contoso może udowodnić, że ich obciążenie może działać w stanie obniżonej wydajności?