Nu bedrijven in toenemende mate afhankelijk zijn geworden van informatietechnologie, is hoge beschikbaarheid van groot belang. Maar wat is dat eigenlijk, en hoe is het te bereiken? Volgens Aad Dekkers moeten alle schakels in de keten even sterk zijn: hardware, software, opslag, services en beheer.
Hoge beschikbaarheid is voor sommigen een voorwaarde ‘sine qua non’ voor anderen ‘nice to have’. Maar wat is ‘high availability’ eigenlijk? Er blijkt nogal wat spraakverwarring te zijn. En moet hoge beschikbaarheid koste wat het kost worden nagestreefd? Het antwoord ligt genuanceerd. Er zijn diverse voorzieningen die de beschikbaarheid van een gekozen automatiseringsoplossing tegen acceptabele kosten kunnen verhogen. Wat acceptabel is, zal overigens van geval tot geval verschillen. Voor de verkeersleiding van een luchthaven of de effectentransactiesystemen van een wereldwijd opererende bank of effectenhuis gelden andere criteria dan voor een advocatenkantoor in Middelburg.
De groeiende vraag naar hoge beschikbaarheid is het resultaat van een aantal trends. Allereerst neemt de hoeveelheid data en elektronisch beschikbare informatie met hoge snelheid toe. Hiermee hangt samen dat automatisering steeds meer een centrale plaats inneemt binnen ondernemingen. Bedrijfskritisch is daarom een toepasselijke term in dit verband: het goed functioneren van het IT-systeem is een kritische factor voor het succesvol functioneren van het bedrijf. Dit geldt voor kleine bedrijven net zo hard als voor de grote multinationals, hoewel de gevolgen in absolute zin in het laatste geval natuurlijk veel groter zijn. De afhankelijkheid van IT zal in de toekomst alleen maar toenemen daar het aantal aan het netwerk verbonden apparaten sterk zal blijven toenemen. ‘Personal digital assistants’ (pda’s), mobiele telefoons, notebooks en andere nog niet eerder in een netwerk ondergebrachte intelligente apparaten vereisen in de toekomst continue ‘datatone’ of ‘webtone’. Dit zal dan net zo vanzelfsprekend zijn als de kiestoon (‘dialtone’) die je nu hoort bij het opnemen van de telefoon. Al die systemen moeten vrijwel volcontinu kunnen opereren.
Wat is beschikbaarheid?
Beschikbaarheid kan gedefinieerd worden als de tijd dat specifieke systemen, applicaties of data toegankelijk en bruikbaar zijn. Hogere beschikbaarheid begint al bij het systeemontwerp en strekt zich uit tot de overall software-applicatiestructuur. Vaak wordt beschikbaarheid gedefinieerd in termen van het percentage van de totale ‘uptime’ over de periode van een jaar. Zo betekent een beschikbaarheid van 99,99 procent (‘fault resilient clusters’) ongeveer 53 minuten ‘downtime’ per jaar volgens Gartner en de Transaction Processing Council. Een hoge beschikbaarheid wordt door hen gedefinieerd als een beschikbaarheid van 99,9 procent, resulterend in 8,8 uur ‘downtime’ per jaar.
Verschillende bronnen hanteren overigens verschillende grenzen, hetgeen al aangeeft dat hoge beschikbaarheid in wezen een relatief begrip is, en gerelateerd wordt aan het belang van een zo hoog mogelijke beschikbaarheid voor een onderneming.
Voor een groot deel is beschikbaarheid een resultante van betrouwbaarheid en beheersbaarheid. Hoe meer er ingebouwd wordt om het aantal fouten te reduceren, des te hoger de beschikbaarheid zal zijn. Ook het reduceren van de hersteltijd na een probleem houdt hiermee nauw verband. Vaak heeft men het over de ‘ras’-aspecten van beschikbaarheid: betrouwbaarheid (‘reliability’), beschikbaarheid (availability), service-gerichtheid (serviceability).
Betrouwbaarheid
Voorzieningen die de beschikbaarheid verhogen zijn onder te verdelen in drie groepen : Standaard/optioneel in de hardware; besturingssysteem en clustering.
In principe kan elke verbetering die resulteert in een vergroting van de betrouwbaarheid en de beschikbaarheid al als bijdrage aan hoge beschikbaarheid worden gezien. Zelfs ‘bugfixes’. Betrouwbare systemen (hardware plus software) moeten mijns inziens minimaal over de volgende voorzieningen beschikken:
Het systeem:
- ‘Dynamic reconfiguration & alternate pathing’ (dr/ap)
Online zijn belangrijke onderdelen van het systeem te wisselen, zoals I/O borden, geheugen en cpu-borden, vooropgesteld dat ook de componenten hierop afgestemd zijn (‘hot swappable’). - ‘Dynamic system domains’. Dit biedt de gelegenheid om meerdere virtuele systemen op te zetten binnen één systeem. De domeinen kunnen verschillende groottes aannemen en al dan niet onderling geclusterd worden, of geclusterd worden met een ander systeem
- Redundante voeding.
- Verschillende raid-niveaus. Verschillende niveaus van redundantie in opslag, van eenvoudige ‘mirror/duples’ tot volledige raid.
- Ook hier ‘hot swappable’ onderdelen en redundante voeding.
- ‘Remote dual copy’ (opslag over langere afstanden).
- ‘Fibre channel arbitrated loop’, zeer snelle opslagkoppelingen, dubbel uitgevoerd.
- UPS (accu) en generator, voor ononderbroken stroomvoorziening
- Klimaatbeheersing (temperatuur, vocht, statische elektriciteit).
- Systeembeheertools die proactief fouten opsporen en isoleren;
- ‘Naar huis telefoneren’ (‘Phone home’). Systeem informeert beheerder actief over een probleem, en staat toe om op afstand oplossingen te bieden.
Besturingssysteem
Het besturingssysteem speelt bij de hele discussie over hoge beschikbaarheid een sleutelrol. Voor echt bedrijfskritische omgevingen zal iedereen gebruik willen maken van bewezen technologie. De problemen die Windows NT momenteel ondervindt om geloofwaardig gevonden te worden als oplossing voor bedrijfskritische omgevingen, heeft Unix zo’n tien jaar geleden ook doorgemaakt. Unix was toen allesbehalve veilig. De openheid maakte het kwetsbaar en lastig te beheren. Hierdoor konden ook in een intrinsiek zeer stabiele omgeving toch fouten optreden. Inmiddels is Solaris uitgegroeid tot een zeer betrouwbaar en schaalbaar alternatief voor mainframe-omgevingen. Hierbij dient opgemerkt te worden dat Solaris clustering niet hoeft te gebruiken om schaalbaarheid te bereiken, hetgeen bij Windows NT wel het geval is. Bij Solaris doet clustering waar het voor bedoeld is: het verhoogt de beschikbaarheid.
Organisatorische aspecten
De meest geavanceerde voorzieningen met betrekking tot hoge beschikbaarheid blijken nutteloos wanneer de procedures fouten vertonen. Wie mag er muteren en waar? Wat zijn autorisaties, en zijn er controlemechanismen? Wat is er geregeld voor back-up, ‘fall back’-scenario’s en zelfs uitwijkcentra? De laatste zijn nauwelijks standaardkenmerken van hoge beschikbaarheid te noemen, maar ook problemen die niet hun oorsprong hebben in de IT-omgeving kunnen voorkomen, denk bijvoorbeeld aan brand of overstroming.
De menselijke factor speelt ook een rol bij de hele implementatie en het goed laten werken van de systemen. Professionale diensten (voor ontwerp met implementatie), educatieve diensten (voor training) en een goede service- en support-organisatie voor het onderhoud, zijn van levensbelang voor elke hoge beschikbaarheid. Hiermee hangt ook het begrip ‘serviceability’ samen: de tijd die het kost om een fout te isoleren en te herstellen. Hierbij moet iedereen weer overwegen of de kosten van een 7 x 24 uur servicecontract opwegen tegen die van een 5 x 8 uur contract in combinatie met een zelfherstellend systeem. Zaken als ‘dynamic reconfiguration’ en ‘alternate pathing’ zijn op dit gebied zeer belangrijk.
Aantal partijen
Voor een goede hoge beschikbaarheid komt het erop aan dat alle schakels in de keten even sterk zijn: hardware, software, opslag, services en beheer. De keten is zo sterk als de zwakste schakel. Alle prachtige voorzieningen zijn zinloos wanneer het geheel is opgehangen aan een niet beveiligd stopcontact, of wanneer de toegang tot het systeem vrij beschikbaar is. Om de keten te optimaliseren is het zeker handig, hoewel niet essentieel, om een aantal elementen bij dezelfde leverancier te betrekken. Zo is te verzekeren dat er niet op onderdelen een onredelijk kostbare over- of onderdimensionering plaatsvindt.
Voor elke organisatie verdient het aanbeveling om net als bij elke verzekering een goede inventarisatie te maken van de mogelijke risico’s van tijdelijke uitval van het systeem en de kans daarop. Vervolgens is een inschatting te maken van de financiële consequenties – op korte zowel als lange termijn (schade voor imago, klantentrouw, enzovoort). Daaruit volgt dan een maximaal bedrag dat besteed mag worden om een omgeving voor hoge beschikbaarheid neer te zetten, waarbij het essentieel is om alle elementen op hetzelfde niveau van beschikbaarheid te brengen. Zorgwekkend is in dit licht toch dat het enthousiasme voor de aanpak van het ‘jaar 2000’-probleem niet synchroon lijkt te lopen met de belangstelling voor hoge beschikbaarheid, hoewel de consequenties van de eerste wellicht veel ingrijpender zijn.
Aad Dekkers, product marketing manager computer systems
Sun Microsystems Nederland