SlideShare a Scribd company logo
1 of 16
Schrödingerova aplikace
Ondřej Mysliveček
LMC
Lepenková krabice
Monitoring historicky
Provoz
Máme know-how (*)
Nemáme přímou zodpovědnost
Nemáme nástroje
Máme zodpovědnost za provoz
Tedy i za monitoring
Máme nástroje
Nemáme přímé know-how (*)
Vývoj
(Ne)aplikační monitoring
Chlupatá
něco-jako-číča
věc
mrtvá číča
“fungující” krabice
Běžná situace
1) Kultura DevOps
• Mrtvou kočku poznáme výrazně rychleji
• A poznáme i kočku nemocnou
Hodně šťastná číča
2) Nulová tolerance k alertům
spokojená číča
Uptime monitoring (UM)
rozladěná
číča
Oko
Tlama
Tlapka
Břicho
Ucho
Ocas
UM – zavedení DevOps
veselá číča (včera)
veselá číča
(dnes)
Oko
Tlama
Tlapka
Bříško
Ucho
Ocas
UM – prakticky (1)
www.jobs.cz/prace/
HTTP 200
http request
očekávaná odpověď
UM – prakticky (2)
www.jobs.cz/prace/
HTTP 200 + obsahuje
řetězec z patičky
http request
očekávaná odpověď
UM – prakticky (3)
www.jobs.cz/prace/
HTTP 200 + obsahuje
obsahový řetězec
http request
očekávaná odpověď
UM – prakticky (bonus)
https://firmy.prace.cz/inzerce/appRoot/
monitoring/banlist
HTTP 200 + obsahuje
řetězec “OK”
http request
očekávaná odpověď
UM – pamatujte
• Je to syntetické (+/-)
• Není možné checkovat vše
nemocná číča
zelený monitoring
A proto je nutné kombinovat s …
• monitoring logů
• monitoring business metrik
křičící číča
výkon číči v čase
Kontakt
kočkomil & asociál
ondrej.myslivecek@lmc.eu
Nechť se vašim kočkám daří …
Soutěž
• Máte rádi dobrý čaj? Chcete vyzkoušet jak
dobré monitoring nástroje máte?
• Checkujte http://devel2016.myslivecek.net
• 3x dnes dojde k výpadku s HTTP 503
• Na chybové stránce je tlačítko
skrývající unikátní kód
• S kódem hurá do LMC
čajovny na podpultový čaj

More Related Content

More from Develcz

Ondřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojůOndřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojůDevelcz
 
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...Develcz
 
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslŠtěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslDevelcz
 
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLTomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLDevelcz
 
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikacíTomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikacíDevelcz
 
Jakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostJakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostDevelcz
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonDevelcz
 
Michal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloMichal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloDevelcz
 
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Develcz
 
David Majda: Autoformátování kódu
David Majda: Autoformátování kóduDavid Majda: Autoformátování kódu
David Majda: Autoformátování kóduDevelcz
 
David Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDavid Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDevelcz
 
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Develcz
 
Adam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalAdam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalDevelcz
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěDevelcz
 
Martin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijítMartin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijítDevelcz
 
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!Develcz
 
Karel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand EmbassyKarel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand EmbassyDevelcz
 
Martin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodinyMartin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodinyDevelcz
 
Richard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptuRichard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptuDevelcz
 
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tacticsBára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tacticsDevelcz
 

More from Develcz (20)

Ondřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojůOndřej Kokeš: Zpracování dat z veřejných zdrojů
Ondřej Kokeš: Zpracování dat z veřejných zdrojů
 
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
Patrick Zandl: Open source software, hardware, 3D tiskárny a tvrdý business -...
 
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmyslŠtěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
Štěpán Bechynský: Hardware pro IoT projekty nejen pro hobby, ale i pro průmysl
 
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQLTomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
Tomáš Vondra: Paralelizace dotazu a partitioning v PostgreSQL
 
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikacíTomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
Tomáš Zvěřina: Flutter.io - multiplatformní vývoj mobilních aplikací
 
Jakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnostJakub Vrána: Dokazatelná bezpečnost
Jakub Vrána: Dokazatelná bezpečnost
 
Roman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To ReasonRoman Schejbal: From Madness To Reason
Roman Schejbal: From Madness To Reason
 
Michal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadloMichal Illich: Zuri aneb Vývojáři staví letadlo
Michal Illich: Zuri aneb Vývojáři staví letadlo
 
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
Ondřej Šika: Docker, Traefik a CI - Mějte nasazené všeny větve na kterých pra...
 
David Majda: Autoformátování kódu
David Majda: Autoformátování kóduDavid Majda: Autoformátování kódu
David Majda: Autoformátování kódu
 
David Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the UglyDavid Grudl: Open source: The Good, the Bad and the Ugly
David Grudl: Open source: The Good, the Bad and the Ugly
 
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!Ondřej Machulda: Začíná zlatá doba end-to-end testů!
Ondřej Machulda: Začíná zlatá doba end-to-end testů!
 
Adam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/DrupalAdam Kudrna: Headless WordPress/Drupal
Adam Kudrna: Headless WordPress/Drupal
 
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světěJaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
Jaroslav Tulach: GraalVM - z vývoje nejrychlejšího virtuálního stroje na světě
 
Martin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijítMartin Michálek: Bootstrap 4 - Jednou to muselo přijít
Martin Michálek: Bootstrap 4 - Jednou to muselo přijít
 
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
Ondřej Mirtes: Usnadněte si práci silně typovaným kódem a statickou analýzou!
 
Karel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand EmbassyKarel Smutný: Jak se samo-organizujeme v Brand Embassy
Karel Smutný: Jak se samo-organizujeme v Brand Embassy
 
Martin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodinyMartin Šimeček: Chytré boty do každé rodiny
Martin Šimeček: Chytré boty do každé rodiny
 
Richard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptuRichard Fridrich: Třesení stromem v JavaScriptu
Richard Fridrich: Třesení stromem v JavaScriptu
 
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tacticsBára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
Bára Bühnová: Naučte se taktizovat s pomocí bad code smells a quality tactics
 

Ondřej Mysliveček: Schrödingerova aplikace

Editor's Notes

  1. Předpokládejme že uvnitř je skutečně kočka a kdysy byla určitě živá.
  2. A co toto rozdělení pravomocí a zodpovědností způsobuje???
  3. -> primárně monitoring infrastruktury (je v ní vše OK pro provoz koček?  -> aplikační monitoring = spíše jeho nástřel (je v krabici něco, co vypadá jako kočka?) -> ale pozor. Stále jde o důležitou součást monitoringu jako celku
  4. Často to bylo tak, že krabice je OK, aplikace již nikoli Zásadní posun – 2 věci:
  5. Co je vyloženě nutné? Vývojáři ke svému know-how: Cítí zodpovědnost za běh Mají nástroje bez bariér
  6. Čím víc checků -> tím větší ochota tolerovat pár červených světélek !!!!! NE, NE a NE !!!! Nikdy na to nesmíte přistoupit !!!! Má to I odborný název - Alert fatigue
  7. V rámci DevOps logicky první řešená úroveň monitoringu (základy měli už lidi z provozu – je tam něco co vypadá aspoň trochu jako kočka?) Proč je kočička rozmrzelá? – uptime monitoring obvykle nedokáže zmonitorovat vše, ale málokdy přehlédne mrtvou kočičku
  8. DOTCOM – managed by app admins on request (by ticket) Při přechodu jsme zjistili, že je v DOTCOMu spousta checků, které vůbec necheckují co mají. Pingdom přímo v rukách vývojářů: aktuální checky, reálně řešené alerty, dlouhodobě nemáme jediný selhávající check
  9. HTTP response code není vidět -> při vývoji si toho vývojáři nevšimnou (možná automat?) Uděláme hezkou error stránku -> a zapomeneme nastavit správný HTTP response kód
  10. Nemusí nutně poznat, že došlo uvnitř stránky (obvykle v nejdůležitější části) k nějaké exceptione - JENŽE: Zvlášť zajímavé v dnešní době, kdy se stránka skládá z dat více aplikací a je dobře ošetřený failover (takže stránka může přijet s 200, ale může v ní chybět důležitý kus -> ideálně by měla stránka vrátit Partial content, ale víte co :-)
  11. Je v krabici něco, co vypadá jako kočka a dýchá to? Jenže jaký? Ono se nám to dynamicky mění… Trik: ten řetězec nemusí být přeci vidět. Takže nějaká class nebo něco jiného, co je pouze v segmentu položky výpisu…
  12. Je v krabici něco (kočka), co má přístup k jídlu (dokáže to podle všeho žrát)? Prace.cz potřebuje několik služeb pro svůj správný chod SOLR GIS Memcache Platební bránu … Proč je výhodnější než monitorovat jen tu danou aplikaci? Díky tomuto přístupu víme, že Prace.cz na danou službu I vidí.
  13. + … můžete “testovat” aplikaci kdykoli, kdy je dostupná uživatelům (a traffic tam být nemusí) - … “testujete” pouze to, co vás napadne * … typycky se netestují věci, které generují data (nebo třeba platby) => Aplikace vypadá, že je v pořádku, ale něco zásadnějšího v ní nefunguje.
  14. V případě zájmu => napište mi V případě většího zájmu, rád uspořádám follow-up na (nejen) tato témata
  15. V případě zájmu => napište mi V případě většího zájmu, rád uspořádám follow-up na (nejen) tato témata