APM: WWWWW (What, Why, Where, Who, When)

2,058 views

Published on

Questo seminario su APM (Application Performance Management) è il primo che K-Tech (http://www.k-tech.it/) ha tenuto alla Facoltà di Ingegneria dell’Università Roma TRE, nell’ambito delle attività della Consulta.

Lo scopo è presentare la disciplina dell'APM nei suoi punti principali rispondendo alle 5 'W'.Cosa: in cosa consiste. Perché: la giustificazione delle attività e a cosa serve. Dove: ambienti e scenari. Chi: gli attori e le professionalità coinvolte. Quando: posizione delle azioni nel ciclo di vita del software.

Per conoscere le iniziative di K-Tech seguiteci sul nostro sito: http://www.k-tech.it/

Published in: Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,058
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

APM: WWWWW (What, Why, Where, Who, When)

  1. 1. APM: W W W W W La gestione delle performance delle applicazioni distribuite Consulta il nostro catalogo formazione www.javaportal.it | www.k-tech.it corsi@k-tech.it 1
  2. 2. Mi presento • Giuseppe Galli • Breve CV – Partner in K-Tech, CTO – Esperto in APM da 4 anni – Lavoro su soluzioni Java nel dominio enterprise dal 1998 • In K-Tech da 6 anni g.galli@k-tech.it www.javaportal.it | www.k-tech.it corsi@k-tech.it 2
  3. 3. Agenda • Presentazione docente – azienda - seminario • APM: le 5 ‘W’ • Scenario di esempio • Tecniche: monitoraggio e troubleshooting • Esempi • Best Practices & AntiPatterns • Strumenti • Conclusioni e Domande www.javaportal.it | www.k-tech.it corsi@k-tech.it 3
  4. 4. Dove il nostro K-Tech s.r.l. know-how ci ha portato Siamo una società che opera a 360° sulla tecnologia Java in ambito Enterprise. Con forti competenze in: • Application Performance Management • Software Performance Engineering • Configuration Management • Project Management • System Administration • OOAD • Formazione • Oracle – IBM – CA|Wily - .. • Open Source Servizi in EMEA: MCS, CRC, Business Continuity 24X7 – on site < 24h from call Certificati ISO 9001 in “Progettazione ed erogazione di corsi di formazione” www.javaportal.it | www.k-tech.it corsi@k-tech.it 4
  5. 5. La formazione in Azienda • Formazione continua interna ed esterna – Abilitante per il Business del cliente • Portali tecnici su Java e Oracle – Distribuzione della conoscenza – Approccio risoluzione problemi www.javaportal.it | www.k-tech.it corsi@k-tech.it 5
  6. 6. I seminari a Roma3 • Il ciclo di seminari K-Tech a Roma3 su APM – Il 12 marzo 2009 • APM: WWWWW (What, Why, Where, Who, When) – Una notte in ufficio: ore 08:00 a.m. risolto! – APM: Metodologia e strumenti – Performance (anti)patterns in enterprise architectures – Troubleshooting methodologies in distributed systems – Agile APM, an heretic's approach to SPE www.javaportal.it | www.k-tech.it corsi@k-tech.it 6
  7. 7. Obiettivi del seminario Presentare la disciplina dell'Application Performance Management nei suoi punti principali rispondendo alle 5 W: What, Why, Where, Who, When www.javaportal.it | www.k-tech.it corsi@k-tech.it 7
  8. 8. Raccomandazioni • Il seminario è a beneficio di tutti • Ponete le domande secondo le modalità determinate con il docente • Ascoltate le risposte a domande non poste da voi: potrebbero dipanare dubbi ai vostri colleghi se non a voi stessi! • Gli interessati a specifici approfondimenti possono contattarmi via email g.galli@k-tech.it www.javaportal.it | www.k-tech.it corsi@k-tech.it 8
  9. 9. APM - le 5 ‘W’ • La gestione delle performance delle applicazioni distribuite • APM – What: in cosa consiste – Why: giustificazione delle attività, a cosa serve – Where: dove usarlo, ambienti e scenari – Who: chi è coinvolto, attori e professionalità – When: quando usarlo nel ciclo di vita del software www.javaportal.it | www.k-tech.it corsi@k-tech.it 9
  10. 10. APM: What… Application Monitoraggio Performance Interventi Analisi Management www.javaportal.it | www.k-tech.it corsi@k-tech.it 10
  11. 11. …APM: What • Performance dell’applicazione: – l’indice qualitativo della capacità del software di eseguire i compiti per cui è stato progettato – Velocità, Affidabilità, Uso dell’hardware etc • Caratteristiche non funzionali del software – Hanno impatto sulla fruibilità delle funzioni www.javaportal.it | www.k-tech.it corsi@k-tech.it 11
  12. 12. APM: Why… • Si adotta perché conviene al busine$$: – Riduzione delle perdite dirette e indirette – Riduzione dei costi diretti e indiretti – Abilitazione del business – Visibilità e Credibilità verso gli utenti • ITIL (Information Technology Infrastructure Library) – Raggiungimento degli obiettivi di qualità – Best practices Developed by CCTA - UK Government www.javaportal.it | www.k-tech.it corsi@k-tech.it 12
  13. 13. …APM: Why… • Complementare al monitoraggio dei sistemi che fallisce nel monitorare l’applicazione nei sistemi distribuiti • System thinking www.javaportal.it | www.k-tech.it corsi@k-tech.it 13
  14. 14. …APM Why Non Disponibile o Lento • Come pensare al sistema: Disponibile, Operativo 00:00 02:00 04:00 06:00 08:00 10:00 12:00 14:00 16:00 18:00 20:00 22:00 % disponibilità rispetto SLA Portale 99% J2EE Server 99% AAA Server 99.9% Database 99.9% LDAP 99.9% Network 99.999% Funzione di Login Disponibilità: <70% Login “pings” Percepito come disponibile al 90 % www.javaportal.it | www.k-tech.it corsi@k-tech.it 14
  15. 15. APM: Where Mappa Gestibilità/Criticità 2 1 • Ambienti: frequenti cambiamenti complessi – Production – Q/A – Test Gestibilità • Scenari – Mappa 4 3 Gestibilità/Criticità – “Fix it later” vs SPE rari cambiamenti semplici Non essenziale Criticità Essenziale (importanza per la missione aziendale) www.javaportal.it | www.k-tech.it corsi@k-tech.it 15
  16. 16. APM: Who • APM specialisti (triaging, isolation) • Coinvolge tutti in azienda, a 360°: – Manager – Esperti e Responsabili del Business – Tecnici ‘SME’ (DEV, DBA, SA, QA ..) – Operatori Help Desk • Necessita condivisione tra i diversi gruppi di: – Strumenti – Linguaggio – Procedure www.javaportal.it | www.k-tech.it corsi@k-tech.it 16
  17. 17. APM: When • Produzione – Monitoraggio degli SLA – Risoluzione situazioni problematiche • Pre-Produzione/Test – Emulazione della produzione – Stress test di carico Analisi Sviluppo Integrazione Q/A PP Produzione www.javaportal.it | www.k-tech.it corsi@k-tech.it 17
  18. 18. Esempio… • Portale on line compagnia aerea nazionale • Caratteristiche funzionali – Ricerche voli (tratte, costi, orari) – Disponibilità posti – Acquisto biglietti – Help Desk – Programma fidelizzazione cliente – Integrazione con i partner di una ‘Alliance’ – 24/7 www.javaportal.it | www.k-tech.it corsi@k-tech.it 18
  19. 19. …Esempio… • Caratteristiche tecniche – Ambiente distribuito – Tecnologia • J2EE per il FE • Legacy per il BE www.javaportal.it | www.k-tech.it corsi@k-tech.it 19
  20. 20. …Esempio • What – Monitoraggio, controllo degli SLA, troubleshooting • Why – Evitare problemi, 24X7, disponibile 99,998% (target) • Where – Zona 1: critico e con frequenti cambi • Who – 2 manager, 3 sviluppatori, 4 sistemisti, 2 DBA, 400 Help Desk, milioni di utenti • When – problemi in produzione (blocchi) www.javaportal.it | www.k-tech.it corsi@k-tech.it 20
  21. 21. Tecniche • L’APM in pratica si declina su due filoni distinti e con esigenze parzialmente opposte – Monitoring • Controllo real time delle applicazioni in produzione – Incident management • Gestione degli eventi e delle attività nel caso di situazioni problematiche www.javaportal.it | www.k-tech.it corsi@k-tech.it 21
  22. 22. Monitoring… • In Produzione – Transazioni utenti reali – Visibilità massima, impatto minimo • Le metriche – Generiche e specifiche – KPI e EI – Visualizzare i valori (status e allarmi) – Storico (valori di riferimento e andamenti) • Qualità della misura – Campionamento, emissione www.javaportal.it | www.k-tech.it corsi@k-tech.it 22
  23. 23. ...Monitoring.. • Il server JEE JVM come ‘Hub’, Applicazione Java Enterprise Richiesta Servlet centrale al Session HTTP BE AS EJB Connector LDAP Connector sistema JSP Entity EJB JDBC LDAP Risposta Threads EJB JDBC Pools Pools Pools Application Server • Connette gli utenti Memoria I/O Database ai dati tramite l’applicazione www.javaportal.it | www.k-tech.it corsi@k-tech.it 23
  24. 24. …Monitoring… • Le metriche di base: –Response time Velocità –Concurrent requests Carico –Responses per interval Throughput –Errors per interval Disponibilità • Altri concetti utili: –Scalability –Capacity –Saturation –Bottleneck www.javaportal.it | www.k-tech.it corsi@k-tech.it 24
  25. 25. …Monitoring… • Response time – Parametro critico – Intervallo di tempo necessario per il componente sotto misura ad eseguire la richiesta – Può essere composto da: • Tempo di esecuzione (execution) • Tempo di attraversamento (transfer) • Tempo di attesa (wait) Queue Queue Web Server App Server DB Server www.javaportal.it | www.k-tech.it corsi@k-tech.it 25
  26. 26. …Monitoring… • Load – Esprime la pressione verso il componente sotto misura – Espresso in numero di richieste per intervallo d tempo www.javaportal.it | www.k-tech.it corsi@k-tech.it 26
  27. 27. …Monitoring… • Throughput – Numero di risposte per intervallo di tempo – Diverso dal carico (‘load’) – Punto di Saturazione www.javaportal.it | www.k-tech.it corsi@k-tech.it 27
  28. 28. …Monitoring • Disponibilità: – Errori applicativi HTTP status code > 400 – Timeout – Redirect HTTP status code > 300 www.javaportal.it | www.k-tech.it corsi@k-tech.it 28
  29. 29. Esercizio: Setup Monitoring • Cosa monitorare? a)Il firewall b)I web server c)Gli AS d)La rete e)I processi f) Le Query SQL g)Le richieste al Mainframe h)Tutto www.javaportal.it | www.k-tech.it corsi@k-tech.it 29
  30. 30. Esercizio: Metric Monitoring N secs. N secs. X Time (N sec) 1 2 Count=3 Count=? Avg Resp Time (mSec) 3 Min=2 4 Min=2 Max=4 Max=5 Count=8 Count=? Concurrent requests 3 Min=1 ? Min=? Max=5 Max=? Responses per interval 3 ? Errors 0 ? www.javaportal.it | www.k-tech.it corsi@k-tech.it 30
  31. 31. Esercizio: Metric Monitoring N secs. N secs. X Time (N sec) 1 2 Count=3 Count=5 Avg Resp Time (mSec) 3 Min=2 4 Min=2 Max=4 Max=5 Count=8 Count=? Concurrent requests 3 Min=1 ? Min=? Max=5 Max=? Responses per interval 3 ? Errors 0 ? www.javaportal.it | www.k-tech.it corsi@k-tech.it 31
  32. 32. Esercizio: Metric Monitoring N secs. N secs. X Time (N sec) 1 2 Count=3 Count=5 Avg Resp Time (mSec) 3 Min=2 4 Min=2 Max=4 Max=5 Count=8 Count=9 Concurrent requests 3 Min=1 2 Min=2 Max=5 Max=4 Responses per interval 3 ? Errors 0 ? www.javaportal.it | www.k-tech.it corsi@k-tech.it 32
  33. 33. Esercizio: Metric Monitoring N secs. N secs. X Time (N sec) 1 2 Count=3 Count=5 Avg Resp Time (mSec) 3 Min=2 4 Min=2 Max=4 Max=5 Count=8 Count=9 Concurrent requests 3 Min=1 2 Min=2 Max=5 Max=4 Responses per interval 3 5 Errors 0 1 www.javaportal.it | www.k-tech.it corsi@k-tech.it 33
  34. 34. Incident Management • Incident – Avviene in produzione(!#?!) • Impatta il livello di servizio e la user experience – Fondamentale la rapidità di reazione • Metriche di tempi di ripristino e di soluzione (ITIL) – La sua gestione è centrale tra l’IT e i clienti • Tecniche e processi per minimizzarne gli effetti • Il troubleshooting – Nel metodo è un’azione a carico dell’IT www.javaportal.it | www.k-tech.it corsi@k-tech.it 34
  35. 35. Troubleshooting… • Il metodo – indica cosa fare, quando e da chi • 5 passi (4+1) – Detect & Verify – Triage – Root Cause Identification & ‘Drill down’ – Develop a theory & Document – Solve www.javaportal.it | www.k-tech.it corsi@k-tech.it 35
  36. 36. …Troubleshooting… 1. Detect & Verify 2. Triage 3. Root Cause Identification I fase: 4. Develop a theory & Document 5. Solve – Individuare il problema – Verificarlo – Individuato tramite l’Help Desk – Avviso automatico – Lamentele utenti www.javaportal.it | www.k-tech.it corsi@k-tech.it 36
  37. 37. …Troubleshooting… 1. Detect & Verify 2. Triage 3. Root Cause Identification II fase: 4. Develop a theory & Document 5. Solve – Riconoscere le priorità – Selezionare tra i diversi avvisi – Filtrare i segnali/dati – Assegnare i(l) task agli esperti (SME) www.javaportal.it | www.k-tech.it corsi@k-tech.it 37
  38. 38. …Troubleshooting… 1. Detect & Verify 2. Triage 3. Root Cause Identification 4. Develop a theory & Document • III fase: 5. Solve – Separare gli effetti dalle cause – Drill down a livello di componente, o metodo – NB: Monitoraggio • Non intervenire qui per risolvere! Interventi Analisi www.javaportal.it | www.k-tech.it corsi@k-tech.it 38
  39. 39. …Troubleshooting… 1. Detect & Verify 2. Triage 3. Root Cause Identification 4. Develop a theory & Document • IV fase: 5. Solve – Sviluppare un modello • Semplice • Causa ed effetto • Comprensibile anche dai manager non tecnici – Utilizzando i dati • Il modello non deve contraddirsi • Presentare confronto con valori normali www.javaportal.it | www.k-tech.it corsi@k-tech.it 39
  40. 40. …Troubleshooting… 1. Detect & Verify 2. Triage 3. Root Cause Identification 4. Develop a theory & Document • V fase: 5. Solve – La risoluzione del problema originario • E’ a carico di un gruppo specifico dell’IT • Non fa parte dei compiti dello specialista APM • Può far venire fuori altri problemi sommersi Monitoraggio – E dopo? Interventi Analisi www.javaportal.it | www.k-tech.it corsi@k-tech.it 40
  41. 41. …Troubleshooting 1. Detect & Verify 2. Triage 3. Root Cause Identification 4. Develop a theory & Document • V fase: 5. Solve – La risoluzione del problema originario • E’ a carico di un gruppo specifico dell’IT • Non fa parte dei compiti dello specialista APM • Può far venire fuori altri problemi sommersi Monitoraggio – E dopo? Interventi Analisi www.javaportal.it | www.k-tech.it corsi@k-tech.it 41
  42. 42. Esempi (di fantasia ma non troppo..) • No APM 1. Il servizio è lento e qualcuno si lamenta (100%) 2. Telefonata dall’Help Desk: “no connessione” (?) 3. Telefonata dall’Help Desk: “no login” (?) 4. Una macchina dello storage senza alimentazione (?) • APM 1. Alcune funzioni non vanno (25% transazioni) 2. Segnalazione su allocazione Memoria JVM www.javaportal.it | www.k-tech.it corsi@k-tech.it 42
  43. 43. Esempio 1 • Il servizio è giù – 100% delle transazioni Che fare? – Nessuno si lamenta •Tecnico a)Controllare i log dei server •Utente •Dipendente b)Restart dei server •Responsabile Business c) Connettersi al sito con il browser • Manager d)Meditare / Pregare / Sperare e)Nulla, i server sono su f) Prendi la macchina e vai in agenzia viaggi www.javaportal.it | www.k-tech.it corsi@k-tech.it 43
  44. 44. Esempio 2 • Il servizio è lento – 100% delle transazioni Che fare? – Qualcuno si lamenta •Tecnico •Utente a)Controllare i log dei server •Dipendente b)Restart degli application server JEE •Responsabile Business c) Connettersi al sito con il browser •Manager d)Meditare / Pregare / Sperare e)Nulla, si aspetta che il batch sul DB finisca f) Disdici l’abbonamento e cambi fornitore www.javaportal.it | www.k-tech.it corsi@k-tech.it 44
  45. 45. Esempio 3 • l’Help Desk: “no connessione” – impatto %? – chi si lamenta? Che fare? •Tecnico a)Controllare i log dei server •Utente b)Restart degli application server JEE •Dipendente •Responsabile Business c) Connettersi al sito con il browser •Manager d)Meditare / Pregare / Sperare e)Nulla, giustificando: “è colpa della rete” www.javaportal.it | www.k-tech.it corsi@k-tech.it 45
  46. 46. Esempio 4 • l’Help Desk: “no login” – Impatto %? Che fare? •Tecnico a)Controllare i log dei server LDAP •Utente b)Restart degli application server JEE •Dipendente c) Connettersi al sito con il browser •Responsabile Business d)Meditare / Pregare / Sperare •Manager e)Nulla, giustificando: “è colpa della rete” www.javaportal.it | www.k-tech.it corsi@k-tech.it 46
  47. 47. Esempio 5 – con APM • Alcune funzioni non vanno –Impatto: 25% transazioni –Funzioni •Tecnico •Lista dei viaggi effettuati •Utente •Calcolo dei punti sulla fidelity card •Dipendente •Responsabile Business •Manager • Detect & Verify • Triage • Root Cause Identification & ‘Drill down’ • Develop a theory & Document www.javaportal.it | www.k-tech.it corsi@k-tech.it 47
  48. 48. Esempio 6 – con APM • Segnalazione su allocazione Memoria JVM –Impatto: potenzialmente il 25% transazioni –Azione: …?... •Tecnico JVM HEAP (KB) •Utente •Dipendente •Responsabile Business •Manager •Server1 •Server2 Time (ms) •Server3 •server4 www.javaportal.it | www.k-tech.it corsi@k-tech.it 48
  49. 49. Troubleshooting… • Classificazione dei problemi – Consistent problems – Progressive problems – Sudden problems – Sporadic errors – Periodic problems www.javaportal.it | www.k-tech.it corsi@k-tech.it 49
  50. 50. …Troubleshooting… • Consistent problems – Sono sempre presenti – Indipendenti dal traffico utente e dall’ hardware – Non si risolvono con un restart www.javaportal.it | www.k-tech.it corsi@k-tech.it 50
  51. 51. …Troubleshooting… • Progressive problems – Criticità aumenta nel tempo – Impossibile ripristinare la situazione iniziale – Il server deve essere riavviato www.javaportal.it | www.k-tech.it corsi@k-tech.it 51
  52. 52. …Troubleshooting… • Sudden problems – Problemi improvvisi – Non sono annunciati – Comportamento binario, non lineare www.javaportal.it | www.k-tech.it corsi@k-tech.it 52
  53. 53. …Troubleshooting… • Sporadic errors – Si presentano irregolarmente – Riguardano specifici utenti o funzioni – Non risultano dalle misure medie www.javaportal.it | www.k-tech.it corsi@k-tech.it 53
  54. 54. …Troubleshooting • Periodic problems – Avvengono periodicamente – Il sistema riprende a funzionare automaticamente www.javaportal.it | www.k-tech.it corsi@k-tech.it 54
  55. 55. Best practices • Dimensionare lo sforzo sulla base della criticità dell’applicazione • Condividere un glossario • Coinvolgere il management • Monitoring… • Troubleshooting… www.javaportal.it | www.k-tech.it corsi@k-tech.it 55
  56. 56. Monitoring B.P. • Prefissare la % di risorse da dedicare al monitoraggio • Misurare tutto e sempre • Definire gli indicatori ASAP (KPI, EI, QPI ) • Definire la baseline ASAP • Osservare i valori EI rispetto alle soglie • Registrare gli andamenti (trends), non solo i valori assoluti www.javaportal.it | www.k-tech.it corsi@k-tech.it 56
  57. 57. Troubleshooting B.P. • Distinguere tra gli effetti e le cause • Basare le affermazioni sulle evidenze numeriche • Utilizzare il modello più semplice possibile • Evidenziare le criticità principali (MUI) • Mostrare come opzionali (preferred) le criticità minori • Verificare sempre le differenze dopo le modifiche www.javaportal.it | www.k-tech.it corsi@k-tech.it 57
  58. 58. Anti Patterns • Seguire ‘le voci’ – I problemi vanno prima identificati e verificati • Intervenire subito dopo l’individuazione – mai farlo senza analisi • Aspettare un ticket aperto dagli utenti per intervenire – Agire invece di reagire • Pensare di risolvere riavviando il server www.javaportal.it | www.k-tech.it corsi@k-tech.it 58
  59. 59. Strumenti • JVM – Log, JMX • API – Aspectj, JAMon • Open source – NAGIOS, JRat • Monitoring + Troubleshooting – CA Introscope ™, IBM ITCAM ™, Quest Foglight ™ • Troubleshooting + Monitoring – Dynatrace™, JXInsight ™, YourKit ™ www.javaportal.it | www.k-tech.it corsi@k-tech.it 59
  60. 60. Conclusioni • L’ambito lavorativo dell’APM – È abilitante per i sistemi – Affrontare situazioni problematiche per far tornare le persone a sorridere – Necessita delle 3 ‘P’ Prodotti - Procedure – Persone www.javaportal.it | www.k-tech.it corsi@k-tech.it 60
  61. 61. Riferimenti • APM on wikipedia – http://en.wikipedia.org/wiki/Application_Performance_Management • ITIL on wikipedia (italiano) – http://it.wikipedia.org/wiki/ITIL • Systems thinking – http://www.systems-thinking.org • CA|Wily educational services – http://www.ca.com/us/education/content.aspx?cid=176408 • Java Italian Portal – http://www.javaportal.it/ • CAPAF – http://www.capaf.ch/ www.javaportal.it | www.k-tech.it corsi@k-tech.it 61
  62. 62. Domande www.javaportal.it | www.k-tech.it corsi@k-tech.it 62
  63. 63. Ringraziamenti • Grazie alla Facoltà di Ingegneria dell’Università Roma TRE • Mara Marzocchi • K-Tech people /.*/@k-tech.it Ing. Giuseppe Galli K-Tech srl Consulta il nostro catalogo formazione g.galli@k-tech.it www.javaportal.it | www.k-tech.it corsi@k-tech.it 63

×