SaaS · AWS · ECS Fargate · Alta disponibilità

Migrazione di una piattaforma SaaS da EC2 a ECS Fargate

La piattaforma utilizzava una grande istanza EC2 sempre accesa, un database RDS sovradimensionato e rilasci manuali. L’applicazione è stata containerizzata e distribuita su ECS Fargate.

−20%Spesa AWS verificata
Multi-AZTask distribuiti tra zone
AutoscalingBasato su CPU e memoria
CI/CDBuild e deploy automatici
01 · Situazione iniziale

EC2 sempre attiva e RDS sovradimensionato

L'applicazione girava su una grande istanza EC2 sempre attiva. Anche RDS era dimensionato oltre il carico reale. La capacità era fissa, i costi altrettanto, ma non esisteva una vera strategia di scalabilità.

02 · Diagnosi

Ridurre la macchina non risolveva il problema operativo

Ridurre semplicemente la macchina avrebbe abbassato la fattura, ma lasciato invariati singolo punto di capacità, deploy manuali e impossibilità di reagire automaticamente ai cambi di carico.

03 · Compute

ECS Fargate su più Availability Zone

L'applicazione è stata containerizzata e spostata su ECS Fargate. I task vengono distribuiti tra più Availability Zone dietro un Application Load Balancer con health check e sostituzione dei task non sani.

04 · Elasticità

Autoscaling basato su CPU e memoria

Le policy di autoscaling aumentano o riducono il numero di task in base all'utilizzo. RDS è stato ridimensionato sul carico effettivo, eliminando capacità pagata senza un motivo operativo.

05 · Distribuzione

File statici su S3 e distribuzione CloudFront

I file statici sono stati spostati su S3 e distribuiti tramite CloudFront. Il load balancer resta responsabile del traffico applicativo, mentre CDN e object storage assorbono il lavoro adatto a loro.

06 · Delivery

Build e deploy con GitHub Actions

GitHub Actions compila l'applicazione, costruisce e pubblica l'immagine container e aggiorna il servizio ECS. Il deploy non dipende più da operazioni manuali sulla macchina di produzione.

Risultato

Risultati rilevati

Il confronto tra fatture AWS comparabili ha mostrato una riduzione del 20%. L'applicazione non dipende più da una singola istanza e i deploy sono automatizzati.

01

Costi AWS

Riduzione del 20% verificata confrontando le fatture.

02

Disponibilità

Task distribuiti su più Availability Zone dietro ALB.

03

Scalabilità

Numero di task regolato in base a CPU e memoria.

04

Deploy

Build dell'immagine e aggiornamento ECS tramite GitHub Actions.

Contatti

Vuoi verificare costi e architettura AWS?

Posso analizzare spesa, carico, disponibilità e processo di deploy.