Richard modernizuje IT: Monitorujeme aplikace

Na otázky o stavu IT od naší proměny Richard neustále odpovídá: „U mě dobrý“. Nicméně co je dobré pro Richarda, nemusí být dobré pro uživatele (Richard to ví) a ti jsou klíčoví. Co by bylo platné, kdyby měl Richard skvělou, moderní, dynamickou, samoobslužnou a automatizovanou infrastrukturu, kdyby aplikace nebyly vysoce dostupné a dostatečně výkonné? Richardův kolega, zodpovědný za chod aplikačního teamu, začal být z jeho slov shrnujících stav značně nervózní. Do společnosti byla v poslední době nasazena řada nových verzí firemních aplikací a odezva uživatelů ne zcela vystihovala slova Richarda. Logickým vyústěním celé situace bylo zapojení dohledového systému SCOM do monitorování výkonnosti a dostupnosti aplikací. Celý příběh by měl krásný závěr, kdyby Richard nepoužil větu (kterou doma denně slýchá): „Vždyť jsem vám to říkal“.

Sledování výkonu aplikací

Jakmile Richard (opětovně) představil možnosti dohledového systému SCOM v oblasti .NET a Java aplikací, nebylo již diskuze o tom, že není vhodnějšího nástroje pro monitoring (kupodivu). Jedním z hlavních důvodů také bylo, že SCOM je a bude jediný centrální dohledový systém pro celé IT společnosti. Vývojáři budou mít do systému odpovídající přístup a uvidí všechny podstatné informace o dostupnosti a výkonnosti aplikací. Zodpovědnost za monitoring aplikací tedy Richard přenesl na vývoj. Hlavním důvodem však bylo, že Richard této oblasti vůbec nerozumí, nicméně se drží myšlenky, že není nutné odpovídat na otázky, na které není tázán.

Monitorování firemních .NET aplikací

Celou akci vyvolala informace vývojového týmu o neblahé výkonnosti nově nasazené aplikace. Richard (se skromností sobě vlastní) ostentativně vyhrnul rukávy se slovy: „Pusťte mě k tomu.“ Richard se již naučil dostatečně prodávat svoji práci a celé toto gesto reprezentovalo spuštění průvodce v autorské části SCOM, který všechny celým procesem nastavení provedl. Po spuštění průvodce „.Net Application Performance Monitoring“ se otevřel poměrně značný prostor pro vývojáře, kteří byli chvílemi v úžasu, co vše je možné pomocí tohoto nástroje monitorovat. Požadované odezvy, definice výjimek a prahových hodnot pro různé oblasti aplikace apod.

image
Obr. 1: Application Performance Monitoring (APM)

Monitoring aplikací je smysluplný zejména v případě, kdy je prováděn z pohledu koncového uživatele. To je možné samozřejmě v jednom z kroků definovat. SCOM tak dokáže simulovat provoz aplikace až na úrovni kódu pro koncové uživatele.

image
Obr. 2: APM Client-Side Configuration

Po dokončení průvodce provedl SCOM všechny potřebné úkony, vytvořil celou řadu objektů a danou aplikaci na serverech nalezl a „osahal“. Situaci, kdy vývojáři s úžasem Richardovi vysvětlovali všechny neuvěřitelné možnosti konfigurace (kterým nerozuměl), komentoval slovy: „No no no.“

image
Obr. 3: Pohled na aplikaci v konzoli SCOM

V konzoli SCOM je zobrazeno velké množství informací o stavu aplikací. Tyto informace jsou každopádně určeny převážně vývojářům a ti si je také díky přístupu do konzole SCOM náležitě užívají. Dostávají celou řadu informací o odezvách z pohledu uživatele, ale i serveru a jednotlivých částí aplikace, mohou zobrazovat obrovské množství výkonnostních čítačů jednotlivých částí aplikace apod. SCOM zcela zásadně pomohl vývojářům odhalit slabá místa aplikace, která byla ihned upravena. Aktuálně používají vývojáři SCOM pro monitoring aplikací už ve fázi vývoje a jedná se o zásadní část ladění před uvedením do ostrého provozu.

Jakmile se nyní objeví jakýkoliv problém v aplikacích, SCOM okamžitě generuje detailní informace o nalezeném problému. To nejlepší si ale nechal Richard na konec. SCOM dokáže komunikovat přímo s Team Foundation Serverem (TFS) a předávat potřebné informace v IntelliTrace formátu do TFS. Při této informaci se vítězně usmíval (a měl k tomu důvod).

