SLA per agenzie web: cosa promettere ai clienti (e cosa no)

Prima o poi arriva il cliente che chiede "ma voi che SLA date?". La reazione più comune — cercare online un modello e adattarlo — è anche quella che crea più danni, perché i modelli che si trovano sono scritti per hosting provider e fornitori enterprise, e contengono promesse che una piccola agenzia non può mantenere.

Qui parliamo di cosa può promettere davvero un'agenzia di tre, cinque, dieci persone, e di come scriverlo in modo che regga quando arriva l'incidente vero.

Cos'è un SLA, in due righe

Un Service Level Agreement è la parte del contratto che dichiara il livello di servizio promesso in modo misurabile, e cosa succede se non viene rispettato. Non è una promessa di qualità generica ("assistenza tempestiva"): è un insieme di numeri e tempi che, alla fine del mese, o sono stati rispettati o non lo sono stati. Se una riga non si può verificare con un dato non è un SLA, è una rassicurazione — e le due cose vanno tenute distinte, perché il cliente le legge uguali.

Perché non copiare l'SLA di un hosting enterprise

Il modello che si trova online promette quasi sempre una percentuale di uptime. Vale la pena tradurre quelle percentuali in minuti reali, su un mese di 30 giorni — cioè 43.200 minuti:

Uptime promessoDown massimo consentito al mese
99%432 minuti (7,2 ore)
99,5%216 minuti (3,6 ore)
99,9%43,2 minuti
99,99%4,3 minuti

Guarda l'ultima riga. Promettere il 99,99% significa impegnarsi a tenere il sito di un cliente irraggiungibile per meno di cinque minuti al mese: un singolo riavvio del server dell'hosting, una manutenzione programmata un po' lunga, un rinnovo di certificato andato storto e il mese è compromesso.

E qui c'è il punto che rende l'intera faccenda insensata per un'agenzia: quel numero non dipende da te. L'uptime del sito dipende dall'hosting, che nella maggior parte dei casi è scelto e pagato dal cliente, e su cui non hai né controllo né visibilità. Stai promettendo il comportamento dell'infrastruttura di qualcun altro.

Un cliente piccolo, del resto, non si aspetta davvero il 99,99%: si aspetta di non essere l'ultimo a sapere che il suo sito è giù. È una cosa completamente diversa, ed è una cosa che puoi promettere sul serio.

Cosa promettere al posto della percentuale: tre tempi

Al posto di un numero che non controlli, dichiarane tre che controlli per intero.

1. Tempo di rilevamento. Entro quanto ti accorgi che il sito è giù. È l'impegno più importante dei tre, perché è l'unico che riguarda il periodo in cui il cliente non sa ancora niente.

2. Tempo di prima risposta. Entro quanto il cliente riceve un tuo messaggio che dice che è successo qualcosa e che ci stai lavorando. Prima risposta, non risoluzione: dipende solo da te, ed è per questo che si può rispettare sempre.

3. Tempo di intervento. Entro quanto inizi a lavorarci concretamente, con gli orari di copertura dichiarati accanto. Un tempo di intervento senza finestra oraria è ambiguo, e l'ambiguità in un SLA gioca sempre contro chi l'ha scritto.

I tre tempi vanno tenuti separati anche quando sono vicini, perché falliscono per motivi diversi: il rilevamento fallisce se nessuno stava guardando, la prima risposta se sei in riunione, l'intervento se il problema è di qualcun altro.

Il rilevamento è la promessa più facile — ma solo con uno strumento

Delle tre promesse, il rilevamento è la più difficile da mantenere a mano e la più facile da mantenere con uno strumento.

A mano, "ci accorgiamo di un disservizio entro 15 minuti" richiede che qualcuno apra quel sito ogni quarto d'ora, per tutti i clienti, sabato compreso. Nessuna agenzia lo fa, e prometterlo per iscritto significa scrivere una cosa falsa in un contratto. Con un monitoraggio automatico, la stessa frase diventa la promessa più banale del pacchetto: il controllo avviene comunque, che sia notte o Ferragosto.

Il numero da scrivere si ricava, non si inventa:

tempo di rilevamento dichiarato
  = intervallo di controllo + tempo di conferma + margine

Con controlli ogni 5 minuti e una conferma da una seconda location che richiede pochi secondi, il rilevamento reale sta tipicamente sotto i 6-7 minuti. Il numero da mettere in contratto non è quello: è quello più il margine, cioè 15 minuti. In un SLA si dichiara sempre il caso peggiore ragionevole, mai il caso medio — un impegno rispettato tutti i mesi vale più di uno ambizioso rispettato quasi sempre.

Un paragrafo SLA scrivibile e vero

Un esempio completo, per un'agenzia di 3-5 persone senza reperibilità notturna. Va adattato, non copiato alla lettera:

Livelli di servizio — Monitoraggio e assistenza

