Alegeți disponibilitatea între zone și regiuni
TerminatComparați proiectările de înaltă disponibilitate, Multi-AZ și multi-region. Urmăriți traseul complet al cererii și testați defecțiunea la care trebuie să reziste fiecare proiectare.
Publicat de TaigaCum scriem
Verificați ce ați înțelesDouă replici web rulează în AZ-uri diferite. Ambele necesită aceeași bază de date dintr-o singură AZ. Ce dovedește aceasta?Faceți exercițiul
Ce veți învăța
- Explicați diferența dintre o Availability Zone și o Region.
- Găsiți dependențele comune care compromit proiectarea disponibilității.
- Comparați valoarea pentru afacere și costul operării unei instalări multi-region.
Începeți cu operațiunea utilizatorului
Înalta disponibilitate (HA) urmărește menținerea unui serviciu utilizabil în ciuda defecțiunilor componentelor. Definiți ce înseamnă utilizabil înainte de a alege arhitectura. O pagină de rezervare care se încarcă, în timp ce toate cererile de rezervare eșuează, nu este un serviciu de rezervări disponibil.
Stabiliți un obiectiv de nivel al serviciului (SLO) pentru operațiunea importantă. Definiți ce cereri se numără, ce înseamnă reușita și perioada de măsurare. SLA-ul unui serviciu cloud descrie angajamentul furnizorului respectiv. Nu dovedește disponibilitatea măsurată a aplicației dumneavoastră.
Ca ilustrație, disponibilitatea de 99,9% bazată pe timp permite 43,2 minute de indisponibilitate într-o lună de 30 de zile. Un SLO bazat pe cereri are alt numitor. Niciuna dintre măsuri nu spune câte date puteți pierde și nu garantează durata maximă a unei singure întreruperi.
Înțelegeți limitele defecțiunilor
O AWS Availability Zone (AZ) este o locație de infrastructură izolată într-o Region. O regiune conține mai multe AZ-uri. O proiectare multi-region distribuie componentele sarcinii de lucru în mai multe regiuni. Alți furnizori au propriile limite și comportamente ale serviciilor; inspectați serviciul selectat.
| Proiectare | Defecțiune pe care o poate trata | Ce necesită în continuare proiectare |
|---|---|---|
| Mai multe procese într-o AZ | Defecțiunea unui proces sau a unei gazde | Pierderea AZ-ului și dependențele comune |
| Multi-AZ într-o regiune | Pierderea unei AZ | Defecțiune regională, coruperea datelor și recuperare |
| Mai multe regiuni | Pierderea unei regiuni | Rutare, consecvența datelor, capacitate și servicii comune |
Acestea sunt posibilități de proiectare, nu garanții de disponibilitate. O etichetă nu dovedește că fiecare componentă necesară folosește limita intenționată.
Urmăriți traseul complet al cererii
Luați în considerare un serviciu fictiv de rezervări. Replicile web rulează în două AZ-uri. Ambele folosesc o bază de date și un gateway de ieșire în AZ A. Gateway-ul este necesar pentru apelarea furnizorului de plăți.
Dacă AZ A eșuează, replica web din AZ B poate rămâne sănătoasă, în timp ce rezervările continuă să eșueze. Echipa trebuie să evalueze baza de date, traseul de rețea, furnizorul de identitate, dependența de plăți și rutarea. Inspectați modul efectiv al bazei de date gestionate: replicarea, failover-ul și comportamentul instanțelor de citire variază după produs și configurație.
Verificați și capacitatea. Resursele rămase trebuie să gestioneze încărcarea necesară. O proiectare care se bazează pe crearea capacității în timpul incidentului depinde de cote, resurse disponibile și operațiunile planului de control.
Executați un exercițiu controlat cu o limită definită, condiții de oprire și un responsabil. Verificați o rezervare completă, inclusiv reconcilierea plății. Notați cererile eșuate și timpul până la restabilirea funcționării utile.
Decideți dacă o altă regiune rezolvă problema
Operarea multi-region adaugă transfer de date, resurse duplicate, coordonarea instalărilor și muncă operațională. Active/passive păstrează un mediu pregătit să preia traficul. Active/active deservește traficul din mai multe medii. Pregătirea necesară și comportamentul datelor diferă.
Pentru serviciul de rezervări, scrierile simultane introduc o întrebare: pot două regiuni să vândă același loc? Definiți autoritatea pentru rezervare și comportamentul la întreruperea replicării. „Replicați baza de date” nu este un răspuns complet.
Verificați locațiile permise ale datelor, cheile de criptare, certificatele, DNS-ul, secretele și serviciile externe. O întrerupere a serviciului comun de identitate sau o lansare defectuoasă poate afecta mai multe regiuni. Mai multe locații nu elimină orice cauză comună.
Conectați disponibilitatea la recuperare
HA gestionează defecțiuni specificate în timpul operării. Recuperarea în caz de dezastru restaurează un serviciu utilizabil și datele sale după un eveniment perturbator. Un serviciu multi-region are totuși nevoie de un plan de recuperare pentru ștergeri sau date corupte.
Documentați scenariile de defecțiune alese și pe cele acceptate de afacere. Păstrați testele și definițiile infrastructurii aliniate pe măsură ce aplicația se schimbă. Continuați cu RTO, RPO și recuperarea în caz de dezastru.
Faceți exercițiul
Un serviciu fictiv de rezervări rulează replici web în două AZ-uri. Baza sa de date și gateway-ul de ieșire sunt într-o singură AZ. Desenați traseul cererii. Eliminați acea AZ pe hârtie. Identificați ce mai funcționează, ce eșuează și ce test ar verifica concluzia.
Descărcați fișa de lucru (Markdown)Debifarea acestei opțiuni șterge tot progresul salvat în acest browser.
Progresul rămâne în acest browser. Fără cont, fără urmărire.
Surse și lecturi suplimentare
- AWS: Deploy the workload to multiple locations ↗
- AWS: Shared responsibility model for resiliency ↗
- Google SRE: Implementing SLOs ↗