Queste slide sono relative all’intervento che K-Tech http://www.k-tech.it/ ha presentato all’evento Jax Italia il 13 novembre a Milano.
Speaker: Giuseppe Galli
This session is focused on an agile approach to Application Performance Management (APM) and presents its relationship with Software Performance Engineering (SPE). The Agile approach to APM is a revolutionary method shift developed by K-Tech s.r.l. consultants and experts that allows cost savings and easy adoption for the enterprises that face problems with a canonical solution
1. Agile APM
an heretic's approach to
SPE
Giuseppe Galli - K-Tech - g.galli@k-tech.it 1
2. Relatore
• Ing. Giuseppe Galli
• CV
• Partner in K-Tech, CTO
• Esperto in APM da 4 anni
• Lavora su soluzioni Java
nel dominio enterprise
dal 1998
• In K-Tech da 7 anni
g.galli@k-tech.it
• Collabora con
Javaportal.it
Giuseppe Galli - K-Tech - g.galli@k-tech.it 2
3. L'azienda: K-Tech s.r.l.
Dove ci porta il nostro
Know-How
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
Continuity24X7 – on site < 24h from call
Certificati ISO 9001 in “Progettazione
ed erogazione
Giuseppe Galli - K-Tech - g.galli@k-tech.it 3
di corsi di formazione”
4. Agile APM: Obiettivi
• Presentare:
– un metodo agile per l'APM
– l'APM per un progetto agile
• Quando applicare il metodo
– Vantaggi rispetto il tradizionale SPE
• Esempi pratici
Giuseppe Galli - K-Tech - g.galli@k-tech.it 4
5. Performance del software:
definizioni
• Le performance applicative
Quanto bene l'applicazione assolve il proprio scopo
• APM: la gestione, troubleshooting e
monitoraggio
• SPE: l'ingegnerizzazione delle performance
del software
Giuseppe Galli - K-Tech - g.galli@k-tech.it 5
6. Gestione delle
Performance Applicative
Performance applicative = Performance ditta
Ruolo IT : i dati ← WWW → i processi
Giuseppe Galli - K-Tech - g.galli@k-tech.it 6
7. Gestione delle
Performance Applicative
Aumentare Diminuire
• Competitività ● Costi IT
• Time 2 market ● Tempi per riparare
• Affidabilità ● Errori e fermi
• Brand ● Stress
Giuseppe Galli - K-Tech - g.galli@k-tech.it 7
8. Manifesto
del movimento agile*
Stiamo ricercando modi migliori di sviluppare software facendolo e
aiutando gli altri a farlo
Grazie a questa attività siamo arrivati a considerare importanti:
• Gli individui e le interazioni più dei processi e degli strumenti
• Il software funzionante più che la documentazione esaustiva
• La collaborazione col cliente più che la negoziazione del
contratto
• Rispondere al cambiamento più che seguire i piani
Ovvero, fermo restando il valore delle entità a destra, consideriamo
più importanti le entità a sinistra
* Trad: http://www.sviluppoagile.it/il-manifesto-agile-italiano
Giuseppe Galli - K-Tech - g.galli@k-tech.it 8
9. APM – Application
Performance Management
• Indicatori numerici
– tempi di risposta, disponibilità del servizio,
capacità del sistema, utilizzo delle risorse HW,
throughput, carico etc. etc.
• Strumenti opportuni
– si monitora il sistema di produzione per
anticipare i problemi tramite avvisi
• Processi aziendali
– ITIL® nel service management (ITSM) definisce
l'incident Management (IcM)
– In pre-produzione/QA/Test si utilizzano i dati di
performance della produzione
Giuseppe Galli - K-Tech - g.galli@k-tech.it 9
10. SPE - Software
Performance Engineering
• Le performance sono curate con la giusta
attenzione in ogni fase del ciclo di vita del
software
• Metodo quantitativo per identificare
l'architettura ed il design adatti e quantificare
i costi di adozione e sviluppo
– Le scelte da effettuare nelle fasi iniziali di un
progetto
– Alta criticità per tutto il progetto
– Assenza di informazioni, disponibili in fasi
successive
Giuseppe Galli - K-Tech - g.galli@k-tech.it 10
11. Agile: i principi del
manifesto
• 12 principi parlano di:
priorità, soddisfazione del cliente,
i cambiamenti, competitività del
cliente, eccellenza tecnica, semplicità,
organizzazione del team, rilasci
frequenti, software funzionante,
motivazione del team, processi,
miglioramento
Giuseppe Galli - K-Tech - g.galli@k-tech.it 11
12. Agile APM: in pratica
• Individui e relazioni: chi è responsabile
delle performance?
• Software funzionante: chi risponde della
capacità del sistema?
• Collaborazione con il cliente: ma se non è
in produzione?
• Abbracciare il cambiamento, frequenti
rilasci in produzione: monitoraggio da
cambiare?
Giuseppe Galli - K-Tech - g.galli@k-tech.it 12
13. Responsabile delle
performance
• Ruolo specifico
– riconosciuto da tutto il team
– definito dall'inizio del progetto
– registra le necessità/aspettative
– assicura che le scelte siano in linea
– misura le release
Giuseppe Galli - K-Tech - g.galli@k-tech.it 13
14. Limiti di capacità di
carico del sistema
• Capacità
• Determinare il
punto di
saturazione
Giuseppe Galli - K-Tech - g.galli@k-tech.it 14
15. Soddisfazione del cliente
● Non necessario aspettare il rilascio
● Modelli di comportamento
● I dati di performance in produzione
● Prevedere quantitativamente il comportamento
● Software troppo lento blocca
la collaborazione con il cliente
Giuseppe Galli - K-Tech - g.galli@k-tech.it 15
16. Frequenti rilasci in
produzione
Il monitoraggio e gli allarmi
• Implementazioni rapide
• Riutilizzabili
• Deployment 'generazionale'
Giuseppe Galli - K-Tech - g.galli@k-tech.it 16
17. Un esempio: SCRUM
• Rilasci settimanali
• Alta criticità
5%
Monitoraggio
continuo
• Media criticità
Nuove funzionalità
in 'quarantena'
Giuseppe Galli - K-Tech - g.galli@k-tech.it 17
18. Esempio: tradizionale
• Interfaccia di amministrazione
tempi di login: 45 secondi
Per ogni utente (1 solo utente)
• EJB solo stateless
Giuseppe Galli - K-Tech - g.galli@k-tech.it 18
19. Conclusioni
• Gestire correttamente le
performance è un aspetto
vitale per ogni progetto
• L'adozione di un metodo
agile ha specifiche
conseguenze su un progetto
di APM
• Il metodo Agile APM è la
scelta ideale, efficace dove il
metodo SPE fallisce
Giuseppe Galli - K-Tech - g.galli@k-tech.it 19