SlideShare una empresa de Scribd logo
1 de 33
Milano, 23 Ottobre 2009




                          Segnali dal futuro.
           “Conferenza stampa di presentazione della 45esima Esposizione
           Prevedere le Information & Communications Technology”
           Internazionale di prestazioni dei sistemi web
              ed evitare gli abbandoni degli utenti

                                                   Pierantonio Macola
                                              Amministratore Delegato Smau
                                                   Giuseppe Galli
                                                   APM senior specialist
               con il patrocinio di:




                                                                                     1
www.javaportal.it | www.k-tech.it      corsi@k-tech.it
Obiettivo

Presentare il metodo di certificazione delle capacità di un
sistema. Il metodo, ideato da K-Tech, è basato sulle
discipline SPE/APM.


Si certifica la capacità dei sistemi in produzione per
controllare le performance e prevedere il comportamento in
presenza di un carico stimato.
                         stimato


Il metodo può essere applicato sia con l'ausilio di software
commerciale, sia con software open source.
                                                               2
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Relatore

• Ing. Giuseppe Galli
• 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 7 anni g.galli@k-tech.it
• Collabora con Javaportal.it




                                                       3
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Dove il nostro Know How
L'azienda: K-Tech s.r.l.                                        ci ha portato


Siamo una società romana che opera a 360°
sulla tecnologia Java in ambito Enterprise.

Competenze in:
• Application Performance Management
• Software Performance Engineering
• 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”
                                                                               4
www.javaportal.it | www.k-tech.it               corsi@k-tech.it
Target e Motivazioni del Talk


Il target:
• I Manager delle operation
• Gli architetti delle soluzioni software
• I responsabili delle linee di business (LOB Owner)
• Aspiranti Software Performance Engineer

Le motivazioni:
• Condividere la nostra esperienza in un contesto di
  professionisti e accademici.

                                                       5
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Necessità del cliente: performance

• Servizi on-line con alta visibilità (siti istituzionali..)
• Servizi on-line critici per il business ( e-banking, e-
  commerce..)
• Servizi interni (email, LDAP, intranet, …)
• Rispetto SLA / Requisiti non funzionali
   
     tempi di risposta medi (on-line)
   
     'finestre' temporali (batch)
   
     99.9999% di affidabilità
• Costi di manutenzione
• Dimensionamento ottimale
  delle architetture
                                                               6
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Performance: definizione


E' l'insieme dei requisiti (impliciti ed espliciti) non funzionali
   che caratterizzano la qualità del software come
   percepita dall'utente.

La qualità del sistema preposto all'erogazione del servizio che
  indica quanto bene esso assolva lo scopo per cui è stato
  costruito.




                                                                     7
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Processo di certificazione

                            Cliente +
                         Applicazione +
                         Metodo SPE +
                        Strumenti APM +
                           Esperienza

Certificazione:
Garantire la capacità di una applicazione
prevedendo come si comporterà in produzione sotto un certo
  carico stimato.

                                                             8
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
SPE - Software Performance Engineering


Le performance sono curate con la giusta
attenzione durante il ciclo di vita del software,
a partire dalla progettazione della soluzione e del disegno del
   software.

E' un metodo quantitativo che fornisce le basi teoriche e gli
   strumenti conoscitivi per identificare i problemi architetturali
   e di design, e quantificare i costi delle modifiche.




                                                                      9
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
APM – Application Performance Management

Per la gestione delle performance applicative
si utilizzano degli indicatori quali tempi di risposta,
   disponibilità del servizio, capacità del sistema, utilizzo delle
   risorse HW, throughput, carico, etc etc

Con strumenti opportuni si monitora il sistema di produzione
  per anticipare i problemi tramite avvisi e implementare
  processi ITIL® per il service management (ITSM) come
  l'incident Management (IcM).

In Pre-produzione/QA/Test si utilizzano i dati di performance
   per riprodurre i problemi.
                                                                  10
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Processo APM: gli attori coinvolti


                                                      Developer

Help Desk

                                                      DBA




LOB Manager                                           Sysadmin
                                                             11
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Architettura di produzione
                 Web Servers     AS Front-end                   AS Back-end


