Monitorowanie aplikacji w chmurze

Specjalne algorytmy klasyfikują nadchodzące zdarzenia przed ich prezentacją na pulpicie i decydują, czy są one wystarczająco niebezpieczne, aby podnieść alarm. Podstawowy mechanizm wykorzystuje progi statyczne - alarm jest podnoszony, jeżeli statystyki przekraczają akceptowalna wartość. Bardzie ambitne algorytmy dostosowują się do nadchodzących danych i "uczą" się, które zdarzenia mogą być niezwykłe, odnotowując wzorce anomalii.

Dobre narzędzia monitorowania mogą także organizować procesy naprawcze. Każdy alarm może zawierać pole do zapisywania przez zespół uwag o sposobie rozwiązania problemu. Te uwagi mogą być pomocne na wypadek ponownego pojawienia się tego problemu. Najlepsze systemy zapewniają wielokrokowy workflow, koordynujący działania zespołów. Poważne zdarzenie jest sprawdzane przez każdy zespół, który problem potwierdza i decyduje jak go rozwiązać.

Kierunki rozwoju

Na początku systemy monitorowania były niezależne od rzeczywistych serwisów, co miało na celu uniknięcie zafałszowania wyników. Symulowały działania użytkownika i opierały się na tych samych testach zewnętrznych, których używali konsultanci lub niezależni testerzy wynajmowani przez biznes do oceny witryn.

Dzisiejsze rozwiązania zdają się na monitorowanie wewnętrzne, kontrolujące serwery produkcyjne. Wewnętrzne narzędzia chmurowe często sięgają do stosu maszyn wirtualnych na maszynach fizycznych, a uzyskane w ten sposób dane o średnim obciążeniu mogą dostarczać informacji o wydajności aplikacji. Takie podejście zakłada zaufanie do raportów z chmur, co jest wygodne, ale może prowadzić do kłopotliwych wzajemnych zależności i błędów. Z tego powodu niektórzy utrzymują wydzielone serwery monitorujące w swoich własnych lokalizacjach, zadaniem których jest nadzorowanie chmury.

Systemy monitorujące przechodzą powoli w systemy zarządzania. Najpowszechniejszym wyzwaniem jest dodawanie lub wycofywanie serwerów w miarę zmiany obciążeń. Jeżeli test pokazuje, że czas odpowiedzi jest zbyt duży, system może włączyć wdrażanie nowych serwerów z chmur bez oczekiwania na decyzje administratora.

Niektórzy dostawcy eksperymentują z zadaniami intensywnego przełączania mocy obliczeniowej w okresach, kiedy obciążenie jest niższe. Najbardziej wymyślne mogą uzyskiwać informacje o obciążeniu, łączyć je z danymi historycznymi i włączać przetwarzanie wsadowe, kiedy maszyny mają wolne moce.

Niektóre chmury publiczne oferują giełdę, na której firmy kupują czas wolnych serwerów. Bardziej wyrafinowane systemy monitorowania mogą uwzględniać bieżące koszty czasu serwera, gdy podejmują decyzje, jak przystosować się do większego obciążenia. Jeżeli czas serwera jest tani, to można zakupić więcej maszyn. Jeżeli czas przetwarzania jest drogi, to można zamknąć dodatkowe mechanizmy lub obniżyć ich jakość.

Elastyczne infrastruktury cloud i bardziej złożone aplikacje wykraczają poza możliwości tradycyjnych systemów monitowania. Nowe podejście do monitorowania aplikacji znosi rozróżnienie pomiędzy systemem testowym i systemem testowanym, tworząc hybrydowy, samodiagnozujący się system, który może podejmować inteligentne decyzje odciążające administratorów.

Opracowano na podstawie "Info-World Cloud Monitoring Deep Dive".


TOP 200