Region versus Availability Zone: wat het verschil precies betekent
Kort antwoord
Een region is een geografisch gebied waarin een provider actief is. Een availability zone (AZ) is één fysiek gescheiden faciliteit binnen die region, met eigen stroom en netwerk, dicht genoeg bij andere AZ's in de region voor low-latency verbindingen ertussen, maar ver genoeg om onafhankelijk van elkaar uit te kunnen vallen. De keuze van een region bepaalt ruwweg waar je data staat. Spreiding over AZ's bepaalt of een probleem in één faciliteit je hele opzet mee onderuit kan halen.
Region: waar, in grote lijnen
Een region is de grove keuze: een land of metropoolregio waar een provider infrastructuur aanbiedt. De keuze van een region beantwoordt vooral twee vragen: hoe dicht zit dit bij de gebruikers of systemen die ermee communiceren, en onder welke juridische jurisdictie valt de data. Geen van beide vragen gaat over veerkracht. Een region zegt op zichzelf niets over hoeveel fysieke gebouwen je infrastructuur zou kunnen beslaan, of zelfs maar of het over meer dan één gebouw verspreid is.
Availability zone: welk gebouw, en staat het op zichzelf
Een availability zone is een specifieke, fysiek geïsoleerde faciliteit (of een strikt gescheiden deel daarvan) binnen een region. Het woord dat ertoe doet is geïsoleerd: een AZ hoort een eigen stroomvoorziening, eigen koeling en een eigen netwerkpad te hebben, zodat een storing in de ene AZ, een stroomstoring, een koelingsstoring, een brand, een lokaal netwerkincident, zich niet automatisch verspreidt naar de andere. AZ's binnen dezelfde region staan doorgaans dicht genoeg bij elkaar dat de netwerkverbinding ertussen snel blijft, waardoor het praktisch haalbaar is om één workload te verdelen over twee of drie AZ's zonder daar een zware latency-tol voor te betalen.
Waarom dit onderscheid in de praktijk belangrijk is
Een deployment die volledig in één faciliteit draait, hoe goed die faciliteit ook beheerd wordt, heeft één fysiek single point of failure. Als dat gebouw stroom verliest, koeling verliest, of te maken krijgt met een incident dat het offline haalt, valt alles erin tegelijk uit, ongeacht hoeveel redundantie je op server- of applicatieniveau hebt ingebouwd. Redundante voedingen en RAID-arrays beschermen je tegen een falend onderdeel binnen dat gebouw. Ze doen niets als het gebouw zelf uitvalt.
Spreiding van resources over meerdere AZ's binnen dezelfde region beschermt tegen precies dat type storing. Het betekent dat een incident op faciliteitsniveau de capaciteit van één AZ raakt, niet alles, en dat een goed ontworpen applicatie verkeer kan blijven bedienen vanuit wat er nog wel draait. Dit is een andere, aanvullende beschermingslaag dan spreiding van resources over meerdere servers of racks binnen één faciliteit: redundantie op serverniveau beschermt tegen falende hardware, redundantie op AZ-niveau beschermt tegen het uitvallen van de faciliteit zelf.