Load balancer




      Internet         •   Sistema distribuito
                       •   Sistema complesso
                       •   Scalabilità
                       •   Alta Affidabilità
                                                        Database/Storage/EIS

                                                                         12
 www.javaportal.it | www.k-tech.it    corsi@k-tech.it
Monitoraggio: Complex System
                Web Servers     AS Front-end                   AS Back-end


Load balancer




     Internet




                                                       Database/Storage/EIS

                                                                        13
 www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Ambiente di Load Test
                Web Servers     AS Front-end                   AS Back-end


Load balancer




                                                       Database/Storage/EIS

                                                                        14
 www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: ruoli e strumenti

•  Analista: studia i pattern di utilizzo del sistema
    utilizzando strumenti statistici, file di log, etc.
• SPE Engineer: ha la conoscenza di cosa fare
    durante la certificazione
• APM Specialist: conosce il metodo e gli
    strumenti per il monitoraggio
• DBA, System Administrator, Architect: presenti presso
  il cliente

Ogni figura ha il proprio set di strumenti specifico, i dati di
  performance sono condivisi tra i gruppi.

                                                                  15
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: definizione degli obiettivi

Espressi in funzione delle aspettative

Esempi:
   • N° utenti connessi / h
   • Processi eseguiti parallelamente
   • Tempi di risposta (medi/massimi/percentili)
   • Pagine servite / h

   Sono metriche (condivise e concordate) indicative della
    qualità del servizio apprezzata dal cliente.

                                                             16
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: le iterazioni del ciclo
                                       Analisi degli obiettivi




                                                          Configurazione e
    Presentazione
                                                                tuning del
          risultati
                                                             monitoraggio




  Analisi dei dati dei test                   Implementazione/esecuzione
                                                       dei test
                                                                       17
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: analisi del sistema

Cosa?
   • Dati statistici di accesso all'applicazione
   • Traffico di rete
   • Dati provenienti dal monitoraggio dei componenti
     applicativi
Perché?
   • La distribuzione temporale del
     carico sull'applicazione
   • Funzionalità più utilizzate
   • Eventi critici

                                                        18
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: indicatori primari e di dettaglio


    Tempi di risposta

    Invocazioni concorrenti

    Invocazioni per secondo

    Invocazioni andate a buon fine

    Numero di azioni nella stessa transazione

    Risorse in uso

    Latenza di rete




                                                      19
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: i test

Progettazione

  Identificazione degli use case critici

  Creazione dei test case, schedulazioni e script di
  automazione
Esecuzione

  Test successivi con carico crescente

  Monitoraggio e
  registrazione risultati
Validazione

  Stima dell'errore

  Ripetibilità dei test
                                                       20
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Load Test: identificazione KPI

La definizione dei principali indicatori delle performance
   avviene nella fase di load test.
Si emula una situazione di traffico potenzialmente pericolosa
   per il servizio.

•   Throughput dei componenti
•   (Servlet,Web Services,... )
•   Response Time (EJB, SQL,...)
•   Risorse Usate (CPU, Memoria,
•   Banda ...)

                                                                21
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: risultato




                                                      22
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: validazione dei risultati

Gli esiti della certificazione devono essere compatibili con le
    osservazioni registrate in produzione
Il documento finale:

    Certifica i limiti di capacità del sistema

    Descrive dettagliatamente le azioni fatte

    Elenca con le priorità le azioni da effettuare

    Quantifica i miglioramenti possibili

    Giustifica le conclusioni ottenute




                                                                  23
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Certificazione: risultati tipici

Batch

  Identificazione dei colli di bottiglia

  Determinazione del livello di parallelismo minimo

On-line

  Determinazione delle risorse minime necessarie
  (dimensione del cluster, numero di connessione al DB)

  Identificazione dei componenti problematici

  Impatto disattenzione Best Practice


                                                          24
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Generazione mensile della fattura elettronica

Scenario: Contratti da fatturare aumentano di un ordine di grandezza. L'hardware a
   disposizione è stato maggiorato.
Le performance del batch permettono di rispettare la finestra temporale a
   disposizione?

   Stabiliti gli obiettivi di performance (KPI): fatture/ora
Punto di partenza: 16 giorni
Monitorati e individuati i colli di bottiglia:
   Opencursor su mainframe, attività query (No. commit, tempi di esecuzione, No. invocazioni),
   logging, ecc..
