Wanneer een website of webservice niet online beschikbaar is of niet goed genoeg functioneert voor eindgebruikers om een taak te kunnen voltooien, wordt de site geacht downtime te ondervinden.

Hoewel de meeste websites en webservices streven naar nul downtime, is downtime onvermijdelijk. Zelfs giganten als Google en Facebook ondervinden af en toe downtime. Hoewel de technologie is verbeterd en providers systemen hebben om downtime te helpen voorkomen, veroorzaken onvoorziene omstandigheden nog steeds downtime.

Wat wordt verstaan onder downtime?

Downtime is een subjectieve term die veel lijkt op zij tegenhanger uptime. In de begindagen van internet betekende downtime meestal dat een site niet toegankelijk was voor zijn eindgebruikers. Tegenwoordig is de betekenis van downtime complexer. De meeste mensen beschouwen een site of service als down als de eindgebruikers hun taak niet kunnen voltooien. Bijvoorbeeld, een e-commercesite is feitelijk down als de eindgebruikers een artikel niet in hun winkelwagentje kunnen plaatsen. In feite zijn bezoekers vergevingsgezinder bij een site die helemaal uitvalt dan bij een site die niet goed functioneert. Slechte performance kan ook in de categorie downtime vallen als eindgebruikers hierdoor hun doel niet kunnen bereiken.

Wat veroorzaakt downtime?

Veel dingen kunnen downtime voor een provider veroorzaken. Over sommige oorzaken heeft de provider controle, zoals gepland onderhoud, maar over andere niet. Elke situatie is uniek, maar de meeste oorzaken vallen in een van de volgende categorieën.

Menselijke fout

Zoals vaak als er iets verkeerd gaat, blijkt de oorzaak meestal één enkele fout van een individu of team te zijn. Een ogenschijnlijk ongevaarlijke codewijziging beïnvloedt iets anders dat niet verschijnt tijdens regressietests: een systeem wordt offline gehaald terwijl dit niet had gemoeten, of een DNS-entry wordt verkeerd geüpdatet. Dit zijn maar een paar voorbeelden van hoe mensen bijdragen aan de downtime van een site. De enorme AWS uitval begin 2017 is een goed voorbeeld uit de praktijkvan hoe iets simpels als een typefout downtime kan veroorzaken, niet alleen bij Amazon Web Services, maar ook bij veel grote websites.

Defecten aan apparatuur

Apparatuur slijt en gaat stuk, en nieuwe apparatuur valt zonder waarschuwing uit. Adequaat onderhoud en hardwareredundantie zijn de enige manieren om downtime door hardware te minimaliseren. In een ander Amazon-voorbeeld had de e-commercegigant een storing die het grootste deel van Europa in 2010 trof. Hoewel aanvankelijk werd vermoed dat hackers dit hadden veroorzaakt, onthulde Amazon later dat de downtime het gevolg was van een hardwaredefect in hun datacenter.

Schadelijke aanval

Hackers ontdekken slimme nieuwe manieren om bedrijven voortdurend te infiltreren en te verstoren. Een veel gebruikte methode is de DDoS-aanval (Distributed Denial-of-Service). Met DDoS-aanvallen proberen ze servers te overbelasten met requests. De requests komen gelijktijdig en herhaaldelijk vanaf meerdere locaties waardoor de aangevallen webservers overbelast raken. De stortvloed aan requests blokkeert feitelijk legitieme requests en veroorzaakt dat de site down gaat. Een andere methode is DNS cache poisoning, waarbij hackers de cache van de DNS-resolver (Domain Name System) infiltreren en het IP-adres veranderen in een adres dat hen in staat stelt de gebruikers van de site te exploiteren, waardoor de aangevallen website eigenlijk down is. Andere methodes hebben te maken met SSL-certificaten en malware.

Hoe vermijden websites downtime?

Als het om hardware gaat, gebruiken bedrijven redundantie om ervoor te zorgen dat back-upsystemen klaarstaan in het geval van een storing, loadbalancer en datacenters helpen om de performance op peil te houden. Synthetic Monitoring services controleren websites, servers, API's en webapplicaties op uitval, performance en functionaliteit, en de monitoring service waarschuwt de supportteams wanneer er iets niet goed werkt.