Monitorování firemních Java aplikací

Předchozí činnosti provedl Richard společně s vývojáři pro všechny .NET a Java kritické aplikace společnosti. Na následujících obrázcích Richard ukazuje, jakým způsobem mohou vývojáři pracovat s výstupy SCOM. Všechny monitorované a měřené hodnoty je možné kdykoliv upravovat a nastavovat k obrazu svému, resp. vývojářskému.

Na následujícím obrázku je k dispozici pohled na výkonnostní čítače Java aplikace. Přímo z konzole SCOM je tak možné v reálném čase vyhodnocovat celou řadu čítačů, o kterých nemá často infrastrukturní člověk (Richard ne) velké povědomí. Pro vývojáře se ale jedná o nenahraditelného pomocníka.

image
Obr. 4: Java Performance Monitoring

Pohyb v prostředí SCOM je velmi intuitivní a tak nedá žádnou práci nalézt (v případě, že tam je) pod konkrétní aplikací například výstrahu s názvem: „Whoops – something went wrong.“ Není nutné býti zdatným angličtinářem, aby bylo jasné, že se něco děje. Věřte, že pod slovem „something“ SCOM nemyslí „něco, resp. cokoliv“, ale že vám velmi detailně sdělí, kde tkví problém. Na danou výstrahu stačí poklikat (znalci vědí, že dvakrát) a otevře se okno, ve kterém jsou detailně zobrazeny všechny výjimky včetně (chtělo by se říct brutálního) detailu.

image
Obr. 5: Pohled na výjimky aplikace

Každopádně je tato oblast něčím zcela zásadním, co promluvilo do týmu vývojářů, a oblasti Infrastruktury a vývoje mají k sobě zase o velký kus blíže (pokud to ještě vůbec jde).

Monitorování web aplikací a jejich dostupnost ze světa

Další velmi zajímavou funkcionalitou systému SCOM je Global Service Monitor. Jedná se o schopnost dohledového systému využívat datových center společnosti Microsoft rozprostřených po celém světě pro sledování dostupnosti webových aplikací. Kombinace APM (Application Monitoring) a GSM (Global Service Monitor) poskytuje ucelený pohled na dostupnost firemních aplikací.

Na následujícím obrázku je vidět volba datových center pro monitoring web aplikace.

image
Obr. 6: Volba datových center pro GSM

Konfigurací monitoringu vás samozřejmě provede průvodce (případně Richard), který vám pomůže nastavit vše potřebné. Sami zvolíte hodnoty, které za vás mají datová centra Microsoftu hlídat a sledovat.

image
Obr. 7: Konfigurace parametrů GSM

Po dokončení konfigurace je v prostředí SCOM k dispozici mapa světa, která zobrazuje stav a dostupnost aplikací společnosti. Jakmile by došlo k nedostupnosti web aplikace dle definovaných pravidel, všechny informace pošle datové centrum Microsoftu k vyhodnocení do Richardovi konzole SCOM. Tam je možné návratové hodnoty a výsledky dohledu analyzovat.

image
Obr. 8: GSM datová centra

V prostředí SCOM mají nejen vývojáři, ale i management, celou řadu zajímavých pohledů na kompletní stav a dostupnost kritických firemních aplikací. Richard na zhodnocení použil slova jedné známé soutěže: „Kdo z vás to má?“

Monitorování web aplikací pomocí Visual Studio Web Test

Pro monitoring web aplikací pomocí GSM je možné také využít Visual Studio Web Testu.

Vývojáři tak mohou připravit celou sadu kroků a kontrolních mechanismů, jak vyhodnocovat skutečnou funkcionalitu web aplikace. Tento balíček je možné do datových center nahrát a nechat v pravidelných intervalech provádět.

image
Obr. 9: Visual Studio Web Test

Všechny podstatné informace jsou v případě problémů odeslány do prostředí SCOM k následné analýze a případně do Team Foundation Serveru. Vždy formou přehledných „Dashboards“ se všemi podstatnými informacemi.

image
Obr. 10: Celkový pohled na stav aplikace

SCOM tak zcela zásadně promlouvá do provozu vývojového teamu a velmi aktivně pomáhá při ladění, nasazování, monitorování a vyhodnocování kvality a dostupnosti aplikací společnosti, kde Richard působí. „Já jsem vám to říkal.“

Jan Matějka, MVP
www.mainstream.cz