Caratteristiche e differenza tra QoS e SLA in informatica

Caratteristiche e differenza tra QoS e SLA in informatica

QoS e SLA

L’interesse per applicazioni Internet è in costante crescita. Alcuni servizi esistenti e emergenti richiedono elevati livelli di qualità del servizio (quality of service o QoS) e hanno elevate esigenze di risorse (si pensa ad applicazioni real-time come videoconferenze). In letteratura, la Qualità del Servizio (QoS) non trova una definizione univoca bensì differenti definizioni a seconda del campo a cui è applicata. Troviamo una definizione di qualità del servizio come “l’effetto collettivo delle performance di un servizio che determinano il grado di soddisfazione di un utente del servizio”. Quando un’azienda o organizzazione si affida a servizi forniti da un altro ente o impresa (per esempio servizi web) per l’implementazione dei propri processi business, spesso vengono richieste garanzie contrattuali sulla qualità del servizio, come allo stesso modo i fornitori del servizio richiedono garanzie affinché i clienti non abusino del servizio. Queste qualità e i vincoli di utilizzo sono spesso definiti in accordi bilaterali chiamati Service Level Agreement (SLA), che specificano la qualità del servizio richiesta e le penalità associate alle violazioni. Queste penalità sono tradotte con pagamenti pecuniari (o rimborso per il costo del servizio) e possono essere viste come un’assicurazione contro la fornitura di un servizio scadente e l’eccessivo utilizzo. Le applicazioni enterprise, a differenza delle normali applicazioni, hanno stringenti esigenze di qualità del servizio. Con ciò si intende una serie di caratteristiche, tipicamente requisiti non funzionali come disponibilità, scalabilità, affidabilità e tempistiche di risposta, che l’applicazione deve rispettare e che solitamente sono espresse attraverso l’uso di contratti SLA, che legano un fornitore di servizi ad un cliente che ne fa uso. I contratti SLA possono essere di diversi tipi e con diversi scopi. Attualmente la maggior parte dei cloud provider (pubblici) offre SLA limitati alla disponibilità del servizio e/o alle caratteristiche delle risorse offerte (come ad esempio il numero e tipo di CPU).

Caratteristiche e differenza tra QoS e SLA in informatica

Testare la qualità dei servizi web utilizzando, per esempio, test su performance e affidabilità è necessario, ma non sufficiente. La qualità del servizio dipende fondamentalmente dalla fornitura di risorse computazionali che il service provider (o chi per esso) gestisce durante la vita del servizio. Per vigilare su una SLA, è necessario per l’utente del servizio monitorare costantemente, o almeno su intervalli statisticamente significativi, la qualità del servizio fornita a tempo di esecuzione. Inoltre il service provider dovrà anch’esso monitorare a run-time la qualità del servizio per controllare che l’utilizzo del servizio non ecceda i livelli concordati nella SLA, per proteggersi contro false affermazioni sulla scarsa qualità del servizio, ma soprattutto per determinare se aumentare le quantità di risorse utilizzate in caso la qualità del servizio si abbassa al di sotto di determinate soglie.

Molte applicazioni distribuite di classe enterprise vengono sviluppate per essere eseguite su piattaforme di Application Server, come J2EE, CORBA o .NET. Queste applicazioni possono richiedere requisiti di Qualità del Servizio (QoS), come scalabilità e disponibilità del servizio, attraverso un contratto di Service Level Agreement (SLA). Le SLA sono contratti che stabiliscono le garanzie di QoS che un ambiente di esecuzione deve fornire per le applicazioni che ospita. Per assicurare che la SLA di una applicazione non sia violata, una delle politiche adottabili è quella chiamata resource over-provisioning: vengono allocate staticamente un numero sufficiente di risorse per supportare un carico di lavoro in qualsiasi scenario, anche nel caso peggiore. Con questa politica però, una percentuale elevata di risorse può rimanere inutilizzata per gran parte del tempo. Al contrario una politica di utilizzo ottimale delle risorse può essere ottenuta fornendo a ogni applicazione ospitata il numero minimo di risorse richieste per onorare la SLA e continuando a gestire l’allocazione delle risorse anche a tempo di esecuzione.

I contratti di Service Level Agreement (SLA) sono l’attuale pratica del mondo economico per specificare requisiti di qualità del servizio nell’ambito IT. La SLA in rappresenta una collezione di clausole contrattuali che legano un QoS- aware cluster alle applicazioni che ospita. Questo particolare tipo di SLA (scritta utilizzando il linguaggio SLAng) prende il nome di hosting SLA. Questa può comprendere due macro aree: diritti e obblighi dei client (Client Responsabilities) e diritti e obblighi della parte server (Server Responsabilities). Tra gli obblighi dei client troviamo infine il numero massimo di richieste che i client possono inviare all’applicazione entro un certo intervallo di tempo.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: www.vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *