Projektowanie wysoko dostępnych architektur

Wyobraź sobie, że Twoja aplikacja to szpital. Czy wystarczy, że ma jedne drzwi wejściowe? A co jeśli się zablokują? W architekturze chmurowej myślenie o dostępności to absolutna podstawa. W tej lekcji nauczysz się trzech kluczowych koncepcji, które AWS uwielbia pytać na egzaminie: High Availability, Fault Tolerance i Disaster Recovery.

High Availability vs Fault Tolerance vs Disaster Recovery

Te trzy pojęcia brzmią podobnie, ale oznaczają zupełnie różne rzeczy. Zrozumienie różnic to klucz do egzaminu Cloud Practitioner.

⚖️ HA vs FT vs DR
CechaHigh AvailabilityFault ToleranceDisaster Recovery
CelMinimalizacja downtimeZero downtime nawet przy awariiOdzyskanie po katastrofie
KosztUmiarkowanyWysoki (pełna redundancja)Zależy od strategii
PrzykładMulti-AZ RDS (failover ~60s)Samolot z wieloma silnikamiBackup + przywracanie w innym regionie
DowntimeKrótki (sekundy/minuty)BrakZależy od RTO

High Availability (HA) oznacza, że system działa przez większość czasu. Krótkie przerwy są akceptowalne, ale system szybko wraca do działania. Pomyśl o tym jak o sklepie, który ma dwa wejścia. Jeśli jedno jest zablokowane, wchodzisz drugim.

Fault Tolerance (FT) idzie o krok dalej. System działa nieprzerwanie, nawet gdy jeden komponent padnie. To jak samolot z czterema silnikami: jeśli jeden zgaśnie, pozostałe trzy utrzymują maszynę w powietrzu bez żadnej przerwy w locie.

Disaster Recovery (DR) to strategia na wypadek poważnej katastrofy: pożar w data center, powódź, awaria całego regionu. Nie chodzi o to, żeby system nigdy nie padł, ale o to, żeby można go było szybko odbudować.

⚠️ EXAM ALERT
Na egzaminie AWS często testuje różnicę między HA a FT. Zapamiętaj: HA = system wraca do działania szybko (krótki downtime jest OK). FT = system działa cały czas bez przerwy (zero downtime). DR = plan odzyskania po katastrofie.

RTO i RPO: dwa magiczne skróty

Kiedy planujesz Disaster Recovery, musisz odpowiedzieć na dwa kluczowe pytania:

RTO (Recovery Time Objective) = ile czasu możesz sobie pozwolić na downtime? Jeśli Twoje RTO wynosi 4 godziny, to po katastrofie musisz przywrócić system w ciągu 4 godzin.

RPO (Recovery Point Objective) = ile danych możesz stracić? Jeśli Twoje RPO wynosi 1 godzina, to backup musi być robiony co najmniej co godzinę. Wszystko od ostatniego backupu do momentu awarii jest stracone.

🏢 Scenariusz: Sklep internetowy

Prowadzisz sklep e-commerce. Właśnie wyznaczyłeś cele DR:

  • RTO = 1 godzina: po awarii sklep musi wrócić w ciągu godziny, bo każda minuta bez sprzedaży to straty
  • RPO = 15 minut: maksymalnie możesz stracić 15 minut zamówień (te trzeba będzie odtworzyć ręcznie)

To oznacza, że potrzebujesz częstych backupów (co 15 minut) i szybkiej procedury przywracania (poniżej godziny). Na AWS możesz to osiągnąć np. z RDS automated backups + Multi-AZ + cross-region read replica.

Multi-AZ vs Multi-Region

AWS daje Ci dwa poziomy redundancji geograficznej:

Multi-AZ (Availability Zones) to rozmieszczenie zasobów w różnych Availability Zones w ramach jednego regionu. AZ to osobne data centers (lub grupy data centers) w tym samym mieście/obszarze, połączone szybkimi łączami. Odległość między nimi to kilka-kilkadziesiąt kilometrów.

Multi-Region to rozmieszczenie zasobów w różnych regionach AWS (np. eu-west-1 i us-east-1). Regiony to kompletnie niezależne lokalizacje, często na różnych kontynentach.

⚖️ Multi-AZ vs Multi-Region
AspektMulti-AZMulti-Region
Ochrona przedAwaria jednego data centerAwaria całego regionu, katastrofy naturalne
LatencjaBardzo niska (ms)Wyższa (dziesiątki ms)
KosztUmiarkowanyWyższy (duplikacja infrastruktury)
ZłożonośćNiska (wbudowana w wiele usług)Wysoka (synchronizacja danych)
PrzykładRDS Multi-AZ, ALB + EC2 w wielu AZDynamoDB Global Tables, S3 Cross-Region Replication
💡 Praktyczna zasada
Multi-AZ to absolutne minimum dla produkcji. Multi-Region stosujesz, gdy masz wymagania globalnej dostępności lub potrzebujesz ochrony przed katastrofą na poziomie całego regionu. Większość firm startuje od Multi-AZ i dopiero później rozważa Multi-Region.

Active-Active vs Active-Passive

Dwa popularne wzorce architektoniczne, które zobaczysz na egzaminie:

Active-Active: oba środowiska (np. dwa regiony) obsługują ruch jednocześnie. Ruch jest rozdzielany między nie (np. przez Route 53). Jeśli jedno padnie, drugie przejmuje cały ruch. Zaleta: zero downtime, lepsze wykorzystanie zasobów. Wada: wyższy koszt, trudniejsza synchronizacja danych.

Active-Passive: jedno środowisko (active) obsługuje cały ruch. Drugie (passive/standby) czeka w gotowości. Gdy active padnie, passive się aktywuje. Zaleta: prostsze, tańsze (passive może być mniejsze). Wada: czas przełączenia (failover), passive "marnuje" zasoby w oczekiwaniu.

🏢 Scenariusz: Bank vs blog

Bank online: wybiera active-active. Każda sekunda downtime to utrata zaufania klientów i potencjalne straty finansowe. Dwa regiony obsługują ruch równolegle przez Route 53 z latency-based routing.

Blog firmowy: wybiera active-passive. Kilka minut downtime przy failover jest akceptowalne. Primary region obsługuje cały ruch, a w secondary regionie stoi minimalna infrastruktura gotowa do aktywacji.

Strategie Disaster Recovery

AWS definiuje cztery strategie DR, od najtańszej do najdroższej:

1. Backup & Restore: najprostsza i najtańsza. Robisz regularne backupy do innego regionu (np. S3 Cross-Region Replication). Po katastrofie odtwarzasz infrastrukturę i dane z backupów. RTO: godziny. RPO: zależy od częstotliwości backupów.

2. Pilot Light: minimalna wersja środowiska działa w drugim regionie (np. baza danych z replikacją). Reszta infrastruktury jest "wyłączona" (AMI gotowe, ale EC2 nie uruchomione). Po katastrofie "zapalasz" resztę. RTO: dziesiątki minut.

3. Warm Standby: pomniejszona, ale działająca wersja systemu w drugim regionie. Np. zamiast 10 instancji EC2 masz 2, ale cała infrastruktura działa. Po katastrofie skalujesz do pełnej wielkości. RTO: minuty.

4. Multi-Site / Hot Standby: pełna kopia środowiska w drugim regionie, obsługująca ruch (active-active). Najdroższe, ale praktycznie zero downtime. RTO: sekundy.

Wybór strategii DR zależy od budżetu i wymagań biznesowych:

  • Backup & Restore: RPO godziny, RTO godziny. Koszt: $. Dobre dla systemów o niskim priorytecie.
  • Pilot Light: RPO minuty, RTO dziesiątki minut. Koszt: $$. Baza danych stale synchronizowana, reszta do uruchomienia.
  • Warm Standby: RPO sekundy, RTO minuty. Koszt: $$$. Cały system działa w mniejszej skali.
  • Multi-Site: RPO ~0, RTO sekundy. Koszt: $$$$. Pełna redundancja, ruch obsługiwany równolegle.

Na egzaminie Cloud Practitioner musisz rozpoznać, którą strategię wybrać na podstawie wymagań RTO/RPO i budżetu klienta.

Usługi AWS wspierające HA i DR

Wiele usług AWS ma wbudowane mechanizmy wysokiej dostępności:

  • Elastic Load Balancing (ELB): rozkłada ruch na wiele instancji w wielu AZ
  • Auto Scaling: automatycznie zastępuje uszkodzone instancje
  • RDS Multi-AZ: automatyczny failover do standby w innej AZ
  • S3: domyślna replikacja w wielu AZ (11 dziewiątek trwałości)
  • DynamoDB Global Tables: multi-region, active-active replikacja
  • Route 53: health checks i DNS failover
  • CloudFormation: Infrastructure as Code do szybkiego odtwarzania infrastruktury w innym regionie
⚠️ EXAM ALERT
AWS S3 ma domyślnie 99.999999999% (11 dziewiątek) durability. Dane są automatycznie replikowane w minimum 3 AZ. To jeden z najczęściej pojawiających się faktów na egzaminie.
✅ Checklist: Wysoka dostępność w praktyce
Rozmieść zasoby w minimum 2 AZ
Użyj ELB do dystrybucji ruchu
Włącz Auto Scaling do automatycznego zastępowania instancji
Wybierz Multi-AZ dla baz danych (RDS, ElastiCache)
Zdefiniuj RTO i RPO dla swojego systemu
Wybierz strategię DR odpowiednią do budżetu
Testuj swoje procedury DR regularnie!
🧠 Podsumowanie
  • High Availability = minimalizacja downtime (krótkie przerwy OK). Fault Tolerance = zero downtime. Disaster Recovery = plan na katastrofę
  • RTO = ile czasu na przywrócenie systemu. RPO = ile danych możesz stracić
  • Multi-AZ chroni przed awarią jednego data center. Multi-Region chroni przed awarią całego regionu
  • Active-Active = oba środowiska obsługują ruch. Active-Passive = jedno czeka w standby
  • Strategie DR od najtańszej: Backup & Restore, Pilot Light, Warm Standby, Multi-Site
  • Wiele usług AWS (S3, RDS, DynamoDB) ma wbudowane mechanizmy HA
🧪 Sprawdź się

Firma potrzebuje, aby jej aplikacja działała bez żadnej przerwy, nawet gdy jeden serwer ulegnie awarii. Jakiego podejścia potrzebuje?

A High Availability
B Fault Tolerance
C Disaster Recovery
Fault Tolerance oznacza zero downtime nawet przy awarii komponentu. High Availability akceptuje krótkie przerwy, a Disaster Recovery to plan odzyskania po poważnej katastrofie.

Firma chce chronić się przed awarią całego regionu AWS, ale ma ograniczony budżet. Która strategia DR jest najtańsza?

A Warm Standby
B Multi-Site (Hot Standby)
C Backup & Restore
Backup & Restore to najtańsza strategia DR. Polega na regularnych backupach do innego regionu i odtwarzaniu infrastruktury po awarii. RTO jest najdłuższe (godziny), ale koszt minimalny.

Czym jest RPO (Recovery Point Objective)?

A Maksymalna ilość danych, którą można stracić
B Maksymalny czas na przywrócenie systemu
C Minimalna liczba replik danych
RPO (Recovery Point Objective) określa, ile danych możesz stracić, mierzone w czasie od ostatniego backupu. RTO (Recovery Time Objective) to maksymalny czas na przywrócenie systemu.