Wie zegt dat een hostingpartij dat moet doen? Sterker nog, daar heb je vaak helemaal niets aan als het op een grote calamiteit aan komt. Als er meerdere klanten getroffen zijn, gaan ze eerst kijken naar hun eigen infra, dan naar de best betalende klanten en uiteindelijk de klanten die niet de middellen hebben om dure en uitgebreide omgevingen neer te zetten. En ook de hardware-leveranciers hebben maar beperkte voorraad, dus die gaan ook hun prioriteiten stellen. Als er in Almere 5000 IBM-servers zijn afgefikt dan duurt het wel even voor IBM die allemaal kan vervangen.
Nee, mijn inziens moet je het toch zélf op een slimme manier oplossen. En de offsite-backup is natuurlijk al genoemd. Maar je hebt inderdaad hardware nodig om alles op te laten draaien. En als de verantwoordelijke managers niet een paar hersencellen te weinig hebben dan is die vaak wel voorhanden in de vorm van een non-prod omgeving.
Want in een beetje professioneel bedrijf heb je een development-lifecycle ingericht. Development gebeurt in een DEV omgeving, de primaire tests in TST, dan gaat het door naar de 'User Acceptance Test' (UAT), eventueel naar een pre-productie om uiteindelijk naar productie te gaan. Waarbij productie en pre-productie fysiek los staan van de andere omgevingen. Bij een calamiteit in productie is vaak de eerste prio om die weer online te krijgen. Heb je het geluk van een pre-prod of disaster-recovery omgeving, dan kan het overschakelen vrij rap gaan; de software staat er al en in het geval van DR de data ook. Bij DR hoef je vaak enkel de mirror te verbreken en de replicatie (indien mogelijk) om te draaien, VM's te starten en je kunt weer verder. Bij een pre-prod omgeving zul je de productie-storage of diens mirror misschien nog even beschkbaar moeten maken en je bent ook relatief snel terug. Maar heb je geen pre-prod of DR, dan is het te hopen dat je je storage(mirror) beschikbaar hebt op de locatie van je non-prod omgevingen. Dan is het daar de non-prod down brengen en de productieomgevingen opzetten. Dat kost serieus meer tijd.
Ik heb in verschillende bedrijven een uitwijk (test) meegemaakt en er komen altijd zaken boven drijven die je niet had verwacht. Even een paar voorbeeldjes / lesjes:
- DNS: De primaire DNS-server van productieservers staat doorgaans... bij diezelfde productieservers op dezelfde hardware. Fikt die site eruit, is de primaire DNS-server ook weg. Staat de secondaire DNS-server ook op diezelfde plek? Bad luck... succes met het resolven van je management-portals. Staat de secondaire server op een secondaire site, dan kan alles wel werken maar moet je rekening houden met vertragingen. Immers, de servers gaan vaak eerst de primaire DNS-server proberen voordat ze naar de secondaire overgaan. En natuurlijk zijn er altijd appliances (vaak ingericht met handwerk ipv. automation) die enkel de primaire DNS-server kennen. Les: als het netwerk van de primaire DNS-server niet gestretched kan worden zodat hij eenvoudig naar de andere kant kan, zorg dan aan de uitwijkzijde voor een non-routable netwerk waar de secondaire (of andere) DNS-server hetzelfde IP-adres krijgt als de primaire. Bij een productiecalamiteit laat maak je dat netwerk routable binnen je uitwijkomgeving. Zo komt er snel een DNS-server terug op het oorspronkelijke IP-adres.
- IP-adressen: Als een van de locaties uitvalt, vallen ook alle netwerksegmenten weg die niet gestreched zijn. Applicaties of componenten die voor hun afhankelijkheden naar IP-adressen kijken zullen na het uitwijken niet werken als ze die IP adressen niet kunnen bereiken. Ook als ze via DNS verbinden werkt het niet zomaar. Les: Zorg dus dat je die netwerksegmenten snel terug online krijgt op de uitwijk of beter nog, zorg dat ze er al zijn zonder dat er routes naartoe lopen. Kun je dat niet? Zorg dan dat je DNS-tooling hebt om bulk-mutaties te kunnen doen. Dus alles van 10.<prod>.x.y naar 10.<uitwijk>.x.y.
- Active Directory: Gaat doorgaans prima, merk je niets aan.... totdat blijkt dat de DC met de PDC-emulator FSMO-rol weg is. Dan kun je geen wachtwoorden meer aanpassen en moet je lang wachten wanneer je een fout wachtwoord hebt ingevoerd. Les: zo snel mogelijk die (en andere FSMO-rollen) controleren overzetten; eventueel met uitzondering van de RID-master.
- VPN: Leuk die remote-access / thuiswerken. Maar waar komt die VPN binnen? In de afgefikte productielocatie? Auch! Les: Ook een toegangspunt inrichten op de uitwijklocatie en de clients juist configureren.
- Hypervisor: Die heb je natuurlijk nodig om VM's alle kanten op te schoppen. Maar zou je die wel op je productielocatie willen hosten? Als non-prod/uitwijk uitvalt heb je tijd om die over te halen naar productie. Maar als productie wegvalt? Dan wil je hem meteen kunnen gebruiken. Hetzelfde geldt ook voor je deployment-omgeving. Les: Overweeg om alles wat niet direct productie is maar wat je bij een productie-calamiteit wel snel nodig hebt standaard uit te wijken. Denk ook aan je hypervisor-VM bijvoorbeeld. Als je non-prod weg valt heb je waarschijnlijk tijd zat om die naar productie te halen. Maar als productie weg valt... En gebruik je DHCP/BOOTP voor je deployments? Zorg dan dat de DHCP-agents op de routers goed staan voor zowel de productie als de uitwijk of dat je ze snel kunt aanpassen. Les 2: Zorg dat je altijd weet WAAR en op WELKE HOST (of subset van hosts) de hypervisor staat. Zodat je deze handmatig kunt (her)starten als het nodig mocht zijn. Je wilt niet op 25 hosts inloggen om er uiteindelijk achter te komen dat de hypervisor heel ergens anders staat.
Zo kan ik nog wel even doorgaan. Want naar mijn ervaring kun je het nog zo mooi beschrijven en in procedures proberen te vatten, maar uiteindelijk is het toch de wetten van Murphy's die blijven gelden. De enige manier om de schade van Murphy te beperken is door regelmatig te testen. Helaas hebben veel managers last van koud-watervrees en moeten ze eerst in het diepe gesmeten worden voordat ze daar ook maar aan durven denken. Want stel je voor dat productie er periodiek gepland en gecontroleerd op zondagmorgen om 3 uur er even een half uurtje uitgaat... Terwijl er geen betere uitwijk-leerschool is dan dat.