Beschikbaarheidsketen

Wellicht een nieuw woord.  Het betekent: De keten waar de beschikbaarheid vanaf hangt.

Stel u hebt een webwinkel. Die moet het natuurlijk doen want anders is de winkel dicht. U gebruikt ook e-mail. Daar komen de bestellingen op binnen en daarmee communiceert u met klanten.

De zoektocht begint. U belt een provider en die begint te praten. Tussen alle zinnen door hoort u:  Beschikbaarheid, service level agreement, maintenance window, redundant, loadbalanced, dubbel uitgevoerd, speciaal ingericht, verdeeld, geografisch gescheiden.

Geen touw aan vast te knopen. U wilt gewoon zeker weten dat het werkt en slaat aan het denken. Hoe kan ik zorgen dat een storing bij een leverancier zo min mogelijk impact heeft op mijn bedrijfsvoering?

Dus u vraagt om een garantie, logisch. Goed nieuws! Uw provider garandeert 99,9% dus u hebt maximaal 8,5 uur per jaar storing en dus is de infrastructuur prima geregeld. En om te voorkomen dat alles eruit ligt als die provider een storing heeft, verdelen we de diensten over meerdere providers.

Logisch toch? Maar laten we dat eens beter bekijken. Want het kan anders lopen dan bedacht.

Garanties

U wilt een garantie, dat is de enige manier om zeker te weten dat u krijgt waar u voor betaalt. U gaat er vanzelfsprekend van uit dat een gegarandeerde beschikbaarheid ook daadwerkelijk die beschikbaarheid oplevert. Dat is echter niet het geval. Ik weet dat het raar klinkt. Een garantie is toch juist dat het GEGARANDEERD wordt? Lees rustig verder.

Onderhoud telt niet mee bij de beschikbaarheid. Een provider moet soms zaken aan de infrastructuur regelen die een onderbreking van de dienstverlening met zich meebrengen. Dat zou geen geheim voor u moeten zijn overigens. Meestal zijn dat vaste tijden héél vroeg in de ochtend. Een paar uurtjes. Vraag wel even hoeveel uurtjes.

Nu zijn er grofweg vier typen SLA’s (service level agreement) die u in staat stellen een afspraak te maken met uw leverancier om kwaliteit af te dwingen. Ik licht ze even toe:

  1. De commerciële SLA. U krijgt een hogere garantie tegen een meerprijs. Wordt die garantie niet gehaald, dan betaalt uw leverancier een boete met bijvoorbeeld een waarde van X maal het maandbedrag.
    De leverancier acht de kans groot dat de uit te keren boetes in de loop van de tijd lager zijn dan het bedrag dat u extra betaalt. Het uitkeren van de boete spoort de leverancier niet aan om het beter te doen. Meestal halen ze de SLA wel zonder er iets extra’s voor te hoeven doen.  En die ene keer dat ze het niet halen? Dat valt onder de categorie pech en keren ze uit. Bottomline: De dienst blijft net zo goed/slecht. U betaalt alleen meer. Iemand (u in dit geval) moet immers uw boete betalen?
  2. Garanties op reparatietijden. Dit is er een waarbij je vooraf moet weten wat er defect raakt. Daarvoor bestaat er een glazen bol… inderdaad.
    Of de gegarandeerde tijden zijn zo lang dat het zinloze garantie wordt. Dit type SLA is vaak ook een commerciële SLA. Het moet immers eerst stuk gaan én een storing zijn waarvan de reparatie naar verwachting langer duurt dan afgesproken reparatietijd voordat er een sanctie volgt.
    Er is echter een groot nadeel! Een gegarandeerde reparatietijd van 8 uur kan er dus zomaar voor zorgen dat uw probleem dat op te lossen is in 10 minuten een uurtje of wat blijft liggen. Geen haast, we hebben 8 uur de tijd.
  3. Een garantie op responstijden. Er wordt afgesproken binnen hoeveel tijd er gereageerd wordt op een storingsmelding. U moet wel even doorvragen wat reageren dan is. Een mailtje met: “We pakken het op” is een respons. Ook niet onbelangrijk: Wat gaat er gebeuren na de respons?
  4. Een garantie op aanvang reparatie. Er wordt afgesproken binnen hoeveel tijd aangevangen wordt met het verhelpen van de storing. In combinatie met een degelijke infrastructuur is dit de meest logische SLA. Bij een storing weet je immers niet wat er stuk is of hoe lang het gaat duren. Gewoon snel aan de slag gaan is dus een goede oplossing. Natuurlijk moeten er wel kundige mensen aan de slag gaan.

Uiteindelijk is er maar één garantie: Het gaat stuk. We weten alleen niet wanneer en wat er stuk gaat. Geen afspraak die dat voorkomt.

Verdelen

U wilt ook voorkomen dat uitval van een leverancier uw hele bedrijf stillegt. Dé oplossing daarvoor is natuurlijk om de diensten te verdelen over meerdere leveranciers. Na lang zoeken hebt u drie partijen gevonden en u verdeelt de diensten als volgt:

  • Mail bij provider A.
  • Domeinnamen bij B.
  • Private Cloud bij C voor uw websites.

Ik ga u helpen door met een simpele berekening aan te tonen wat de impact is van uw beslissingen. Ik stel het volgende om het eenvoudig te houden:

  • De providers zijn allemaal even goed. En respectabele 99,9% beschikbaarheid.
  • Ze doen allemaal evenveel onderhoud. 1x per maand 0,5 uur
  • Ze hebben allemaal 1x een storing aan hun internetverbinding van 8 uur per jaar.