Definito il parallelismo minimo necessario.
Tempi: 2 settimane (elapsed)
Risultato finale: 5 ore
Successo: Previsti con precisione i tempi del batch in produzione.


                                                                                                 25
www.javaportal.it | www.k-tech.it                corsi@k-tech.it
National utility web site

Scenario: Picchi di carico massimo ad opera degli utenti, crash all'aumentare delle
   richieste, sistema instabile. L'hardware a disposizione è stato potenziato.
Punto di partenza: 10.218 unique browser/h, 124.000 page views/h

Obiettivo: Architettura che permetta un throughput doppio rispetto al limite attuale.

   Individuata una migliore configurazione per il deployment FE – BE.,
   cambiamento architetturale degli Application Server, aumentata la cache sul FE,
   determinate le modifiche da effettuare sul codice, documentati i moduli 'problematici'
Tempi: 3 settimane (elapsed)
  Punto di arrivo: 7 Gennaio, 18.000 unique browser/h e 207.000 page view/h
  Successo: registrato l'uso 273 Gb di banda giornalieri (record contro i 109
  precedenti)




                                                                                            26
www.javaportal.it | www.k-tech.it                 corsi@k-tech.it
National utility web site

    Throughput: Situazione Iniziale

                             124.000 page views/h                                                                        10.000 unique browser/h
                                             Pagine Visualizzate                                                                                       Utenti

140000                                                                                               12000


120000
                                                                                                     10000

100000
                                                                                                     8000

 80000
                                                                                                     6000
                                                                                          10/12/07                                                                                            10/12/07
 60000

                                                                                                     4000
 40000

                                                                                                     2000
 20000


     0                                                                                                  0
         1   2   3   4   5   6   7   8   9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24                      1   2   3   4   5   6   7   8   9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24




                                                                                                                                                                                                 27
     www.javaportal.it | www.k-tech.it                                                                corsi@k-tech.it
National utility web site

 Throughput: Situazione Finale

                 207.000 page views/h                                                          18.000 unique browser/h
                             Pagine Visualizzate                                                                    Utenti

250000                                                                             18000
                                                                                   16000
200000                                                                             14000
                                                                                   12000
150000
                                                                                   10000
                                                                       07/01/09     8000                                                              07/01/09
100000
                                                                                    6000

 50000                                                                              4000
                                                                                    2000
     0                                                                                 0
         1   3   5   7   9    11    13    15       17   19   21   23                       1   3   5   7   9   11   13       15   17   19   21   23




                                                                                                                                                      28
  www.javaportal.it | www.k-tech.it                                               corsi@k-tech.it
National utility web site

                124.000 => 207.000 page views/h




                10.000 =>18.000 unique browser/h




                                                      29
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
APM: Strumenti

Monitoraggio:                       Load Test:
  • Introscope CA|Wily                 • JMeter
  • Dynatrace                          • Grinder
  • FogLight Quest                     • Load Runner
  • JXInsight JInspired
  • ITCAM & Tivoli IBM
  • OpenView HP
  • Awstats
  • Nagios


                                                       30
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Ringraziamenti

 Un ringraziamento a tutto il personale K-Tech:
                         /.*/@k-tech.it
 Ed in particolare a:
 Mara Marzocchi, Simone Federici e Serafina Rocca




                                                      31
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Riferimenti

http://www.k-tech.it
http://www.javaportal.it
   http://www.perfeng.com/
http://en.wikipedia.org/wiki/Complex_system/
   http://www.systems-thinking.org/
http://www.itil-officialsite.com/ ITIL® By OGC
http://www.ca.com/us/application-management-solution.aspx

   Connie U. Smith (1990), Performance Engineering of
   Software Systems, 1st Edition

   Connie U. Smith & Lloyd G. Williams (2005), Performance
   Solutions: A Practical Guide to Creating Responsive,
   Scalable Software (Addison-Wesley Object Technology Series)

                                                             32
www.javaportal.it | www.k-tech.it   corsi@k-tech.it
Q/A




                                                      33
www.javaportal.it | www.k-tech.it   corsi@k-tech.it

Más contenido relacionado

La actualidad más candente

Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...Emerasoft, solutions to collaborate
 
Maticmind Proactive Monitoring
Maticmind Proactive MonitoringMaticmind Proactive Monitoring
Maticmind Proactive MonitoringMaticmind
 
