Projektuj pod kątem operacji

Projektowanie aplikacji tak, aby zespół operacyjny miał narzędzia, których potrzebuje

Chmura znacznie zmieniła rolę zespołów operacyjnych. Nie są już odpowiedzialne za zarządzanie sprzętem i infrastrukturą hostującą aplikację. Jednak operacje nadal są kluczową częścią pomyślnego uruchomienia aplikacji w chmurze. Do niektórych ważnych funkcji zespołu operacyjnego należy:

  • Wdrożenie
  • Monitorowanie
  • Eskalacja
  • Reagowanie na zdarzenia
  • Inspekcja zabezpieczeń

Niezawodne rejestrowanie i śledzenie są szczególnie ważne w aplikacjach w chmurze. Zaangażuj zespół operacyjny w projektowanie i planowanie, aby upewnić się, że aplikacja zapewnia im dane i szczegółowe informacje potrzebne do pomyślnego działania.

Zalecenia

Uczyń wszystkie elementy obserwowalnymi. Po wdrożeniu i uruchomieniu rozwiązania dzienniki i dane śledzenia stanowią główne źródło szczegółowych informacji o systemie. Śledzenie rejestruje ścieżkę przez system i przydaje się do określenia wąskich gardeł, problemów z wydajnością i punktów awarii. Rejestrowanie przechwytuje poszczególne zdarzenia, takie jak zmiany stanu aplikacji, błędy i wyjątki. Warto rejestrować dane w ramach produkcji; w przeciwnym razie występuje ryzyko utraty wglądu w dane w chwili, gdy są najbardziej potrzebne.

Instrumenty do monitorowania. Monitorowanie zapewnia wgląd w to, jak dobrze (lub jak źle) aplikacja wykonuje zadania pod względem dostępności, wydajności i kondycji systemu. Na przykład monitorowanie informuje, czy są spełniane warunki umowy dotyczącej poziomu usług. Monitorowanie odbywa się podczas normalnego działania systemu. Powinno być maksymalnie zbliżone do czasu rzeczywistego, tak aby członkowie zespołu operacyjnego mogli szybko zareagować na występujące problemy. W idealnym przypadku monitorowanie może pomóc w zapobieganiu problemom, zanim doprowadzą do wystąpienia błędów krytycznych. Aby uzyskać więcej informacji, zobacz temat Monitoring and diagnostics (Monitorowanie i diagnostyka).

Instrument do analizy głównych przyczyn. Analiza głównych przyczyn polega na znajdowaniu podstawowych przyczyn awarii. Odbywa się już po wystąpieniu awarii.

Użyj rozproszonego śledzenia. Używaj systemu rozproszonego śledzenia, który jest zaprojektowany z myślą o współbieżności, asynchroniczności i skali chmury. Śledzenie powinno uwzględniać identyfikator korelacji, który przepływa przez granice usługi. Pojedyncza operacja może obejmować wywołania do wielu usług aplikacji. Jeśli operacja nie powiedzie się, identyfikator korelacji pomaga w określeniu przyczyny awarii.

Zapewnij standaryzację dzienników i metryk. Zespół operacyjny będzie agregować dzienniki z różnych usług w ramach rozwiązania. Jeśli każda usługa korzysta z własnego formatu rejestrowania, uzyskanie z nich przydatnych informacji staje się trudne lub niemożliwe. Należy określić wspólny schemat zawierający pola, takie jak identyfikator korelacji, nazwa zdarzenia, adres IP nadawcy itd. Poszczególne usługi mogą pochodzić z niestandardowych schematów, które dziedziczą schemat podstawowy i zawierają dodatkowe pola.

Automatyzacja zadań zarządzania, w tym aprowizacji, wdrażania i monitorowania. Automatyzowanie zadań sprawia, że stają się one powtarzalne i mniej podatne na błędy człowieka.

Traktuj konfigurację jako kod. Sprawdź pliki konfiguracji w systemie kontroli wersji, tak aby można było śledzić zmiany i określić ich wersję, a w razie potrzeby wycofać je.