De invloed van een storing:

Wanneer provider A een storing heeft:
Uw klanten wel kunnen bestellen maar uw website kan die mail niet bij u afleveren. Duurt het te lang? Dan zal de website die mail niet meer afleveren. Dat zal uw workflow ernstig kunnen verstoren.

Wanneer provider B een storing heeft:
DNS van uw domeinnaam is nodig om bezoekers naar uw websites te sturen en mail af te kunnen leveren. U ligt er helemaal uit. Geen mail en geen website.

Wanneer provider C een storing heeft:
Geen websites? Dan ook geen bestellingen.

Wanneer provider D een storing heeft:
Provider D? Die was er toch niet? Helaas wel. Uw websites halen via de achterdeur scripts op bij D (en misschien wel E en F). Dat vond uw website bouwer wel een goed idee. Verborgen afhankelijkheden. De sites zullen zonder scripts niet bruikbaar zijn. Bezoekers zien vooral een onleesbare rommel en kunnen zeker niet bestellen.

Het spreiden van diensten is een ogenschijnlijk slimme redenering die beschikbaarheid schaad.

Wat blijft er over van de afgesproken 99,9%

Uw mail is afhankelijk van A en B
Dat is dus 16 uur per jaar problemen met uw mail en 12 uur per jaar onderhoud.

Of er besteld kan worden is afhankelijk van B,C en D. En als A lang eruit ligt hebt u een hoop werk.
Uw sites zijn 24 uur per jaar niet bereikbaar door storingen en 18 uur per jaar onderhoud.

Totaal: 40 uur per jaar problemen met verschillende leveranciers En waarschijnlijk weet u niet welke het probleem veroorzaakt. En er wordt 30 uur per jaar onderhoud gedaan aan uw diensten.
Uw beschikbaarheid: < 99,5%

Van > 99,9% naar <99,5% door een beslissing.
40 uur per jaar is er iets stuk

Maar wacht eens even!

Jij gaat er nu vanuit dat de provider maar 99,9% haalt. Vaak is dat hoger.

En dat is waar. De vraag is, is dat geluk of het gevolg van degelijke infrastructuur? En zelfs als het beter is dan die 99,9% zorgt het spreiden van de diensten nog steeds voor meer uitval dan nodig.

Oké, alles bij één provider en dan?

Dan zou u slechts 8 uur per jaar een storing hebben en 6 uur per jaar onderhoud.
99,9% beschikbaarheid is dan makkelijk te halen.

Maar dan lig ik er dus helemaal uit als die provider een probleem heeft?

De vraag is: Hoe erg is het als uw mail niet werkt wanneer uw site eruit ligt en vice versa? Dan liever toch 8 uur per jaar helemaal eruit dan 40 uur per jaar steeds ergens een probleem?

Het is natuurlijk een theoretische berekening. Wellicht wordt er minder onderhoud gedaan. De praktijk is wisselvalliger. Meer kleine storingen in plaats van 8 uur aan één stuk. Moeilijker te vinden waarom die bestelling niet aankomt. Is het DNS? Mail? webserver? of toch dat ene scriptje dat heel ergens anders vandaan komt. En al uw leveranciers roepen: Het lijkt niet aan ons te liggen. En dat zou zomaar nog eens waar kunnen zijn ook!

En verder?

Er zijn nog wat aandachtspunten als we het over beschikbaarheid hebben.

Zelfde dienst, andere beschikbaarheid?
Dienst A levert 95% beschikbaarheid op. Dienst B 99%. Maar beide diensten maken 100% gebruik van dezelfde infrastructuur. Dienst B kost natuurlijk meer, maar wat maakt dienst B dan zoveel beter? Vraag uw leverancier dus gerust waar dat verschil in zit. En vraag u af of het verschil uberhaubt wel een verschil zou mogen zijn.

Dat er een garantie wordt gegeven is geen bewijs dat alles goed geregeld is.
De leverancier kan er op gokken dat het wel gehaald wordt.
Een voorbeeld: Er wordt hosting aangeboden. De leverancier doet dat op één enkele webserver. Geen dubbele voeding, geen dubbele disken. Niets van dat alles. Een server draait gewoonlijk 4 jaar probleemloos. Dus uw site draait 4 jaar probleemloos. Uptime: 100%! Maar dat is dan wel puur geluk. Als het moederbord stuk gaat kan het zomaar een storing worden die langer duurt dan 24 uur.

Ketens binnen de leverancier.
Huurt de leverancier het zelf ook weer ergens anders of heeft hij alle infrastructuur in eigen beheer? Amazon, Google, Microsoft.. Je gelooft het niet, maar ook zij hebben storingen gehad die langer duurde dan beloofd. En zelfs dataverlies kwam om de hoek kijken.
Als uw leverancier bijvoorbeeld Amazon gebruikt voor haar opslag, hoe gaat uw leverancier dan garanderen dat Amazon levert? In het geval van een storing bij Amazon kan uw leverancier niets anders doen dan wachten… Net als u.. Hij KAN dus niet beloven het te repareren of direct aan de herstel te beginnen.

Conclusie

De trend is tegenwoordig dat er steeds hoger in de infrastructuur ingekocht wordt. De reden? Flexibel, voordelig, hoge beschikbaarheid.
Dat het meestal niet voordelig is, hadden we al eerder geconcludeerd. Dat de hoge beschikbaarheid vaker geluk dan wijsheid is zult u zelf moeten uitsluiten en dat kan alleen als uw leverancier transparant is. Geen geheimen, geen wolkjes in tekeningen, geen waterval van technische begrippen.