Service Availability - Tesi di Laurea Moreno Matteo
1. SISTEMA DINAMICO E PARAMETRICO
PER LA MISURAZIONE
DELL’AVAILABILITY DEL SERVIZIO
DI POSTA ELETTRONICA
Università degli Studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Tesi di Laurea
Relatore: Prof. Simone Tini
Matteo Moreno
Matricola: 722172
Anno Accademico 2016 – 2017
23 Febbraio 2017
2. Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
23 Febbraio 2017 Matteo Moreno 2
Sommario progetto:
SERVICE AVAILABILITY
• Introduzione
• Progettazione
• Sviluppo
• Output
• Chiusura
3. 23 Febbraio 2017 Matteo Moreno 3
Availability Management:
L’obiettivo del processo di Availability Management è di assicurare che il
livello di disponibilità di tutti i servizi offerti coincida o vada oltre gli
accordi presenti e futuri stipulati con il cliente.
La misurazione e il monitoraggio dei servizi sono attività fondamentali
per garantire che i livelli di disponibilità siano raggiunti coerentemente
con quanto stabilito.
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
4. 23 Febbraio 2017 Matteo Moreno 4
Due elementi fondamentali:
Attività Reattive: aspetti riguardanti il monitoraggio, la misurazione,
l’analisi e la gestione degli eventi, degli imprevisti e dei problemi relativi.
Attività Proattive: aspetti riguardanti la pianificazione, la progettazione e
il miglioramento della disponibilità.
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
5. 23 Febbraio 2017 Matteo Moreno 5
Un principio guida dell’Availability Management è quello di riconoscere
che è ancora possibile ottenere la soddisfazione del cliente anche quando si
verificano degli Incident.
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
6. 23 Febbraio 2017 Matteo Moreno 6
Obiettivo della Tesi
L’obiettivo del progetto è quella di creare una logica che possa
automatizzare il processo di calcolo dell’availability di un determinato
servizio per un preciso cliente, restituendo come output un valore in
percentuale della disponibilità offerta.
Il processo di Availability Management ha l’obiettivo finale di verificare che
i livelli di servizio offerti, coincidano con i livelli minimi concordati con il
cliente nello SLR e nello SLA.
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
7. 23 Febbraio 2017 Matteo Moreno 7
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Sommario progetto:
SERVICE AVAILABILITY
• Introduzione
• Progettazione
• Sviluppo
• Output
• Chiusura
8. 23 Febbraio 2017 Matteo Moreno 8
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Gli elementi fondamentali che è stato necessario definire in questa prima
fase di progettazione sono stati i seguenti:
• Servizio: ovvero la tecnologia per la quale misurare la disponibilità di
servizio offerto al cliente. È stato deciso di analizzare il servizio
Microsoft Exchange 2013.
9. 23 Febbraio 2017 Matteo Moreno 9
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
• Cliente: ovvero il cliente per cui bisogna effettuare il calcolo
dell’availability. È stato deciso di analizzare Elmec Informatica Spa,
ed in particolare l’infrastruttura di Elmecasp.
10. 23 Febbraio 2017 Matteo Moreno 10
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Per la valutazione di ogni Configuration Item, sono stati utilizzati gli
stati dei controlli del sistema di monitoraggio Nagios, presenti nei file
di log:
• OK
• WARNING
• CRITICAL
Ed in seguito all’approfondimento con lo specialista di ciascuna
tecnologia, è stato definito un set di controlli specifici per ogni
Configuration Item.
11. 23 Febbraio 2017 Matteo Moreno 11
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
12. 23 Febbraio 2017 Matteo Moreno 12
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Sommario progetto:
SERVICE AVAILABILITY
• Introduzione
• Progettazione
• Sviluppo
• Output
• Chiusura
13. 23 Febbraio 2017 Matteo Moreno 13
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
La fase di sviluppo ha previsto i seguenti step:
• Creazione di una database dove poter creare le tabelle utili
per il processo e da dove attingere i dati.
14. 23 Febbraio 2017 Matteo Moreno 14
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
• Definizione dei parametri della query del linguaggio LQL per poter
prelevare i valori dei controlli di ciascun Configuration Item, dal
file dei log scritto quotidianamente da Nagios.
15. 23 Febbraio 2017 Matteo Moreno 15
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
• Sviluppo di una semplice interfaccia web che in base ad degli input
precisi, potesse dare l’elenco dei Configuration Item coinvolti nel
processo.
16. 23 Febbraio 2017 Matteo Moreno 16
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Sommario progetto:
SERVICE AVAILABILITY
• Introduzione
• Progettazione
• Sviluppo
• Output
• Chiusura
17. 23 Febbraio 2017 Matteo Moreno 17
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Per la strutturazione dell’output è stato deciso di definire il valore
della disponibilità del servizio offerto al cliente in percentuale.
L’output è sotto forma di report, tenendo come finestra temporale
per il campionamento dei dati un mese.
Per questo progetto è stato deciso di verificare la disponibilità del
servizio nel mese di novembre.
18. 23 Febbraio 2017 Matteo Moreno 18
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Host Service OK WARN CRIT
ELMEC_vss1-ace-1 Ping 100.00% 0.00% 0.00%
Summary 100.00% 0.00% 0.00%
Host Service OK WARN CRIT
ELMEC_elmecasp-mx10 BOOT Partition 100.00% 0.00% 0.00%
ELMEC_elmecasp-mx10 DATA Partition 100.00% 0.00% 0.00%
ELMEC_elmecasp-mx10 [SNMP] CPU Load Average - 1 min 100.00% 0.00% 0.00%
ELMEC_elmecasp-mx10 [SNMP] CPU Load Average - 5 min 100.00% 0.00% 0.00%
ELMEC_elmecasp-mx10 [Brightmail] SMTP Service [Port 25] 99.70% 0.00% 0.30%
ELMEC_elmecasp-mx10 [SNMP] Connections - Delivery 100.00% 0.00% 0.00%
ELMEC_elmecasp-mx10 [SNMP] Connections - Inbound 100.00% 0.00% 0.00%
ELMEC_elmecasp-mx10 [SNMP] Queued messages - Delivery 100.00% 0.00% 0.00%
Summary 99.70% 0.00% 0.30%
Host Service OK WARN CRIT
ELMEC_elmecasp-mail01 Address Conflict 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Average CPU Load 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Disk C 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Active Directory Topology Service Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange FrontEnd Transport Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Service Host Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange DAG Management Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Information Store Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Mailbox Transport Delivery Service 99,99% 0.00% 0.01%
ELMEC_elmecasp-mail01 Microsoft Exchange Mailbox Transport Submission Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Replication Service 99,60% 0.00% 0.40%
ELMEC_elmecasp-mail01 Microsoft Exchange RPC Cliente Access Service 100.00% 0.00% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Service Host Service 99,97% 0.03% 0.00%
ELMEC_elmecasp-mail01 Microsoft Exchange Transport Service 100.00% 0.00% 0.00%
Summary 99.56% 0.03% 0.41%
Availability totale del servizio
Microsoft Exchange 2013 nel
mese di Novembre ‘16:
• OK: 99.75%
• WARNING: 0.01%
• CRITICAL: 0.24%
19. 23 Febbraio 2017 Matteo Moreno 19
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Sommario progetto:
SERVICE AVAILABILITY
• Introduzione
• Progettazione
• Sviluppo
• Output
• Chiusura
20. 23 Febbraio 2017 Matteo Moreno 20
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Riepilogo progetto:
• Durata 3 mesi.
• Impegno nello studio di soluzioni tecniche innovative.
• Idealizzazione e strutturazione flusso logico del progetto.
• Generalizzazione processo.
Applicazioni future:
• Ampliare numeri di clienti e tipologie di servizi per i quali effettuare
il calcolo dell’availability.
• Automatizzare il processo per ogni infrastruttura cliente.
• Introduzione di availability «real-time» e non solo reportistica.
21. 23 Febbraio 2017 Matteo Moreno 21
Grazie
per
l’attenzione
Università degli studi dell’Insubria
Dipartimento di Scienze Teoriche e Applicate
Corso di Laurea in Informatica
Editor's Notes
L’Availability Management deve garantire che i livelli concordati di disponibilità dei servizi siano garantiti. La misurazione e il monitoraggio dei servizi sono attività fondamentali per garantire che i livelli di disponibilità siano raggiunti coerentemente con quanto stabilito. Il processo di Gestione della Disponibilità deve continuamente mirare ad ottimizzare ed in modo proattivo migliorare la disponibilità delle infrastrutture IT, i servizi e l’organizzazione di supporto, al fine di fornire economicamente vantaggiosi miglioramenti della disponibilità, rivolti a portare benefici ai clienti.
Il processo di Availability Management cerca continuamente di assicurare che tutti i servizi raggiungano i loro obiettivi di disponibilità secondo accordi. Al fine di raggiungere questo obiettivo, è necessario che vengano eseguite attività reattive e attività proattive:
• Le attività reattive consistono nel monitorare, misurare, analizzare, realizzare report e revisionare tutti gli aspetti della disponibilità di componenti e servizi. Ciò fa sì che tutti gli obiettivi dei servizi concordati vengano misurati e siano raggiunti. Nel momento in cui vengano rilevate violazioni o infrazioni, queste sono indagate e vengono avviate azioni correttive.
• Le attività proattive consistono nel produrre raccomandazioni, piani e documenti riguardanti le linee guida per la progettazione e criteri per servizi nuovi e modificati, oltre al continuo miglioramento del servizio e la riduzione del rischio nei servizi esistenti ovunque esso può essere economicamente giustificato.
Un processo di Availability Management efficace, che consiste di entrambe le attività reattive e proattive,
Le singole fasi del ciclo di vita vengono elencate più in dettaglio come segue:
Rilevamento dell’incidente (Incident Detection): il momento in cui l'organizzazione IT che fornisce il servizio viene a conoscenza di un incidente
Diagnosi dell’incidente (Incident Diagnosis): la fase in cui viene portata a termine la procedura di diagnosi per determinare la causa che scatenato l’incidente.
Riparazione dell’incidente (Incident Repair): il momento in cui il guasto è stato riparato
Recupero dall’incidente (Incident Recovery): la fase in cui il recupero di una componente è stato completato
Ripristino dall’incidente (Incident Restoration): la fase in cui il normale servizio di business è riattivato
Ogni fase e il relativo tempo associato, influenzano l'inattività totale percepita dall'utente
Il processo di Availability Management si occupa dunque di progettazione, implementazione, misurazione ed infine di gestione della disponibilità di infrastrutture IT, per garantire che i livelli precedentemente concordati con il cliente vengano a pieno rispettati. In particolare, il processo di Gestione della Disponibilità:
Dovrebbe essere applicato a tutti i nuovi servizi IT oppure per i servizi già esistenti dove sono stabiliti dei livelli minimi di disponibilità attraverso il Service Level Requirements (SLR) o il Service Level Agreements (SLA).
Tutto quanto descritto sopra è servito ed è stato alla base dello stage affrontato in Elmec. L’obiettivo del progetto è quella di creare una logica che possa automatizzare il processo di calcolo dell’availability di un determinato servizio per un preciso cliente, restituendo come output un valore in percentuale della disponibilità offerta.
Creazione di un database utile ad attingere i dati ed elaborarli nelle fasi successive:
CUSTOMER_AVAILABILITY: La prima tabella creata è quella contenente l’elenco dei clienti, di Elmec, per i quali può essere effettuato il calcolo dell’Availability
ITEM: È stato necessario creare questa tabella per archiviare i vari Configuration Item che appartengono ad ogni tecnologia
TECNOLOGY: Questa tabella serve per inserire e contenere le varie tecnologie che possono essere utilizzate da un cliente
impostare la query di Livestatus: a questo proposito è stato deciso di utilizzare la tabella statehist in quanto questa fornisce oltre alle informazioni di stato, anche le informazioni relative alla durata dello stato del servizio e la percentuale di durata rispetto alla tempistica definita all’interno della query. Il periodo di tempo per il quale è stato deciso di verificare lo stato dei servizi è stato il mese di Novembre
L’ultimo step del progetto ha previsto la creazione di un’interfaccia web che potesse dare un output di quanto descritto fino ad ora. In particolare l’interfaccia prende come paramentri di input il cliente e la tecnologia per quale si vuole effettuare il calcolo dell’availability, e restituisce in output la lista dei configuration item interessati. L’output identificare la tipologia di ciascun item
In base a quanto illustrato nel capitolo precedente ed in particolare nella sezione relativa alle query di Livestatus, è stato possibile realizzare i seguenti report della disponibilità del servizio di ciascuno dei Configuration Item presenti nell’infrastruttura di Elmecasp, e che sono coinvolti all’interno della tecnologia Microsoft Exchange 2013:
Le disponibilità dei tre Configuration Item devono essere confrontate e solo la loro interazione può fare avare il valore finale relativo alla disponibilità totale del servizio di posta elettronica. Andando ad analizzare quindi la totalità dei tre stati, otteniamo il seguente riepilogo:
OK: i bilanciatori hanno fatto registrare una percentuale di stato OK del 100%; gli antispam del 99.70%; i server Exchange del 99.56%. Andando ad eseguire il calcolo, si ottiene che il sistema di posta elettronica ha ottenuto una percentuale del 99.75% di stato OK, che equivale a dire che il servizio è stato garantito senza nessun disservizio per tutto il mese di Novembre 2016.
WARNING: i bilanciatori hanno fatto registrare una percentuale di stato WARNING dello 0%; gli antispam dello 0%; i server Exchange dello 0.03%. Andando ad eseguire il calcolo, si ottiene che il sistema di posta elettronica ha ottenuto una percentuale del 0.01% di stato WARNING, che equivale a dire che il servizio è stato garantito anche se gli Item della tecnologia in questione hanno avuto qualche problema, che però non ha influito negativamente sulla disponibilità del servizio offerto.
CRITICAL: i bilanciatori hanno fatto registrare una percentuale di stato CRITICAL dello 0%; gli antispam dello 0.30%; i server Exchange dello 0.41%. Andando ad eseguire il calcolo, si ottiene che il sistema di posta elettronica ha ottenuto una percentuale del 0.24% di stato CRITICAL. Questo indica che, nel periodo in cui è stata monitorata la disponibilità del servizio, ci sono stati dei disservizi. Ovvero ci sono stati dei momenti in cui il servizio offerto non è stato garantito e che potrebbe aver creato dei disservizi al cliente che ne usufruiva.
Il progetto si è sviluppato nell’arco di 3 mesi, nei quali ho potuto usufruire degli strumenti e delle competenze messe a disposizione da Elmec Informatica SpA.
L’attività è
Applicazioni future:
Ampliare servizi per i quali effettuare il calcolo dell’availability.
Automatizzare il processo per ogni infrastruttura cliente.
Introduzione di availability «real-time» e non solo reportistica.