SlideShare a Scribd company logo
1 of 63
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
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
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
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
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
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
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
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
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
APM: What…



Application                             Monitoraggio

  Performance                       Interventi   Analisi




Management


www.javaportal.it | www.k-tech.it   corsi@k-tech.it        10
…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
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
…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
…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
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
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
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
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
…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
…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
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
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
...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
…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
…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
…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
…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
…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
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
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
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
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
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
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
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
…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
…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
…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
…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
…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
…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
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
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
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
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
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
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
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
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
…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
…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
…Troubleshooting…
• Sudden problems
  – Problemi improvvisi
  – Non sono annunciati
  – Comportamento binario, non lineare




www.javaportal.it | www.k-tech.it   corsi@k-tech.it   52
…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
…Troubleshooting
• Periodic problems
   – Avvengono periodicamente
   – Il sistema riprende a funzionare automaticamente




 www.javaportal.it | www.k-tech.it   corsi@k-tech.it   54
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
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
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
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
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
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
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
Domande




www.javaportal.it | www.k-tech.it   corsi@k-tech.it   62
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

More Related Content

Viewers also liked

Matematica5srievol1 101015094523-phpapp02
Matematica5srievol1 101015094523-phpapp02Matematica5srievol1 101015094523-phpapp02
Matematica5srievol1 101015094523-phpapp02rosemereporto
 
Tangència al Barri Gòtic (1965)
Tangència al Barri Gòtic (1965)Tangència al Barri Gòtic (1965)
Tangència al Barri Gòtic (1965)ramon martinez
 
التدوين و تشكيل الرأي العام
التدوين و تشكيل الرأي العامالتدوين و تشكيل الرأي العام
التدوين و تشكيل الرأي العامSaudi Bar Camp
 
Διαφήμιση στο elamazi.gr
Διαφήμιση στο elamazi.grΔιαφήμιση στο elamazi.gr
Διαφήμιση στο elamazi.grg.dioletis
 
可愛的水果家庭
可愛的水果家庭可愛的水果家庭
可愛的水果家庭arni wu
 
O Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A Lrf
O Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A LrfO Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A Lrf
O Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A Lrfmarcosurl
 
Esporte é vida (1)
Esporte é vida (1)Esporte é vida (1)
Esporte é vida (1)zetti67
 
προσπελάσιμο περιβάλλον στις τράπεζες
προσπελάσιμο περιβάλλον στις τράπεζεςπροσπελάσιμο περιβάλλον στις τράπεζες
προσπελάσιμο περιβάλλον στις τράπεζεςguest360e034
 
红旗 杂志 64年Zeng1-2
红旗 杂志 64年Zeng1-2红旗 杂志 64年Zeng1-2
红旗 杂志 64年Zeng1-2S1ide Sh4re
 
Slideshare luis jose
Slideshare luis joseSlideshare luis jose
Slideshare luis joseluis0114
 
幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ
幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ
幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージTakashi Iba
 
하프라이프가 재미있는 이유
하프라이프가 재미있는 이유하프라이프가 재미있는 이유
하프라이프가 재미있는 이유Hongmin Yoon
 
红旗 杂志 62年1to7
红旗 杂志 62年1to7红旗 杂志 62年1to7
红旗 杂志 62年1to7S1ide Sh4re
 
Portfolio Laura Pasos
Portfolio Laura PasosPortfolio Laura Pasos
Portfolio Laura Pasoslaurapasos
 

Viewers also liked (20)

Matematica5srievol1 101015094523-phpapp02
Matematica5srievol1 101015094523-phpapp02Matematica5srievol1 101015094523-phpapp02
Matematica5srievol1 101015094523-phpapp02
 
Hq2
Hq2Hq2
Hq2
 
Tangència al Barri Gòtic (1965)
Tangència al Barri Gòtic (1965)Tangència al Barri Gòtic (1965)
Tangència al Barri Gòtic (1965)
 
Kubika Rev 2
Kubika Rev 2Kubika Rev 2
Kubika Rev 2
 
التدوين و تشكيل الرأي العام
التدوين و تشكيل الرأي العامالتدوين و تشكيل الرأي العام
التدوين و تشكيل الرأي العام
 
Διαφήμιση στο elamazi.gr
Διαφήμιση στο elamazi.grΔιαφήμιση στο elamazi.gr
Διαφήμιση στο elamazi.gr
 
可愛的水果家庭
可愛的水果家庭可愛的水果家庭
可愛的水果家庭
 
O Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A Lrf
O Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A LrfO Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A Lrf
O Processo De Ordenamento Fiscal No Brasil Na Decada De 90 E A Lrf
 
Hector millano
Hector millanoHector millano
Hector millano
 
Esporte é vida (1)
Esporte é vida (1)Esporte é vida (1)
Esporte é vida (1)
 
προσπελάσιμο περιβάλλον στις τράπεζες
προσπελάσιμο περιβάλλον στις τράπεζεςπροσπελάσιμο περιβάλλον στις τράπεζες
προσπελάσιμο περιβάλλον στις τράπεζες
 
红旗 杂志 64年Zeng1-2
红旗 杂志 64年Zeng1-2红旗 杂志 64年Zeng1-2
红旗 杂志 64年Zeng1-2
 
Test
TestTest
Test
 
Slideshare luis jose
Slideshare luis joseSlideshare luis jose
Slideshare luis jose
 
幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ
幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ
幸せに楽しく働くエッセンス:いきいきとした人生/コミュニティを 実現するパターン・ランゲージ
 
하프라이프가 재미있는 이유
하프라이프가 재미있는 이유하프라이프가 재미있는 이유
하프라이프가 재미있는 이유
 
红旗 杂志 62年1to7
红旗 杂志 62年1to7红旗 杂志 62年1to7
红旗 杂志 62年1to7
 
Portfolio Laura Pasos
Portfolio Laura PasosPortfolio Laura Pasos
Portfolio Laura Pasos
 
Práctica 2
Práctica 2Práctica 2
Práctica 2
 
悬空寺◆
悬空寺◆悬空寺◆
悬空寺◆
 

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

Troubleshooting a server side JVM: fast problem determination
Troubleshooting a server side JVM: fast problem determinationTroubleshooting a server side JVM: fast problem determination
Troubleshooting a server side JVM: fast problem determinationK-Tech Formazione
 
APM in pillole
APM in pilloleAPM in pillole
APM in pilloleCodemotion
 
Agile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPEAgile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPEK-Tech Formazione
 
Lucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APMLucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APMAlessandro Salvatico
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Meet Magento Italy
 
Presentazione Web Site
Presentazione Web SitePresentazione Web Site
Presentazione Web SiteWeb Site srl
 
Internet, mobile, cloud e social media consoft
Internet, mobile, cloud e social media consoftInternet, mobile, cloud e social media consoft
Internet, mobile, cloud e social media consoftCA Technologies Italia
 
13.11.2007 C.A.T.A. System I World
13.11.2007 C.A.T.A. System I World 13.11.2007 C.A.T.A. System I World
13.11.2007 C.A.T.A. System I World C.A.T.A. INFORMATICA
 
Test e scrum un caso reale v3.2
Test e scrum   un caso reale v3.2Test e scrum   un caso reale v3.2
Test e scrum un caso reale v3.2Ivan Fioravanti
 
Curriculum Vitae Fabio Vitaterna
Curriculum Vitae Fabio VitaternaCurriculum Vitae Fabio Vitaterna
Curriculum Vitae Fabio VitaternaFabio Vitaterna
 
iVision Software 2.3
iVision Software 2.3iVision Software 2.3
iVision Software 2.3ivisionweb
 
SAL 2018 - Web Performance
SAL 2018 - Web PerformanceSAL 2018 - Web Performance
SAL 2018 - Web PerformanceMauro Sanfilippo
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliStefano Leli
 
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Emerasoft, solutions to collaborate
 
Le nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativoLe nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativoMaticmind
 

Similar to APM: WWWWW (What, Why, Where, Who, When) (20)

Troubleshooting a server side JVM: fast problem determination
Troubleshooting a server side JVM: fast problem determinationTroubleshooting a server side JVM: fast problem determination
Troubleshooting a server side JVM: fast problem determination
 
APM in pillole
APM in pilloleAPM in pillole
APM in pillole
 
Neoload: Performance & Load Test per Applicazioni Web & Mobile
Neoload: Performance & Load Test per Applicazioni Web & MobileNeoload: Performance & Load Test per Applicazioni Web & Mobile
Neoload: Performance & Load Test per Applicazioni Web & Mobile
 
Agile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPEAgile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPE
 
Lucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APMLucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APM
 
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
Marco Zani: Come dimensionare Magento per raggiungere i Key Performance Indic...
 
Presentazione Web Site
Presentazione Web SitePresentazione Web Site
Presentazione Web Site
 