TMap: una metodologia di test business driven
TMap: una metodologia di test business drivenTMap: una metodologia di test business driven
TMap: una metodologia di test business drivenCodemotion
 
Competence center Application Management & Quality Assurance
Competence center Application Management  & Quality AssuranceCompetence center Application Management  & Quality Assurance
Competence center Application Management & Quality AssuranceFausto Servello
 
Business Activity Monitoring with SOA
Business Activity Monitoring with SOABusiness Activity Monitoring with SOA
Business Activity Monitoring with SOAVincenzo_Capozzoli
 
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
 
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...Codemotion
 
CA Infrastructure Management - launch
CA Infrastructure Management - launchCA Infrastructure Management - launch
CA Infrastructure Management - launchLuca Rossetti
 

La actualidad más candente (9)

Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
Webinar: Il “real device testing” di Perfecto Mobile per una strategia mobile...
 
Maticmind Proactive Monitoring
Maticmind Proactive MonitoringMaticmind Proactive Monitoring
Maticmind Proactive Monitoring
 
TMap: una metodologia di test business driven
TMap: una metodologia di test business drivenTMap: una metodologia di test business driven
TMap: una metodologia di test business driven
 
Visaggio fd l13_9_18
Visaggio fd l13_9_18Visaggio fd l13_9_18
Visaggio fd l13_9_18
 
Competence center Application Management & Quality Assurance
Competence center Application Management  & Quality AssuranceCompetence center Application Management  & Quality Assurance
Competence center Application Management & Quality Assurance
 
Business Activity Monitoring with SOA
Business Activity Monitoring with SOABusiness Activity Monitoring with SOA
Business Activity Monitoring with SOA
 
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
 
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
TPi: una metodologia per il miglioramento del processo di test, by Andrea Di ...
 
CA Infrastructure Management - launch
CA Infrastructure Management - launchCA Infrastructure Management - launch
CA Infrastructure Management - launch
 

Destacado

Destacado (6)

Ficha diseño restificada.
Ficha diseño restificada.Ficha diseño restificada.
Ficha diseño restificada.
 
Gimnasio.xls
Gimnasio.xlsGimnasio.xls
Gimnasio.xls
 
Planta De Temporada Oscar
Planta De Temporada OscarPlanta De Temporada Oscar
Planta De Temporada Oscar
 
CATALOGO DAMASCENA
CATALOGO DAMASCENACATALOGO DAMASCENA
CATALOGO DAMASCENA
 
Presentacion inma
Presentacion inmaPresentacion inma
Presentacion inma
 
Divar Mr Series Di Data Sheet Tr Tr
Divar Mr Series Di Data Sheet Tr TrDivar Mr Series Di Data Sheet Tr Tr
Divar Mr Series Di Data Sheet Tr Tr
 

Similar a Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli abbandoni degli utenti

Presentazione Web Site
Presentazione Web SitePresentazione Web Site
Presentazione Web SiteWeb Site srl
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009Simone Federici
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009sera79
 
Executive dinner performancemanagementv6.4.-nr
Executive dinner performancemanagementv6.4.-nrExecutive dinner performancemanagementv6.4.-nr
Executive dinner performancemanagementv6.4.-nrAndrea Corona
 
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Simone Onofri
 
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
 
Dtq4_ita
Dtq4_itaDtq4_ita
Dtq4_itaDTQ4
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsEmerasoft, solutions to collaborate
 
Scenari introduzione Application Service Governance in Azienda
Scenari introduzione Application Service Governance in AziendaScenari introduzione Application Service Governance in Azienda
Scenari introduzione Application Service Governance in AziendaConsulthinkspa
 
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
 
Eliminare gli Spaghetti API
Eliminare gli Spaghetti APIEliminare gli Spaghetti API
Eliminare gli Spaghetti APIGiulio Roggero
 
Alm assessment, a che livello siete?
Alm assessment, a che livello siete?Alm assessment, a che livello siete?
Alm assessment, a che livello siete?dvernole
 
UAT Toolkit: collaudo di sistemi software complessi
UAT Toolkit: collaudo di sistemi software complessiUAT Toolkit: collaudo di sistemi software complessi
UAT Toolkit: collaudo di sistemi software complessiNiccolò Avico
 
05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...
05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...
05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...IBM Italia Web Team
 
