Mijn applicatie 24/7 beschikbaar, hoe?

Datum 22-07-2019

Het grote voordeel van online applicaties is dat deze altijd beschikbaar zijn. Tenminste, daar gaan gebruikers van uit. Maar hoe beschikbaar deze applicaties in werkelijkheid zijn blijkt pas als er een storing optreedt. Niets is zo vervelend als een online applicatie, waarvan men verwacht (of eist) dat deze altijd beschikbaar is, ineens niet meer blijkt te werken. Probeer als ondernemer dat maar uit te leggen aan uw gebruikers in deze moderne 24/7/365 economie! U wilt dus een platform dat altijd blijft werken, ook als er iets fout gaat.

Fout-tolerantie

Een fout-tolerant systeem blijft werken, zelfs wanneer sommige onderdelen van het systeem defect raken. We kennen dit voornamelijk bij hardware, waarbij servers voorzien zijn van meerdere schijven in een RAID-array, dubbele voeding en een dubbele netwerkaansluiting. Dit kan ook in een grotere setup, waarbij een cluster van hardware fout-tolerantie van complete servers biedt. Een voorbeeld hiervan is Ceph.

Een virtualisatieplatform, zoals bijvoorbeeld VMware of KVM, dat gebouwd is op fout-tolerante servers en storage, kan een hoge garantie geven op de werking van de daarop werkende virtuele servers (vps, virtual private server). Het uitvallen van onderliggende hardware zal geen gevolgen hebben voor de werking van de virtuele servers.

Als eigenaar van een online applicatie (SAAS, Software As A Service), is het dus belangrijk een hostingpartner te vinden die garant staat voor de fout-tolerantie van het hostingplatform.

Hoge beschikbaarheid (HA)

Het hebben van een fout-tolerant platform biedt echter nog geen dienst met een hoge beschikbaarheid (HA, High Availability). Een enkele virtuele server kan nog steeds uitgezet worden, overbelast raken, een applicatie kan crashen of door een menselijke fout stoppen met werken.

Hoge beschikbaarheid houdt in dat wanneer er een incident plaatsvindt, de dienst wordt overgenomen door andere aanwezige servers. Het ontwerp van de SAAS hosting dient dus rekening te houden met mogelijke toekomstige incidenten.

Veel voorkomende oplossingen voor HA zijn:

  • redundante firewalls
  • loadbalancers
  • database clusters of database failover
  • storage clusters
Voorbeeld van een webserver proxy opstelling met health monitoring.

Belangrijk in een HA-systeem is dat het component dat niet meer (goed) reageert geïsoleerd wordt en niet meer meedoet in de HA-pool. Bekende loadbalancers als Haproxy, Maxscale, MySQLProxy en PGPool2 hebben een ingebouwde healthmonitor die met een regelmatige interval de juiste werking van de loadbalanced servers controleert.

Waarschijnlijkheid en kosten

Waar moet u rekening mee houden bij het ontwerp van een fout-tolerant systeem met hoge beschikbaarheid? Dat kan verschillen per applicatie, maar het begint bij het stellen van de volgende vragen:

  • Wat is de kans op een incident?
  • Wat zijn de kosten als het voorkomt?
  • Wegen de kosten van de HA-oplossing op tegen de kosten van het incident?
  • Verwachten mijn klanten een hoge beschikbaarheid?
  • Hoelang duurt het herstel bij een incident als ik geen HA heb?
  • Hoeveel data raak ik kwijt bij een incident?

Zaken als imagoschade en ontevreden klanten zijn moeilijk in geldbedragen uit te drukken. Het is dan ook belangrijk dat u als eigenaar van een SAAS oplossing beseft dat een hoge beschikbaarheid van u verwacht wordt en er dus voor moet zorgen dat aan deze verwachting wordt voldaan.

Meer info?

ROOT wil graag helpen bij het ontwerpen van een hosting-oplossing met hoge beschikbaarheid en een risico- en kostenanalyse. Ook kunnen we helpen bij het maken van een calamiteitenplan en het opstellen van een SLA (Service Level Agreement). Neem vrijblijvend contact op met onze servicedesk voor een afspraak.

Vond je deze blog interessant? Schrijf je hieronder in voor onze nieuwsbrief, en blijf regelmatig op de hoogte van onze blogs!

Meer informatie over dit onderwerp