Availability e High Availability su Google Cloud Platform
☁️ Availability e High Availability su Google Cloud Platform
🔍 Cos’è l’Availability?
L’availability è una metrica tanto semplice quanto cruciale:
L’applicazione è disponibile quando gli utenti ne hanno bisogno?
Si misura come percentuale di tempo in cui un’app fornisce le funzionalità previste.
Per esempio:
- 99.99% → massimo 4 minuti e mezzo di inattività al mese
- 99.999% → solo 26 secondi di downtime al mese!
Sono chiamati anche “quattro nove” o “cinque nove”.
📉 Esempio: tabella availability
Availability | Downtime mensile |
---|---|
99.95% | ~22 minuti |
99.99% | ~4 minuti e mezzo |
99.999% | ~26 secondi |
🤯 Perché è difficile da garantire?
Se il tuo SLA richiede il 99.95% ma rilasci 5 volte al mese e ogni rilascio dura 5 minuti…
Hai 25 minuti di downtime.
🚫 Hai già superato il limite.
🏗️ Come ottenere High Availability su GCP
Per essere altamente disponibile, la tua app non deve essere solo frontend:
App = frontend + backend + API + DB + servizi
Tutto deve essere disponibile, sempre.
🧱 Strategia 1: Regional Instance Groups
Distribuisci le VM di Compute Engine su più zone nella stessa regione
→ sopravvivi ai guasti zonali
🌍 Strategia 2: Global Load Balancing
Crea gruppi di istanze in più regioni
→ Usa il Global HTTPS Load Balancer
→ Bilancia il traffico tra regioni in automatico
🩺 Strategia 3: Health Checks
- Rileva e sostituisci le VM non funzionanti
- Configura health check a livello di gruppo e bilanciatore
🔄 Strategia 4: Live Migration
Attiva la migrazione live su Compute Engine
→ aggiornamenti e patch senza downtime
✅ I vantaggi su GCP
- Il Load Balancer è un servizio gestito da Google
- Il sistema attiva auto healing automatico
- I servizi scalano automaticamente
💡 Benefici reali
Con questa architettura puoi sopravvivere a:
- 🔥 Guasti di zona
- ⚡ Interruzioni regionali
- 🧑💻 Manutenzioni senza interrompere il servizio