Qualità del Software
Qualità del SoftwareQualità del Software
Qualità del SoftwareYeser Rema
 

Similar a Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli abbandoni degli utenti (20)

Presentazione Web Site
Presentazione Web SitePresentazione Web Site
Presentazione Web Site
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009
 
Javaday Performance 2009
Javaday Performance 2009Javaday Performance 2009
Javaday Performance 2009
 
Studio smb srl
Studio smb srl Studio smb srl
Studio smb srl
 
LARUS 10th - Rampado Omar
LARUS 10th - Rampado OmarLARUS 10th - Rampado Omar
LARUS 10th - Rampado Omar
 
Executive dinner performancemanagementv6.4.-nr
Executive dinner performancemanagementv6.4.-nrExecutive dinner performancemanagementv6.4.-nr
Executive dinner performancemanagementv6.4.-nr
 
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...Security Project Management: Esperienze nella gestione di Vulnerability Asses...
Security Project Management: Esperienze nella gestione di Vulnerability Asses...
 
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...
 
Dtq4_ita
Dtq4_itaDtq4_ita
Dtq4_ita
 
Selex Sistemi Integrati - Success Story
Selex Sistemi Integrati - Success StorySelex Sistemi Integrati - Success Story
Selex Sistemi Integrati - Success Story
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio Devops
 
Scenari introduzione Application Service Governance in Azienda
Scenari introduzione Application Service Governance in AziendaScenari introduzione Application Service Governance in Azienda
Scenari introduzione Application Service Governance in Azienda
 
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
 
OpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studioOpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studio
 
Eliminare gli Spaghetti API
Eliminare gli Spaghetti APIEliminare gli Spaghetti API
Eliminare gli Spaghetti API
 
Alm assessment, a che livello siete?
Alm assessment, a che livello siete?Alm assessment, a che livello siete?
Alm assessment, a che livello siete?
 
UAT Toolkit: collaudo di sistemi software complessi
UAT Toolkit: collaudo di sistemi software complessiUAT Toolkit: collaudo di sistemi software complessi
UAT Toolkit: collaudo di sistemi software complessi
 
05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...
05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...
05 sicurezza delle applicazioni per le aziende nel settore della pubblica uti...
 
Qualità del Software
Qualità del SoftwareQualità del Software
Qualità del Software
 

Más de 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
 
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
 

Más de K-Tech Formazione (6)

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)
 
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
 