Uptime monitoring

Uptime monitoring wordt ook wel beschikbaarheidsmonitoring of website monitoring genoemd, en is een type synthetic monitoring dat een netwerk van computers (controlestations) gebruikt om requests en pings te versturen, en dat verbinding maakt met websites en servers. Deze basismonitors controleren de responscodes en responstijden, en rapporteren de resultaten aan de monitoring service. Als er een fout optreedt of als de respons langer duurt dan is aangegeven, kan de monitoring service een alert versturen of de fout verifiëren vanaf een ander controlestation voordat de alert wordt verstuurd.

Geavanceerde beschikbaarheidsmonitoring

Geavanceerde beschikbaarheidsmonitoring maakt gebruik van gespecialiseerde controleregeltypes om de beschikbaarheid te verifiëren op basis van specifieke servers of functies. Bedrijven gebruiken Geavanceerde beschikbaarheidsmonitoring om:

  • TLS/SSL-certificaten te controleren op vervaldatum en content
  • DNS-gezondheid te controleren door key fields van een DNS entry te verifiëren
  • te communiceren met POP3- en SMTP-e-mailservers
  • query en check MySQL- en SQL Server-databases
  • beschikbaarheid en downloads van FTP en SFTP te controleren

Monitoring van performance en functie

Zowel uptime monitoring als geavanceerde monitoring werken goed om te controleren op systeemstoringen, maar ze kunnen slechts beperkt controleren op performance en functie. webperformance monitoring, webapplicatie monitoring en API monitoring tillen beschikbaarheidmonitoring naar een hoger niveau.

Webperformance monitoring

Performance monitors doen meer dan een request verzenden en ontvangen, want ze gebruiken echte browsers zoals Chrome en Internet Explorer voor het verzenden van de request en het ontvangen van de respons. De controlestations doen meer dan alleen het teruggestuurde controleren op foutmeldingen; het controlestation laadt de response in een browser. Door de content te laden, kunnen volgende requests worden uitgevoerd en worden de scripts en inhoud van de pagina in de browser geladen. De monitor controleert de performance van elk pagina-element. Een monitoring service genereert een visueel rapport in de vorm van een watervalgrafiek voor eenvoudigere controle. Met watervalrapporten is de analyse van de fundamentele oorzaak gemakkelijker door slecht presterende content (van derden of native) te identificeren en te rapporteren over de front- en back-endperformance van elk element.

Webapplicatie monitoring

De site is misschien wel up, maar functioneert niet goed, dus in feite ondervindt de site een vorm van downtime. Webapplicatie monitoring, of transactie monitoring, helpt websites hun websites functioneel te houden. De controlestations gebruiken scripts die fungeren als normale gebruikers om inlogformulieren, winkelwagentjes, webformulieren en betalingsprocessen te testen. De monitors controleren ook de responsiviteit van de server en de pagina-inhoud.

API monitoring

SaaS-bedrijven en -websites communiceren voortdurend met elkaar en met eindgebruikers via hun public facing API's. Wanneer een API faalt, gaat niet alleen de API down. Mobiele apps werken niet meer, API-afhankelijke webcontent en -functie functioneren niet, en back-end-processen mislukken. Het testen van API-functies met behulp van API monitoring kan de downtime drastisch verminderen doordat de fouten en trends snel worden gevonden. Het vroegtijdig vinden van API-problemen kan voorkomen dat API-problemen van invloed zijn op de gebruikers van de API.

Conclusie

Downtime is moeilijk te vermijden, maar de juiste supportsystemen en monitoringoplossingen kunnen dit tot bijna nul reduceren. Providers streven naar hoge beschikbaarheid (99,99% uptime) en veel van hen bereiken en behouden hun doel. Een andere oplossing die providers gebruiken om hun aanwezigheid op het web te controleren is Real User Monitoring (RUM). Met RUM kan een provider de feitelijke ervaring van zijn gebruikers bekijken (Digital Experience Monitoring of DEM). Hoewel RUM geen goede oplossing is voor het monitoren van uptime, biedt het performancegegevens op basis van de locatie van de gebruiker, browsertype en -versie, besturingssysteem en -versie, apparaattype en bekeken pagina's.