Internet, mobile, cloud e social media consoft
Internet, mobile, cloud e social media consoftInternet, mobile, cloud e social media consoft
Internet, mobile, cloud e social media consoft
 
13.11.2007 C.A.T.A. System I World
13.11.2007 C.A.T.A. System I World 13.11.2007 C.A.T.A. System I World
13.11.2007 C.A.T.A. System I World
 
Presentazionefinale
PresentazionefinalePresentazionefinale
Presentazionefinale
 
UserPie
UserPieUserPie
UserPie
 
Test e scrum un caso reale v3.2
Test e scrum   un caso reale v3.2Test e scrum   un caso reale v3.2
Test e scrum un caso reale v3.2
 
Curriculum Vitae Fabio Vitaterna
Curriculum Vitae Fabio VitaternaCurriculum Vitae Fabio Vitaterna
Curriculum Vitae Fabio Vitaterna
 
iVision Software 2.3
iVision Software 2.3iVision Software 2.3
iVision Software 2.3
 
Innovazione
InnovazioneInnovazione
Innovazione
 
SAL 2018 - Web Performance
SAL 2018 - Web PerformanceSAL 2018 - Web Performance
SAL 2018 - Web Performance
 
Business case nokia
Business case nokiaBusiness case nokia
Business case nokia
 
Intoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie AgiliIntoduzione Alle Metodologie Agili
Intoduzione Alle Metodologie Agili
 
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
Webinar: “Testing automatico: la scelta vincente per ottenere una riduzione d...
 
Le nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativoLe nuove competenze di Maticmind in ambito applicativo
Le nuove competenze di Maticmind in ambito applicativo
 

More from K-Tech Formazione

Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiTecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiK-Tech Formazione
 
Fai la cosa giusta da subito: Troubleshooting Server Side JVM
Fai la cosa giusta da subito: Troubleshooting  Server Side JVMFai la cosa giusta da subito: Troubleshooting  Server Side JVM
Fai la cosa giusta da subito: Troubleshooting Server Side JVMK-Tech Formazione
 
Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)K-Tech Formazione
 
Prevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzionePrevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzioneK-Tech Formazione
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java BaseK-Tech Formazione
 
Corso Object Oriented Analysis and Design
Corso Object Oriented Analysis and DesignCorso Object Oriented Analysis and Design
Corso Object Oriented Analysis and DesignK-Tech Formazione
 

More from K-Tech Formazione (7)

Tecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi DistribuitiTecniche Di Troubleshooting Nei Sistemi Distribuiti
Tecniche Di Troubleshooting Nei Sistemi Distribuiti
 
Fai la cosa giusta da subito: Troubleshooting Server Side JVM
Fai la cosa giusta da subito: Troubleshooting  Server Side JVMFai la cosa giusta da subito: Troubleshooting  Server Side JVM
Fai la cosa giusta da subito: Troubleshooting Server Side JVM
 
Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)Corso Unified Modeling Language (UML)
Corso Unified Modeling Language (UML)
 
Prevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzionePrevedere il comportamento delle applicazioni Web in produzione
Prevedere il comportamento delle applicazioni Web in produzione
 
Corso Programmazione Java Base
Corso Programmazione Java BaseCorso Programmazione Java Base
Corso Programmazione Java Base
 
Corso GOF Design Pattern
Corso GOF Design PatternCorso GOF Design Pattern
Corso GOF Design Pattern
 
Corso Object Oriented Analysis and Design
Corso Object Oriented Analysis and DesignCorso Object Oriented Analysis and Design
Corso Object Oriented Analysis and Design
 

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

  • 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. 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. 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. 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. 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. 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. 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. 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. 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. APM: What… Application Monitoraggio Performance Interventi Analisi Management www.javaportal.it | www.k-tech.it corsi@k-tech.it 10
  • 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. 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. …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. …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. 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. 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. 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. 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. …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. …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. 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. 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. ...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. …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. …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. …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. …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. …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. 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. 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. 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. 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. 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. 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. 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. …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. …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. …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. …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. …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. …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. 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. 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. 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. 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. 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. 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. 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. 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. …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. …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. …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. …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. …Troubleshooting • Periodic problems – Avvengono periodicamente – Il sistema riprende a funzionare automaticamente www.javaportal.it | www.k-tech.it corsi@k-tech.it 54
  • 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. 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. 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. 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. 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. 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. 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
  • 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