Copertura: lunedì-venerdì, 9:00-19:00, esclusi i festivi.

Rilevamento: il sito è controllato in automatico 24 ore su 24 da più location indipendenti. Un'interruzione confermata viene rilevata entro 15 minuti dal suo inizio, in qualsiasi momento, anche fuori dagli orari di copertura.

Prima risposta: in orario di copertura, il Cliente riceve una comunicazione entro 60 minuti dal rilevamento, con quanto è noto in quel momento e l'orario del successivo aggiornamento. Fuori orario, entro 60 minuti dall'inizio della prima finestra di copertura utile.

Intervento: l'attività di diagnosi inizia entro 2 ore lavorative dal rilevamento. I tempi di risoluzione dipendono dalla natura del problema e non sono oggetto di impegno quando la causa è esterna (hosting, registrar, provider DNS, servizi di terze parti).

Misurazione: i tempi sono verificabili sullo storico degli incidenti, che riporta inizio e fine di ogni interruzione ed è consultabile dal Cliente in qualsiasi momento sulla pagina di stato pubblica; su richiesta viene fornito anche in formato esportabile.

Esclusioni: manutenzioni programmate comunicate con almeno 48 ore di anticipo; interruzioni causate da modifiche effettuate dal Cliente o da terzi non incaricati dall'Agenzia; disservizi dell'hosting o del provider DNS, per i quali l'Agenzia si impegna al rilevamento, alla comunicazione e alla gestione del ticket, non alla risoluzione diretta.

In caso di mancato rispetto: qualora i tempi di prima risposta o di intervento non vengano rispettati, il Cliente ha diritto a uno sconto pari al [10]% del canone mensile del mese interessato.

Quattro cose lo rendono diverso da un modello scaricato: promette solo tempi che dipendono dall'agenzia, dichiara la copertura oraria invece di lasciarla intendere, dice dove si guarda il dato per verificarlo, e chiude con una conseguenza piccola ma reale invece che con una penale spaventosa e teorica. Su quest'ultimo punto: uno sconto limitato e definito sul canone è sostenibile e, proprio perché è credibile, viene letto come serietà. Un risarcimento commisurato al mancato fatturato del cliente non lo è per nessuna piccola agenzia, e prometterlo su un sito che genera ordini è un rischio senza nessuna proporzione con il canone che stai incassando.

Gli errori che si pagano

Promettere percentuali di uptime. È il più diffuso: dipende dall'hosting, non da te. Se il cliente la vuole per iscritto, la formulazione onesta è "l'uptime del sito dipende dall'infrastruttura di hosting; l'Agenzia ne rileva e ne documenta le interruzioni".

Scrivere H24 se non siete H24. Un cliente che alle due di notte scopre che "assistenza continuativa" voleva dire "ti richiamiamo domani" perde fiducia più in fretta di uno a cui non avevi promesso nulla di notte. Nota però che rilevamento e copertura possono avere orari diversi: l'esempio sopra promette rilevamento 24/7 e risposta 9-19, ed è una combinazione onesta e sostenibile.

Non definire cosa conta come "down". Sito irraggiungibile, sito lento, una singola pagina in errore, checkout rotto ma home funzionante: sono situazioni diverse. Se il contratto non lo dice, lo deciderà il cliente nel momento peggiore per discuterne.

Non dire chi misura. Senza una fonte di dati dichiarata, ogni discussione su un tempo diventa la tua parola contro la sua.

Un SLA vale quanto il dato che lo dimostra

Le due righe più difficili di tutto il paragrafo di esempio sono quella sul rilevamento e quella sulla misurazione, e sono difficili per lo stesso motivo: richiedono un sistema che controlli i siti quando in agenzia non c'è nessuno, e che tenga traccia di cosa ha visto.

È quello che fa Statuo: controlli continui da più location indipendenti, con un disservizio dichiarato solo quando almeno due location lo confermano — così l'avviso che giri al cliente è un fatto, non un sospetto. Ogni interruzione confermata apre un incidente con orario di inizio e di chiusura, che finisce nello storico e nella pagina di stato pubblica col marchio della tua agenzia (90 giorni di uptime giornaliero, disservizi recenti con la loro durata); i dati sono esportabili in CSV o JSON se ti serve allegarli a una verifica di fine anno.

È la differenza tra un SLA che il cliente deve credere sulla fiducia e uno che può controllare da solo — l'unico tipo che conviene scrivere. La prova gratuita dura 14 giorni, senza carta di credito: abbastanza per attivare il monitoraggio sui siti che segui e fissare i tre tempi del tuo SLA guardando cosa succede davvero, invece di stimarli.

Il resto del contratto — aggiornamenti, backup, sicurezza, e come separarli in voci che il cliente sa valutare — è il tema dell'articolo su cosa includere in un contratto di manutenzione: l'SLA è una delle quattro famiglie, non tutto il contratto.