Resilienza e alta disponibilità
L'infrastruttura di CrowdHandler è progettata per garantire disponibilità e operatività continue. Adottiamo i seguenti meccanismi di resilienza e tolleranza ai guasti:
Zone di disponibilità AWS
Utilizziamo più zone di disponibilità in ciascuna regione AWS per garantire la ridondanza a livello di data center. Ciò garantisce protezione contro i guasti che potrebbero interessare un’intera zona.
Implementazioni di database Multi-AZ
I nostri database MySQL RDS sono distribuiti in modalità multi-AZ su 3 zone di disponibilità. Ciò garantisce la replica sincrona dei dati con failover automatico in caso di malfunzionamenti dell'istanza del database o di interruzioni nelle zone di disponibilità.
Replica tra regioni AWS
Replichiamo l'intera infrastruttura e tutti i dati dalla nostra regione primaria US-East-1 alla regione US-East-2. Ciò include:
- Snapshot dei database - Effettuiamo snapshot ogni ora dei database di produzione, che vengono poi replicati su US-East-2. In caso di disastro a livello di regione, possiamo ripristinare i dati a partire da uno snapshot.
- Replica dei bucket S3 - Tutti i dati presenti nei bucket S3 di produzione vengono replicati in modo asincrono nei bucket US-East-2.
- Backup AMI - Le immagini dei server EC2 (ove utilizzati) vengono salvate su US-East-2 nel caso in cui fosse necessario avviare server sostitutivi.
- Controlli di integrità di Route53 - Utilizziamo i controlli di integrità di Route53 per monitorare gli endpoint sia nella regione US-East-1 che nella regione US-East-2. Se necessario, il traffico può essere rapidamente reindirizzato verso la regione secondaria.
Test di ripristino in caso di disastro
Effettuiamo test annuali di ripristino di emergenza per garantire di poter reindirizzare tutto il traffico e passare alla regione US-East-2 in caso di un'interruzione significativa nella regione US-East-1. Questi test prevedono:
- Simulazione di un'interruzione di servizio nella regione US-East-1 che richiederebbe il failover
- Promozione dei database di standby nella regione US-East-2 affinché diventino primari
- Aggiornamento dei server DNS o delle origini delle applicazioni per instradare tutto il traffico verso US-East-2
- Esecuzione di test per verificare la disponibilità delle applicazioni e l'accesso al database
- Una volta completati i test, tornare a US-East-1
Le misure di resilienza di CrowdHandler garantiscono protezione contro guasti alle infrastrutture, interruzioni del software e interruzioni di servizio a livello regionale. I sistemi a tolleranza ai guasti, la replica dei dati tra le diverse regioni e i test periodici di ripristino di emergenza ci danno la certezza di poter ripristinare i servizi con tempi di inattività minimi anche a seguito di eventi catastrofici. La nostra architettura di disponibilità è progettata per garantire un funzionamento continuo e un'esperienza cliente senza interruzioni.