Segnali dal futuro. Prevedere le prestazioni dei sistemi web ed evitare gli abbandoni degli utenti

  • 1. Milano, 23 Ottobre 2009 Segnali dal futuro. “Conferenza stampa di presentazione della 45esima Esposizione Prevedere le Information & Communications Technology” Internazionale di prestazioni dei sistemi web ed evitare gli abbandoni degli utenti Pierantonio Macola Amministratore Delegato Smau Giuseppe Galli APM senior specialist con il patrocinio di: 1 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 2. Obiettivo Presentare il metodo di certificazione delle capacità di un sistema. Il metodo, ideato da K-Tech, è basato sulle discipline SPE/APM. Si certifica la capacità dei sistemi in produzione per controllare le performance e prevedere il comportamento in presenza di un carico stimato. stimato Il metodo può essere applicato sia con l'ausilio di software commerciale, sia con software open source. 2 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 3. Relatore • Ing. Giuseppe Galli • 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 7 anni g.galli@k-tech.it • Collabora con Javaportal.it 3 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 4. Dove il nostro Know How L'azienda: K-Tech s.r.l. ci ha portato Siamo una società romana che opera a 360° sulla tecnologia Java in ambito Enterprise. Competenze in: • Application Performance Management • Software Performance Engineering • 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” 4 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 5. Target e Motivazioni del Talk Il target: • I Manager delle operation • Gli architetti delle soluzioni software • I responsabili delle linee di business (LOB Owner) • Aspiranti Software Performance Engineer Le motivazioni: • Condividere la nostra esperienza in un contesto di professionisti e accademici. 5 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 6. Necessità del cliente: performance • Servizi on-line con alta visibilità (siti istituzionali..) • Servizi on-line critici per il business ( e-banking, e- commerce..) • Servizi interni (email, LDAP, intranet, …) • Rispetto SLA / Requisiti non funzionali  tempi di risposta medi (on-line)  'finestre' temporali (batch)  99.9999% di affidabilità • Costi di manutenzione • Dimensionamento ottimale delle architetture 6 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 7. Performance: definizione E' l'insieme dei requisiti (impliciti ed espliciti) non funzionali che caratterizzano la qualità del software come percepita dall'utente. La qualità del sistema preposto all'erogazione del servizio che indica quanto bene esso assolva lo scopo per cui è stato costruito. 7 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 8. Processo di certificazione Cliente + Applicazione + Metodo SPE + Strumenti APM + Esperienza Certificazione: Garantire la capacità di una applicazione prevedendo come si comporterà in produzione sotto un certo carico stimato. 8 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 9. SPE - Software Performance Engineering Le performance sono curate con la giusta attenzione durante il ciclo di vita del software, a partire dalla progettazione della soluzione e del disegno del software. E' un metodo quantitativo che fornisce le basi teoriche e gli strumenti conoscitivi per identificare i problemi architetturali e di design, e quantificare i costi delle modifiche. 9 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 10. APM – Application Performance Management Per la gestione delle performance applicative si utilizzano degli indicatori quali tempi di risposta, disponibilità del servizio, capacità del sistema, utilizzo delle risorse HW, throughput, carico, etc etc Con strumenti opportuni si monitora il sistema di produzione per anticipare i problemi tramite avvisi e implementare processi ITIL® per il service management (ITSM) come l'incident Management (IcM). In Pre-produzione/QA/Test si utilizzano i dati di performance per riprodurre i problemi. 10 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 11. Processo APM: gli attori coinvolti Developer Help Desk DBA LOB Manager Sysadmin 11 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 12. Architettura di produzione Web Servers AS Front-end AS Back-end Load balancer Internet • Sistema distribuito • Sistema complesso • Scalabilità • Alta Affidabilità Database/Storage/EIS 12 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 13. Monitoraggio: Complex System Web Servers AS Front-end AS Back-end Load balancer Internet Database/Storage/EIS 13 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 14. Ambiente di Load Test Web Servers AS Front-end AS Back-end Load balancer Database/Storage/EIS 14 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 15. Certificazione: ruoli e strumenti • Analista: studia i pattern di utilizzo del sistema utilizzando strumenti statistici, file di log, etc. • SPE Engineer: ha la conoscenza di cosa fare durante la certificazione • APM Specialist: conosce il metodo e gli strumenti per il monitoraggio • DBA, System Administrator, Architect: presenti presso il cliente Ogni figura ha il proprio set di strumenti specifico, i dati di performance sono condivisi tra i gruppi. 15 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 16. Certificazione: definizione degli obiettivi Espressi in funzione delle aspettative Esempi: • N° utenti connessi / h • Processi eseguiti parallelamente • Tempi di risposta (medi/massimi/percentili) • Pagine servite / h Sono metriche (condivise e concordate) indicative della qualità del servizio apprezzata dal cliente. 16 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 17. Certificazione: le iterazioni del ciclo Analisi degli obiettivi Configurazione e Presentazione tuning del risultati monitoraggio Analisi dei dati dei test Implementazione/esecuzione dei test 17 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 18. Certificazione: analisi del sistema Cosa? • Dati statistici di accesso all'applicazione • Traffico di rete • Dati provenienti dal monitoraggio dei componenti applicativi Perché? • La distribuzione temporale del carico sull'applicazione • Funzionalità più utilizzate • Eventi critici 18 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 19. Certificazione: indicatori primari e di dettaglio  Tempi di risposta  Invocazioni concorrenti  Invocazioni per secondo  Invocazioni andate a buon fine  Numero di azioni nella stessa transazione  Risorse in uso  Latenza di rete 19 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 20. Certificazione: i test Progettazione  Identificazione degli use case critici  Creazione dei test case, schedulazioni e script di automazione Esecuzione  Test successivi con carico crescente  Monitoraggio e registrazione risultati Validazione  Stima dell'errore  Ripetibilità dei test 20 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 21. Load Test: identificazione KPI La definizione dei principali indicatori delle performance avviene nella fase di load test. Si emula una situazione di traffico potenzialmente pericolosa per il servizio. • Throughput dei componenti • (Servlet,Web Services,... ) • Response Time (EJB, SQL,...) • Risorse Usate (CPU, Memoria, • Banda ...) 21 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 22. Certificazione: risultato 22 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 23. Certificazione: validazione dei risultati Gli esiti della certificazione devono essere compatibili con le osservazioni registrate in produzione Il documento finale:  Certifica i limiti di capacità del sistema  Descrive dettagliatamente le azioni fatte  Elenca con le priorità le azioni da effettuare  Quantifica i miglioramenti possibili  Giustifica le conclusioni ottenute 23 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 24. Certificazione: risultati tipici Batch  Identificazione dei colli di bottiglia  Determinazione del livello di parallelismo minimo On-line  Determinazione delle risorse minime necessarie (dimensione del cluster, numero di connessione al DB)  Identificazione dei componenti problematici  Impatto disattenzione Best Practice 24 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 25. Generazione mensile della fattura elettronica Scenario: Contratti da fatturare aumentano di un ordine di grandezza. L'hardware a disposizione è stato maggiorato. Le performance del batch permettono di rispettare la finestra temporale a disposizione? Stabiliti gli obiettivi di performance (KPI): fatture/ora Punto di partenza: 16 giorni Monitorati e individuati i colli di bottiglia: Opencursor su mainframe, attività query (No. commit, tempi di esecuzione, No. invocazioni), logging, ecc.. Definito il parallelismo minimo necessario. Tempi: 2 settimane (elapsed) Risultato finale: 5 ore Successo: Previsti con precisione i tempi del batch in produzione. 25 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 26. National utility web site Scenario: Picchi di carico massimo ad opera degli utenti, crash all'aumentare delle richieste, sistema instabile. L'hardware a disposizione è stato potenziato. Punto di partenza: 10.218 unique browser/h, 124.000 page views/h Obiettivo: Architettura che permetta un throughput doppio rispetto al limite attuale. Individuata una migliore configurazione per il deployment FE – BE., cambiamento architetturale degli Application Server, aumentata la cache sul FE, determinate le modifiche da effettuare sul codice, documentati i moduli 'problematici' Tempi: 3 settimane (elapsed) Punto di arrivo: 7 Gennaio, 18.000 unique browser/h e 207.000 page view/h Successo: registrato l'uso 273 Gb di banda giornalieri (record contro i 109 precedenti) 26 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 27. National utility web site Throughput: Situazione Iniziale 124.000 page views/h 10.000 unique browser/h Pagine Visualizzate Utenti 140000 12000 120000 10000 100000 8000 80000 6000 10/12/07 10/12/07 60000 4000 40000 2000 20000 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 27 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 28. National utility web site Throughput: Situazione Finale 207.000 page views/h 18.000 unique browser/h Pagine Visualizzate Utenti 250000 18000 16000 200000 14000 12000 150000 10000 07/01/09 8000 07/01/09 100000 6000 50000 4000 2000 0 0 1 3 5 7 9 11 13 15 17 19 21 23 1 3 5 7 9 11 13 15 17 19 21 23 28 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 29. National utility web site 124.000 => 207.000 page views/h 10.000 =>18.000 unique browser/h 29 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 30. APM: Strumenti Monitoraggio: Load Test: • Introscope CA|Wily • JMeter • Dynatrace • Grinder • FogLight Quest • Load Runner • JXInsight JInspired • ITCAM & Tivoli IBM • OpenView HP • Awstats • Nagios 30 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 31. Ringraziamenti Un ringraziamento a tutto il personale K-Tech: /.*/@k-tech.it Ed in particolare a: Mara Marzocchi, Simone Federici e Serafina Rocca 31 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 32. Riferimenti http://www.k-tech.it http://www.javaportal.it http://www.perfeng.com/ http://en.wikipedia.org/wiki/Complex_system/ http://www.systems-thinking.org/ http://www.itil-officialsite.com/ ITIL® By OGC http://www.ca.com/us/application-management-solution.aspx  Connie U. Smith (1990), Performance Engineering of Software Systems, 1st Edition  Connie U. Smith & Lloyd G. Williams (2005), Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software (Addison-Wesley Object Technology Series) 32 www.javaportal.it | www.k-tech.it corsi@k-tech.it
  • 33. Q/A 33 www.javaportal.it | www.k-tech.it corsi@k-tech.it