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:

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.

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à.

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.

di ripristino in caso di disastri#

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:

  1. Simulazione di un'interruzione di servizio nella regione US-East-1 che richiederebbe il failover
  2. Promozione dei database di standby nella regione US-East-2 affinché diventino primari
  3. Aggiornamento dei server DNS o delle origini delle applicazioni per instradare tutto il traffico verso US-East-2
  4. Esecuzione di test per verificare la disponibilità delle applicazioni e l'accesso al database
  5. 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 blackout regionali. 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.