Co to jest modelowanie kondycji?
Aby określić, czy środowisko działa zgodnie z oczekiwaniami, ważne jest, aby monitorować kondycję aplikacji i kluczowe metryki zasobów platformy Azure. Modelowanie kondycji to ćwiczenie projektowe, które rozszerza nieprzetworzone dzienniki danych i metryki o kluczowe wymagania biznesowe. Celem jest kwantyfikacja kondycji aplikacji i zautomatyzowana ocena stanów kondycji.
Zalety modelowania kondycji
Aby ocenić ogólną kondycję obciążenia, potrzebujesz całościowego zrozumienia wszystkich metryk. Należy również szybko zidentyfikować i rozwiązać problemy z niezawodnością.
Modelowanie kondycji koncentruje się na dokładnej instrumentacji i monitorowaniu, ale dodaje również warstwę kontekstu , aby zapewnić krytyczny wgląd w kondycję aplikacji. Dobrze zaprojektowany model kondycji powinien wyraźnie wskazywać ogólną kondycję obciążenia zamiast nieprzetworzonych metryk danych.
Aplikacje o znaczeniu krytycznym, ze względu na ich złożony charakter, powinny generować duże ilości danych operacyjnych. Ocena stanu kondycji aplikacji może być trudna i ustalenie prawidłowej akcji w celu rozwiązania zidentyfikowanych problemów.
Model kondycji używa wskaźników ustawionych do reprezentowania stanu kondycji, co sprawia, że intuicyjne zrozumienie i szybkie reagowanie na wszelkie problemy, które mogą wystąpić. Stan kondycji zazwyczaj jest przedstawiany przy użyciu wskaźników światła drogowego , takich jak zielony, żółty i czerwony. Możesz śledzić wyniki kondycji aplikacji, aby szybko znaleźć główną przyczynę degradacji usługi.
Pierwsze kroki
Aby wykonać ćwiczenie dotyczące modelowania kondycji, musisz mieć głębokie zrozumienie systemu i oczekiwanej wydajności. Zalecany jest model warstwowy, aby odzwierciedlał ogólną kondycję aplikacji i na poziomie szczegółowym. Warstwy reprezentują hierarchiczną strukturę obciążenia, która obejmuje aplikację i jej zależności.
- W górnej warstwie kondycja reprezentuje interakcję użytkownika lub przepływy w aplikacji. Pomyśl o przepływach, które znajdują się na ścieżce krytycznej, i o tych, które nie są.
- W niższych warstwach kondycja poszczególnych składników aplikacji musi być zdefiniowana zgodnie z kluczowymi wymaganiami niefunkcjonalnymi. Mapuj zależności między składnikami funkcjonalnymi i logicznymi. Ponadto zamapuj zależności między zasobami platformy Azure używanymi przez składniki aplikacji.
- W warstwie podstawowa kondycja reprezentuje zasoby platformy Azure, które są używane przez aplikację.
Proces modelowania kondycji to działanie projektowe najwyższego poziomu, które rozpoczyna się od zdefiniowania wszystkich przepływów użytkownika, mapowania zależności i kwantyfikacji stanów ciepła do przepływów.
Poniżej przedstawiono zalecane kroki dotyczące podejścia:
- Kwantyfikuj stany kondycji dla każdego składnika , aby każdy składnik wskazywał wynik kondycji. Ocena kondycji może być agregacja różnych metryk wydajności, biorąc pod uwagę kluczowe wymagania biznesowe.
- Kwantyfikowanie stanów kondycji dla każdego przepływu przez połączenie wyniku kondycji poszczególnych składników w celu wskazania kondycji przepływu. Uwzględnij wymagania niefunkcjonalne, aby ustawić kontekst pod względem krytycznym.
- Na podstawie krytycznego działania firmy zastosuj odpowiednie wagi we wszystkich warstwach, aby utworzyć zrozumiałą definicję ogólnej kondycji. Na przykład w górnej warstwie znacznie istotne przepływy finansowe i przepływy użytkowników dostępne dla klientów są ważniejsze niż inne.
Na tym obrazie przedstawiono przykładowy wynik powyższego podejścia. Model kondycji używa tych warstwowych definicji kondycji do informowania krytycznych metryk monitorowania we wszystkich składnikach systemu i sprawdzania poprawności kompozycji podsystemu operacyjnego.
W następnym ćwiczeniu zastosujemy proces wysokiego poziomu do przykładu i utworzymy model kondycji warstwowej.
Aby uzyskać więcej informacji na temat warstwowych modeli kondycji, zobacz Kondycja aplikacji warstwowych. Zobacz również przykład modelu kondycji warstwowej.