31 Dicembre 2024

Ottimizzazione dei costi Cloud, Magento su AWS, come risparmiare il 90% del budget.

Ottimizzare i costi cloud senza sacrificare le prestazioni: come migrare da AWS a soluzioni dedicate per risparmiare e ottenere maggiore controllo.

Indice dei contenuti dell'articolo:

Quando si parla di cloud computing, uno dei nomi che emerge immediatamente è Amazon Web Services (AWS). AWS rappresenta senza dubbio una delle piattaforme più potenti e affidabili al mondo, in grado di offrire una vasta gamma di servizi per supportare infrastrutture di qualsiasi dimensione e complessità. Tuttavia, la domanda fondamentale che ci si deve porre è: AWS è sempre la scelta migliore?

In questo articolo analizzeremo il caso reale di un’infrastruttura AWS utilizzata per ospitare un sito Magento 2 con circa 200.000 visitatori mensili. Approfondiremo i costi vivi, le prestazioni e come siamo riusciti a ottimizzare radicalmente la spesa migrando a un’architettura dedicata con una replica in cloud, mantenendo o addirittura migliorando le prestazioni.

Il punto di partenza: 26.000 euro all’anno su AWS

Come si può evincere dalla “bolletta” di AWS e dal riepilogo dei costi vivi degli ultimi 6 mesi mostrato nell’immagine seguente, l’infrastruttura originaria su AWS aveva un costo annuo complessivo di circa 26.000 euro, ovvero oltre 2.300 euro al mese.

Questa spesa rappresentava l’insieme dei costi per diversi servizi chiave, ognuno con un ruolo specifico all’interno dell’ecosistema. Tuttavia, l’analisi dettagliata dei costi ha evidenziato come gran parte delle risorse fosse sottoutilizzata rispetto alle necessità reali del progetto, rendendo l’investimento sproporzionato e più che investimento una mera spesa senza valore aggiunto.

Sebbene questi servizi siano progettati per garantire alte prestazioni e scalabilità, la somma di questi costi, come evidenziato nella bolletta, ha rappresentato un onere significativo che non rifletteva pienamente le necessità del progetto. Questa discrepanza ha spinto a esplorare soluzioni alternative più efficienti ed economicamente sostenibili.

Costi-Bolletta-Amazon-AWS

L’elenco dei servizi includeva:

RDS (Relational Database Service): circa 400 euro/mese

RDS è il servizio gestito di AWS per i database relazionali, progettato per semplificare la configurazione, la scalabilità e la gestione. Questo servizio include backup automatici, aggiornamenti di sicurezza e monitoraggio integrato. Tuttavia, l’utilizzo di RDS comporta costi significativi, soprattutto in scenari in cui è necessaria una configurazione avanzata con alta disponibilità e replica.

ECS con EC2 (Elastic Compute Service): circa 900 euro/mese

ECS (Elastic Container Service) è il servizio di orchestrazione dei container di AWS, spesso abbinato a istanze EC2 per eseguire carichi di lavoro containerizzati. In questo caso, era stata utilizzata un’istanza EC2 con 16 vCore per gestire il traffico di 200.000 visitatori mensili. Sebbene performante, il costo era elevato rispetto alle risorse effettivamente sfruttate.

ElastiCache: 140 euro/mese per la gestione della cache

ElastiCache è il servizio gestito di AWS per la gestione della cache in memoria, utilizzato per migliorare le prestazioni delle applicazioni. In questo caso, era stato configurato per gestire le sessioni degli utenti e la cache delle pagine. Pur essendo una soluzione efficace, il costo mensile di 140 euro era un elemento critico nell’analisi complessiva.

OpenSearch: 125 euro/mese per la ricerca avanzata

OpenSearch, precedentemente noto come Elasticsearch Service, è un servizio gestito per la ricerca e l’analisi dei dati. Utilizzato per fornire funzionalità di ricerca avanzata su Magento, rappresentava una spesa significativa per un componente che poteva essere sostituito con alternative self-hosted senza compromettere le prestazioni.

Route53, WAF e CloudFront: circa 50 euro/mese

Questa combinazione di servizi forniva:

  • Route53: un DNS affidabile e scalabile
  • WAF (Web Application Firewall): protezione contro attacchi comuni come SQL injection e cross-site scripting
  • CloudFront: distribuzione di contenuti tramite rete CDN (Content Delivery Network) per migliorare i tempi di caricamento globali

Anche se essenziali per garantire sicurezza e velocità, l’utilizzo combinato comportava costi aggiuntivi che potevano essere ridotti con soluzioni alternative.

CloudWatch: 30 euro/mese per il monitoraggio

CloudWatch è il servizio di monitoraggio di AWS per raccogliere e analizzare metriche in tempo reale. Sebbene utile per diagnosticare problemi e ottimizzare le prestazioni, rappresentava un costo non trascurabile rispetto alle alternative open-source disponibili.

EFS (Elastic File System): utilizzato per lo storage condiviso

EFS è un sistema di file condiviso scalabile e completamente gestito, utilizzato per archiviare dati condivisi tra più istanze. Tuttavia, le prestazioni si limitavano a circa 150 MB/s, risultando un collo di bottiglia in alcuni scenari, oltre a generare costi mensili elevati.

Questi servizi, non efficienti e non performanti, generavano una spesa significativa che, per molti progetti, non è giustificabile rispetto ai risultati. Inoltre, molti dei servizi gestiti da AWS, pur semplificando la gestione operativa, limitavano il controllo diretto sulle configurazioni, rendendo difficile ottimizzare l’infrastruttura per esigenze specifiche. Da qui, la necessità di una revisione completa per ridurre i costi mantenendo prestazioni elevate.

Il cambiamento: migrazione a un’architettura dedicata e replica in cloud

Dopo un’attenta analisi delle esigenze del cliente e delle reali necessità dell’applicazione, abbiamo deciso di migrare l’infrastruttura ad un server dedicato ben dimensionato ed opportunamente configurato con una replica in cloud, mantenendo un focus sulle prestazioni e sulla resilienza. Il risultato? Una riduzione drastica dei costi annuali a circa 3.000 euro, rispetto ai 26 mila euro originali ovvero meno di 10 volte il costo originario.

Ecco come abbiamo ottimizzato ciascun componente:

1. Database (RDS vs Percona Server for MySQL 8)

AWS-RDS-VS-MYSQL

Il database rappresenta il cuore pulsante di qualsiasi applicazione web, specialmente per piattaforme complesse come Magento 2. Amazon RDS (Relational Database Service) è una soluzione gestita che semplifica la configurazione e la manutenzione dei database relazionali, offrendo funzionalità avanzate come il backup automatico, la replica e l’aggiornamento delle patch. Tuttavia, il suo costo elevato, circa 400 euro al mese, può risultare proibitivo per progetti con budget più contenuti.

La migrazione:
Per ottimizzare i costi senza sacrificare le funzionalità, RDS è stato sostituito con Percona Server for MySQL 8, una soluzione open-source altamente performante e compatibile con le stesse caratteristiche di RDS.

Implementazione:

  • La nuova configurazione è stata realizzata su un server dedicato, garantendo un ambiente ottimizzato per le esigenze specifiche del cliente.
  • Backup automatici e replica sono stati implementati tramite script personalizzati, assicurando una protezione completa dei dati e una gestione flessibile.

I vantaggi:

  • Riduzione dei costi: L’adozione di Percona Server ha completamente eliminato i costi associati a RDS.
  • Maggiore controllo: La gestione self-hosted permette un controllo più granulare sul database, consentendo di ottimizzare le query e adattare le configurazioni alle reali necessità dell’applicazione.
  • Prestazioni migliorate: Grazie all’ottimizzazione hardware e software, le prestazioni del database sono state significativamente incrementate rispetto alla soluzione precedente.

Con questa migrazione, è stato possibile ottenere un sistema database performante, affidabile e molto più economico, dimostrando che soluzioni open-source e configurazioni dedicate possono competere con i servizi cloud gestiti senza compromessi.

2. Elaborazione (ECS con EC2 vs server dedicato)

AWS-EC2-VS-Server-Dedicato

Amazon ECS (Elastic Container Service) è una piattaforma di orchestrazione per container Docker, utilizzata per eseguire, arrestare e gestire container in un cluster. Solitamente, ECS viene combinato con istanze EC2 (Elastic Compute Cloud), che forniscono la potenza di calcolo necessaria. Nel caso specifico, veniva utilizzata un’istanza EC2 con 16 vCore per supportare il carico di lavoro del sito Magento 2. Tuttavia, il costo mensile di circa 900 euro si è rivelato eccessivo rispetto al rapporto tra risorse fornite e necessità effettive.

La migrazione:
Per ridurre i costi e aumentare le prestazioni, l’infrastruttura ECS/EC2 è stata sostituita con un server dedicato dotato di 48 core e 96 thread, al costo di soli 199 euro/mese.

Implementazione:

  • Il server dedicato è stato configurato per ospitare i container in un ambiente virtualizzato, garantendo flessibilità e scalabilità.
  • Sono stati utilizzati hypervisor per isolare i servizi principali, mantenendo una chiara separazione tra applicazioni e processi di sistema.
  • La distribuzione dei container è stata ottimizzata per sfruttare appieno le risorse hardware, consentendo un notevole incremento delle capacità di calcolo disponibili.

I vantaggi:

  • Aumento delle risorse: Con il nuovo server, le risorse disponibili sono state triplicate, passando da 16 vCore a 48 core fisici e 96 thread, un miglioramento significativo per la gestione di carichi di lavoro intensivi.
  • Riduzione dei costi: Il costo mensile è stato ridotto a meno di un quarto rispetto alla soluzione precedente, generando risparmi considerevoli.
  • Maggiore controllo: La migrazione a un server dedicato ha permesso una gestione più diretta e personalizzata delle risorse, senza le limitazioni imposte dall’ambiente gestito di ECS.
  • Flessibilità operativa: L’ambiente virtualizzato consente di adattarsi rapidamente a nuove esigenze, garantendo allo stesso tempo isolamento e sicurezza.

Con questa strategia, è stato possibile migliorare drasticamente le prestazioni e ridurre i costi, dimostrando che soluzioni self-hosted e ben ottimizzate possono competere con le offerte cloud, anche per carichi di lavoro impegnativi.

3. Caching (ElastiCache vs Redis.io)

ElastiCache-VS-REDIS

Amazon ElastiCache è il servizio gestito di AWS progettato per semplificare l’implementazione di cache in memoria, utilizzando tecnologie come Redis o Memcached. La cache è fondamentale per migliorare le prestazioni di applicazioni web, riducendo il carico sul database e velocizzando i tempi di risposta. Nel caso specifico, il servizio ElastiCache era utilizzato per gestire la cache delle sessioni utente e delle pagine, con un costo mensile di circa 140 euro.

La migrazione:
Per ridurre i costi mantenendo le stesse funzionalità, ElastiCache è stato sostituito con Redis.io, un sistema open-source robusto e ampiamente adottato che offre prestazioni elevate a costo zero.

Implementazione:

  • Redis è stato installato e configurato su un’istanza dedicata per garantire performance ottimali e isolamento delle risorse.
  • Sono stati applicati settaggi personalizzati per adattare Redis alle specifiche esigenze del progetto, come la gestione efficiente delle sessioni utente e il caching delle pagine dinamiche.
  • È stato implementato un monitoraggio continuo per garantire la stabilità del servizio e identificare eventuali colli di bottiglia.

I vantaggi:

  • Riduzione dei costi: L’adozione di Redis.io ha completamente eliminato il costo mensile di ElastiCache, portando a un risparmio immediato.
  • Miglioramento delle prestazioni: L’utilizzo di hardware dedicato e configurazioni su misura ha permesso di ottimizzare i tempi di risposta della cache, riducendo la latenza delle richieste.
  • Maggiore flessibilità: Redis, essendo self-hosted, offre pieno controllo sulle impostazioni e sulla scalabilità, adattandosi meglio alle necessità dell’infrastruttura.
  • Affidabilità: Redis.io è noto per la sua stabilità e per il supporto a funzionalità avanzate come la persistenza dei dati e le repliche master-slave.

Questa migrazione ha dimostrato che una soluzione open-source e self-hosted può offrire le stesse funzionalità di un servizio gestito, riducendo i costi e garantendo prestazioni eccellenti.

4. Ricerca (OpenSearch vs ElasticSearch)

AWS-OpenSearch-VS-ElasticSearch

Amazon OpenSearch (ex Elasticsearch Service) è un servizio gestito che semplifica la gestione e l’utilizzo di Elasticsearch, uno dei motori di ricerca e analisi più diffusi al mondo. Questo servizio è spesso utilizzato per implementare funzionalità avanzate di ricerca e analisi dei dati. Nel caso specifico, OpenSearch aveva un costo mensile di 125 euro, risultando un peso economico significativo per il progetto.

La migrazione:
Per abbattere i costi senza rinunciare alle funzionalità avanzate, OpenSearch è stato sostituito con ElasticSearch, una soluzione open-source gratuita che offre le stesse capacità di indicizzazione e ricerca.

Implementazione:

  • ElasticSearch è stato installato su un server dedicato per garantire massime prestazioni e controllo totale sull’infrastruttura.
  • Sono state applicate ottimizzazioni specifiche per migliorare l’efficienza delle query di ricerca e l’indicizzazione dei dati, riducendo i tempi di risposta.
  • È stata sviluppata un’integrazione tramite API personalizzate, consentendo una comunicazione fluida tra ElasticSearch e il resto dell’infrastruttura applicativa.

I vantaggi:

  • Riduzione dei costi: L’utilizzo della versione open-source di ElasticSearch ha completamente eliminato il costo mensile associato a OpenSearch, generando risparmi immediati.
  • Miglioramento delle prestazioni: Grazie a configurazioni personalizzate e a un ambiente dedicato, i tempi di risposta delle query sono stati significativamente ridotti.
  • Maggiore flessibilità: ElasticSearch self-hosted offre pieno controllo sulle configurazioni, permettendo una migliore adattabilità alle esigenze specifiche del progetto.
  • Compatibilità: L’integrazione tramite API personalizzate ha assicurato una transizione senza interruzioni e ha migliorato l’efficienza dell’infrastruttura nel suo complesso.

La migrazione a ElasticSearch ha permesso di ottenere una soluzione altrettanto potente ma più economica e personalizzabile, dimostrando ancora una volta il valore delle soluzioni open-source per progetti di alta complessità.

5. DNS, CDN e sicurezza (Route53, WAF e CloudFront vs Cloudflare Pro)

CloudFront-VS-CloudFlare

AWS offre una serie di servizi dedicati a DNS (Route53), sicurezza web (WAF – Web Application Firewall) e distribuzione di contenuti tramite CDN (CloudFront). Questi servizi funzionano con un modello di pricing a consumo, dove i costi variano in base all’utilizzo effettivo, come il numero di richieste, la larghezza di banda consumata e le regole di sicurezza configurate. Sebbene questa flessibilità sia utile per ambienti con carichi variabili, può portare a costi imprevedibili e difficilmente controllabili.

La migrazione:
Per ottenere una maggiore prevedibilità nei costi e ridurre la spesa complessiva, l’infrastruttura AWS è stata sostituita con Cloudflare Pro, che utilizza un modello di prezzo flat a costo fisso di 25 euro al mese, indipendentemente dal traffico o dalle richieste elaborate.

Implementazione:

  • DNS Anycast: Cloudflare utilizza un’architettura DNS distribuita a livello globale, garantendo tempi di risoluzione rapidi e alta resilienza, inclusa la protezione nativa contro attacchi DDoS.
  • Protezione DDoS: Cloudflare Pro offre una protezione avanzata contro attacchi di tipo DDoS inclusa nel piano, senza costi aggiuntivi basati sull’intensità degli attacchi, come invece potrebbe accadere su AWS.
  • Ottimizzazione delle immagini e supporto WebP: Il servizio offre ottimizzazioni automatiche per ridurre la dimensione delle immagini e migliorarne i tempi di caricamento, con conversione nativa al formato WebP per ridurre ulteriormente la larghezza di banda.
  • CDN globale: La rete di distribuzione dei contenuti di Cloudflare velocizza il caricamento delle pagine ovunque nel mondo, includendo funzioni avanzate come il caching e il serving dinamico dei contenuti.
  • Regole di sicurezza personalizzabili: Cloudflare consente di configurare regole di sicurezza avanzate per proteggere applicazioni e server, semplificando l’impostazione rispetto a WAF di AWS.

Differenze di approccio:

  • AWS (pricing a consumo): Il modello di AWS si basa su una tariffazione variabile, legata al numero di richieste DNS, alla quantità di traffico gestito dal CDN, e alle regole applicate dal WAF. Sebbene flessibile, questo approccio può portare a costi elevati e difficili da stimare in anticipo, specialmente in caso di picchi di traffico o attacchi imprevisti.
  • Cloudflare Pro (flat fee): Cloudflare adotta un modello di prezzo fisso, che consente di pianificare con precisione i costi operativi indipendentemente dal volume di traffico, offrendo protezione e ottimizzazione senza sorprese.

I vantaggi:

  • Costi prevedibili e ridotti: Cloudflare Pro ha dimezzato i costi mensili rispetto ai servizi AWS, portandoli da 50 euro a 25 euro al mese con una tariffa fissa e prevedibile.
  • Prestazioni elevate: Grazie al DNS Anycast e alla rete CDN globale, i tempi di caricamento delle pagine e di risoluzione DNS sono stati migliorati, con un’alta disponibilità garantita.
  • Semplicità operativa: Cloudflare integra in un’unica piattaforma DNS, CDN e protezione DDoS, riducendo la complessità di gestione e l’interoperabilità tra servizi separati.
  • Maggiore sicurezza: La protezione inclusa contro attacchi DDoS e la gestione delle regole di sicurezza semplificate rendono Cloudflare Pro una soluzione robusta e affidabile.

Questa migrazione ha evidenziato come un modello di pricing flat, come quello offerto da Cloudflare Pro, possa risultare più vantaggioso rispetto al modello a consumo di AWS, garantendo al contempo prestazioni elevate e un’infrastruttura semplificata.

6. Monitoraggio (CloudWatch vs Netdata e CheckMK)

CloudWatch-VS-NetData

Amazon CloudWatch è il servizio gestito di AWS per il monitoraggio delle risorse cloud e delle applicazioni, offrendo raccolta di metriche, log e alert. Questo servizio ha un costo mensile che varia in base al numero di metriche monitorate, alle richieste di API e alla quantità di dati registrati, e nel caso specifico generava una spesa di circa 30 euro al mese. Sebbene efficace, CloudWatch presenta alcune limitazioni in termini di personalizzazione e scalabilità per ambienti on-premise o ibridi.

La migrazione:
Per ottenere un monitoraggio più granulare e abbattere i costi, CloudWatch è stato sostituito con Netdata e CheckMK, due soluzioni open-source che offrono funzionalità avanzate senza costi di licenza.

Implementazione:

  • Netdata:
    • Installato per il monitoraggio in tempo reale di metriche di sistema, come CPU, RAM, utilizzo del disco e rete.
    • Fornisce una dashboard interattiva e dettagliata, consentendo una rapida analisi delle prestazioni.
  • CheckMK:
    • Utilizzato per il monitoraggio proattivo di servizi, applicazioni e infrastrutture distribuite.
    • Configurato per raccogliere dati da più host e generare alert su metriche critiche, come l’utilizzo delle risorse e la disponibilità dei servizi.
  • Integrazione e alert:
    • Entrambi gli strumenti sono stati integrati in un’unica piattaforma di gestione, con alert personalizzati inviati tramite email o webhook per rispondere rapidamente agli imprevisti.

I vantaggi:

  • Eliminazione dei costi: L’adozione di Netdata e CheckMK ha completamente azzerato i costi di monitoraggio, eliminando la spesa mensile di 30 euro di CloudWatch.
  • Monitoraggio più dettagliato: Grazie alla granularità offerta da Netdata e CheckMK, è stato possibile raccogliere metriche più approfondite, migliorando la capacità di diagnosi e ottimizzazione delle prestazioni.
  • Personalizzazione: Gli alert personalizzati e la possibilità di adattare le configurazioni agli specifici requisiti del progetto hanno reso il sistema più reattivo e versatile rispetto a CloudWatch.
  • Scalabilità: Le soluzioni open-source utilizzate si adattano facilmente a infrastrutture on-premise, ibride o cloud, senza restrizioni legate a un provider specifico.

Questa migrazione ha dimostrato che strumenti open-source come Netdata e CheckMK possono sostituire efficacemente servizi gestiti come CloudWatch, migliorando il monitoraggio e garantendo maggiore flessibilità operativa a costo zero.

7. Storage (EFS vs ZFS)

EFS-VS-OpenZFS

Amazon Elastic File System (EFS) è un servizio di storage condiviso scalabile e completamente gestito, ideale per applicazioni che necessitano di accesso simultaneo ai dati da più istanze. Tuttavia, EFS presenta costi proporzionali all’utilizzo e, nel caso specifico, offriva una velocità di trasferimento dati limitata a circa 150 MB/s, risultando un collo di bottiglia per le applicazioni ad alta intensità di I/O.

La migrazione:
EFS è stato sostituito con una configurazione locale basata su ZFS in modalità OpenZFS su AlmaLinux 9, implementando un sistema RAIDZ1 su tre drive SSD NVMe di quarta generazione da 3,84 TB ciascuno. Inoltre, sono state aggiunte funzionalità avanzate di snapshot ZFS e backup remoto per garantire resilienza e continuità operativa.

Implementazione:

  • Drive SSD NVMe di quarta generazione:
    • Tre drive SSD ad alte prestazioni con capacità totale di 11,52 TB (effettivamente utilizzabili circa 7,68 TB con RAIDZ1).
    • Velocità di lettura e scrittura ottimizzata per applicazioni che richiedono accesso rapido ai dati.
  • RAIDZ1:
    • Implementazione di RAIDZ1 per garantire tolleranza ai guasti con la perdita di un singolo disco, mantenendo prestazioni elevate.
    • Ridondanza integrata, proteggendo i dati in caso di guasti hardware.
  • OpenZFS su AlmaLinux 9:
    • Configurazione del filesystem ZFS per sfruttare funzionalità avanzate come compressione automatica, caching intelligente e snapshot.
    • Ottimizzazione per carichi di lavoro specifici, come letture e scritture sequenziali ad alta intensità.
  • Snapshot frequenti:
    • Implementazione di snapshot ZFS ogni 15 minuti per creare punti di ripristino frequenti, utili per proteggere i dati da errori umani o corruzione.
    • Gli snapshot vengono mantenuti sia in locale che trasferiti in remoto.
  • Replica remota:
    • Utilizzo di ZFS SEND e ZFS RECEIVE per replicare gli snapshot su una SAN in Cloud remota, garantendo una copia sicura e geografica dei dati.
    • Questa configurazione offre una protezione aggiuntiva in caso di disastro locale, permettendo un rapido ripristino dei dati.

I vantaggi:

  • Prestazioni eccezionali: La nuova configurazione ha portato a una velocità di trasferimento dati fino a 5800 MB/s, un miglioramento straordinario rispetto ai 150 MB/s di EFS.
  • Costi azzerati: Lo storage locale ha eliminato completamente i costi mensili di EFS, generando risparmi significativi.
  • Affidabilità avanzata: RAIDZ1 protegge i dati da guasti hardware, mentre gli snapshot frequenti e la replica remota garantiscono una resilienza elevata contro perdita di dati o disastri.
  • Flessibilità operativa: L’utilizzo di OpenZFS consente un controllo completo sulle configurazioni, offrendo funzionalità come snapshot programmabili e repliche remote in tempo quasi reale.
  • Ripristino rapido: Gli snapshot ZFS permettono di recuperare i dati in pochi minuti in caso di errori o corruzione, sia in locale che dalla copia remota.
  • Scalabilità: La configurazione è facilmente espandibile, sia localmente aggiungendo nuovi dischi, sia in cloud aumentando lo spazio della SAN remota.

Questa soluzione ha trasformato l’infrastruttura di storage, garantendo prestazioni superiori, sicurezza avanzata e una flessibilità senza precedenti, dimostrando che una configurazione ben progettata può superare di gran lunga le capacità dei servizi gestiti a costi molto più contenuti.

RPO e RTO: Disaster Recovery con Snapshot ZFS, Backup Incrementali e Automazione

Backup-e-Disaster-Recovery

Un elemento cruciale del nuovo design è stato l’implementazione di un sistema di disaster recovery avanzato, basato su snapshot frequenti, backup incrementali e automazione. Questo approccio garantisce una protezione completa dei dati e un ripristino rapido in caso di guasto o disastro, riducendo al minimo la perdita di dati e i tempi di inattività.

RPO (Recovery Point Objective): 15 minuti

Grazie all’utilizzo di snapshot ZFS configurati per essere eseguiti ogni 15 minuti, sia sui file del sistema che sul database, è possibile mantenere un RPO estremamente basso. Gli snapshot vengono replicati su una SAN remota tramite ZFS SEND e ZFS RECEIVE, garantendo una copia geografica dei dati sempre aggiornata.

Backup incrementali avanzati

Come ulteriore precauzione, il sistema prevede:

  • Backup dei file con Borg Backup e Restic:
    • Due backup incrementali al giorno vengono salvati su due SAN geograficamente separate, configurate in RAID 6 per garantire un’elevata tolleranza ai guasti.
    • L’uso combinato di Borg Backup e Restic permette di sfruttare compressione e deduplicazione avanzate, riducendo al minimo lo spazio occupato e i tempi di backup.
  • Backup del database con Percona Xtrabackup:
    • Il database viene sottoposto a backup incrementali due volte al giorno utilizzando Percona Xtrabackup nel formato xbstream compresso Zstandard, che garantisce velocità di esecuzione e riduzione dello spazio di archiviazione.
    • I backup sono sincronizzati con le SAN geografiche, assicurando copie sicure e disponibili in caso di necessità.

RTO (Recovery Time Objective): 60 minuti

Un playbook Ansible è stato implementato per automatizzare il ripristino dell’intera infrastruttura in caso di disastro. Questa automazione consente di:

  • Ricreare l’ambiente completo (server, configurazioni, servizi) su nuove risorse in meno di un’ora.
  • Recuperare i dati più recenti dagli snapshot ZFS o dai backup incrementali in base alla situazione.
  • Ripristinare il funzionamento dell’applicazione con una perdita minima di dati (massimo 15 minuti, in linea con l’RPO).

Vantaggi del sistema di disaster recovery

  • Ridondanza completa: Snapshot frequenti e backup incrementali distribuiti su più SAN geografiche garantiscono che i dati siano sempre protetti.
  • Ripristino rapido: Grazie all’automazione con Ansible, il ripristino è veloce e privo di errori manuali.
  • Flessibilità: La combinazione di ZFS, Borg Backup, Restic e Percona Xtrabackup consente di coprire ogni scenario, dal recupero di file individuali al ripristino completo dell’ambiente.
  • Resilienza: RAID 6 sulle SAN geografiche aggiunge un ulteriore livello di protezione contro guasti hardware multipli.

Questa configurazione assicura una gestione proattiva e resiliente del disaster recovery, minimizzando sia i tempi di ripristino che la perdita di dati, e garantendo continuità operativa anche in scenari di emergenza.

Considerazioni su AWS e il valore percepito

AWS-Amazon

AWS è indiscutibilmente una delle migliori reti al mondo. Offre una vasta gamma di servizi, scalabilità immediata e un’affidabilità senza pari, rendendolo spesso la scelta preferita per grandi aziende o progetti con budget illimitati. Tuttavia, è sempre la scelta migliore?

Il costo reale di AWS

Quando si considera AWS, è importante distinguere tra i costi vivi dei servizi e i costi di gestione associati. Nel caso analizzato, l’infrastruttura su AWS aveva un costo vivo di 26.000 euro annui, ma questa cifra rappresentava solo una parte del totale.

  • Costi di gestione proporzionali: Il vecchio fornitore aggiungeva costi di gestione basati sul valore complessivo della spesa sostenuta su AWS. Questi costi, calcolati spesso come una percentuale significativa del totale, potevano facilmente aumentare del 20-30% il costo complessivo.
  • Costo complessivo annuale: Di conseguenza, ai 26.000 euro annui di costi vivi su AWS si aggiungeva una cospicua spesa per la gestione, portando il totale a cifre ben superiori.

Con la migrazione a un’infrastruttura dedicata e una gestione completa “chiavi in mano”, i costi di gestione sono scesi di oltre il 70%, garantendo al cliente non solo un risparmio immediato, ma anche un servizio personalizzato e ottimizzato per le sue necessità. Questo ha dimostrato che una gestione autonoma e ben progettata può abbattere i costi senza compromettere la qualità del servizio.

Il prestigio del brand e la percezione del cliente

Uno dei motivi per cui AWS, così come Google Cloud o Azure, viene spesso scelto è la percezione di prestigio e affidabilità associata al brand. Molti clienti finali vedono queste piattaforme come sinonimo di qualità e sicurezza, giustificando così i costi elevati. Tuttavia, questa percezione non sempre riflette una reale comprensione delle necessità tecniche e operative dell’applicazione.

Cloud Architect vs Sistemista

Cloud-Architect-VS-Sistemista

Il ruolo di un Cloud Architect è spesso percepito come una figura di alto livello, associata a competenze avanzate e a un lavoro sofisticato. Tuttavia, nella pratica, il lavoro di un Cloud Architect può ridursi alla configurazione di istanze, servizi e regole tramite interfacce grafiche fornite da piattaforme come AWS, Google Cloud o Azure. Questo approccio, seppur utile per semplificare la gestione, non sempre aggiunge valore significativo oltre alla scelta della piattaforma stessa.

Un sistemista esperto, al contrario, si distingue per la sua capacità di andare oltre le limitazioni delle piattaforme gestite, offrendo soluzioni più flessibili, personalizzate e, spesso, più economiche.

I punti di forza di un sistemista esperto

  1. Replicare le stesse funzionalità su infrastrutture alternative:
    • Un sistemista ha competenze approfondite che gli permettono di replicare funzionalità come alta disponibilità, bilanciamento del carico, scaling dinamico e sicurezza su infrastrutture alternative, spesso self-hosted o con provider più economici.
    • Questo consente di ottenere gli stessi risultati funzionali senza i costi elevati delle piattaforme gestite, mantenendo un controllo completo su ogni aspetto dell’infrastruttura.
  2. Personalizzare l’architettura per adattarla alle esigenze del cliente:
    • Mentre le piattaforme cloud gestite offrono soluzioni standardizzate e preconfigurate, un sistemista può progettare e implementare un’architettura ad hoc, ottimizzata per le specifiche esigenze di prestazioni, carico e sicurezza del progetto.
    • Ad esempio, può scegliere tecnologie open-source o configurazioni specifiche per migliorare le prestazioni del database, ottimizzare la gestione dello storage o implementare soluzioni di caching avanzate.
  3. Garantire prestazioni superiori a costi inferiori:
    • Eliminando il peso del marchio e i costi a consumo delle piattaforme cloud, un sistemista può progettare soluzioni che offrono prestazioni superiori a una frazione del costo.
    • Con una configurazione dedicata, le risorse hardware possono essere dimensionate esattamente alle necessità del progetto, evitando sprechi o costi inutili legati alla sovraccapacità.

La differenza fondamentale: conoscenza vs dipendenza

Un Cloud Architect che lavora esclusivamente su piattaforme gestite spesso sviluppa una dipendenza dagli strumenti forniti dalla piattaforma stessa, limitando la sua capacità di operare al di fuori di quell’ambiente. Questo può essere problematico quando è necessario ridurre i costi o adattarsi a situazioni in cui la piattaforma scelta non è disponibile o ideale.

Il sistemista, invece, sviluppa una conoscenza profonda delle tecnologie sottostanti, che gli consente di:

  • Gestire direttamente la configurazione di server, database e reti, senza bisogno di interfacce grafiche.
  • Scegliere le migliori tecnologie e strategie, indipendentemente dal provider.
  • Implementare soluzioni flessibili, replicabili su qualsiasi infrastruttura, sia on-premise che in cloud.

Un approccio olistico all’infrastruttura

Un sistemista esperto non si limita alla progettazione e configurazione iniziale, ma offre un approccio olistico all’infrastruttura:

  • Ottimizzazione continua: Monitora e migliora costantemente le prestazioni, riducendo i colli di bottiglia e implementando aggiornamenti tecnologici quando necessario.
  • Gestione proattiva: Implementa soluzioni per la prevenzione di guasti e la gestione del disaster recovery, come snapshot frequenti, repliche remote e backup incrementali.
  • Riduzione dei costi operativi: Identifica opportunità per ridurre i costi senza sacrificare la qualità del servizio, ad esempio tramite l’adozione di tecnologie open-source o configurazioni personalizzate.

Un piccolo esempio concreto

Consideriamo la gestione di un database. Un Cloud Architect potrebbe limitarsi a configurare un database RDS su AWS, scegliendo le opzioni disponibili tramite l’interfaccia. Un sistemista, invece, potrebbe:

  • Scegliere un database open-source come Percona Server for MySQL.
  • Configurare manualmente replica, backup e ottimizzazioni delle query.
  • Garantire prestazioni migliori e costi ridotti, eliminando completamente le spese di RDS.

Il valore reale per il cliente

Grazie a questa combinazione di competenze tecniche e flessibilità, il sistemista è in grado di offrire:

  • Un rapporto costo-prestazioni superiore.
  • Maggiore indipendenza da un singolo provider.
  • Una gestione personalizzata e “chiavi in mano” dell’intera infrastruttura.

In un mondo dove il valore percepito spesso supera il valore reale, il sistemista rappresenta una figura in grado di riportare il focus sull’efficienza, l’ottimizzazione e il risparmio, senza sacrificare la qualità del servizio.

La qualità della rete

Un’altra obiezione comune è che provider alternativi come Hetzner o OVH non abbiano la stessa qualità di rete di AWS. Sebbene sia vero che AWS offra una rete leader a livello mondiale, esperienze pratiche dimostrano che downtime significativi sono estremamente rari anche con provider più economici.

  • Esempio pratico: Quest’anno Hetzner ha registrato meno di un’ora di downtime totale, un valore che molti clienti possono facilmente accettare considerando il risparmio ottenuto.
  • Domanda critica: Vale la pena spendere 19.000 euro in più all’anno per eliminare quell’ora di downtime? Per la maggior parte dei progetti, la risposta è no.

Il nuovo approccio: risparmio e controllo

Con la migrazione a un’infrastruttura dedicata, non solo sono stati ridotti drasticamente i costi vivi, ma il cliente ha beneficiato anche di:

  • Costi prevedibili: L’eliminazione della fatturazione a consumo ha permesso di pianificare con precisione il budget senza sorprese.
  • Gestione centralizzata: Un servizio “chiavi in mano” ha semplificato l’operatività e ridotto i costi di gestione.
  • Maggiore controllo: La possibilità di ottimizzare ogni aspetto dell’infrastruttura ha garantito prestazioni superiori rispetto alla configurazione su AWS.

Questa esperienza ha dimostrato che AWS non è sempre la scelta ideale, soprattutto quando il costo è un fattore critico. Con un’analisi attenta delle esigenze e una gestione autonoma esperta, è possibile ottenere risultati uguali o migliori, con costi complessivi significativamente inferiori.

Conclusioni

AWS rappresenta una delle piattaforme più avanzate e affidabili al mondo, capace di soddisfare le esigenze dei progetti più complessi e scalabili. Tuttavia, non è sempre la scelta più conveniente o adatta, specialmente quando il budget è un fattore critico o le necessità tecniche possono essere soddisfatte con alternative più economiche e flessibili.

L’esperienza dimostra che è possibile ottenere prestazioni pari, se non superiori, con configurazioni personalizzate su Server Dedicati o provider cloud più economici. Questo approccio non solo riduce drasticamente i costi vivi, ma consente anche una maggiore personalizzazione e ottimizzazione dell’infrastruttura, adattandola in modo preciso alle necessità del progetto.

Ridurre i costi non è solo una questione economica. È un’opportunità per:

  • Ottimizzare le risorse: Eliminando sprechi e sovraccarichi inutili spesso imposti dalle piattaforme gestite.
  • Migliorare il controllo: Grazie alla possibilità di scegliere e configurare tecnologie open-source e soluzioni self-hosted, garantendo indipendenza e flessibilità operativa.
  • Creare infrastrutture sostenibili: Progettare ambienti che non solo abbattano i costi a breve termine, ma siano anche facilmente scalabili e gestibili nel lungo periodo.

Un invito alla valutazione consapevole

Il prestigio di un brand come AWS non deve guidare automaticamente la scelta della piattaforma. Ogni progetto ha esigenze uniche che richiedono un’analisi attenta e personalizzata. La scelta della tecnologia deve essere basata su criteri pratici: costi, prestazioni, scalabilità e controllo, piuttosto che su una percezione di affidabilità associata al nome del provider.

La vera differenza sta nella progettazione

La capacità di ottenere prestazioni elevate a costi contenuti non risiede nella piattaforma scelta, ma nella competenza con cui l’infrastruttura viene progettata e gestita. Una configurazione ben studiata, supportata da strumenti open-source e da un’esperienza operativa approfondita, può superare di gran lunga le soluzioni preconfezionate offerte dalle piattaforme cloud più note.

In definitiva, il successo di un progetto non si misura dal provider utilizzato, ma dall’efficienza, sostenibilità e controllo che l’infrastruttura è in grado di offrire. Puntare su soluzioni flessibili e su una gestione esperta consente di raggiungere obiettivi ambiziosi senza compromettere il budget o la qualità del servizio.

Hai dei dubbi? Non sai da dove iniziare? Contattaci !

Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

Managed Server S.r.l. è un player italiano di riferimento nel fornire soluzioni avanzate di sistemistica GNU/Linux orientate all’alta performance. Con un modello di sottoscrizione dai costi contenuti e prevedibili, ci assicuriamo che i nostri clienti abbiano accesso a tecnologie avanzate nel campo dell’hosting, server dedicati e servizi cloud. Oltre a questo, offriamo consulenza sistemistica su sistemi Linux e manutenzione specializzata in DBMS, IT Security, Cloud e molto altro. Ci distinguiamo per l’expertise in hosting di primari CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart e Magento, affiancato da un servizio di supporto e consulenza di alto livello adatto per la Pubblica Amministrazione, PMI, ed aziende di qualsiasi dimensione.

Red Hat, Inc. detiene i diritti su Red Hat®, RHEL®, RedHat Linux®, e CentOS®; AlmaLinux™ è un marchio di AlmaLinux OS Foundation; Rocky Linux® è un marchio registrato di Rocky Linux Foundation; SUSE® è un marchio registrato di SUSE LLC; Canonical Ltd. detiene i diritti su Ubuntu®; Software in the Public Interest, Inc. detiene i diritti su Debian®; Linus Torvalds detiene i diritti su Linux®; FreeBSD® è un marchio registrato di The FreeBSD Foundation; NetBSD® è un marchio registrato di The NetBSD Foundation; OpenBSD® è un marchio registrato di Theo de Raadt. Oracle Corporation detiene i diritti su Oracle®, MySQL®, e MyRocks®; Percona® è un marchio registrato di Percona LLC; MariaDB® è un marchio registrato di MariaDB Corporation Ab; REDIS® è un marchio registrato di Redis Labs Ltd. F5 Networks, Inc. detiene i diritti su NGINX® e NGINX Plus®; Varnish® è un marchio registrato di Varnish Software AB. Adobe Inc. detiene i diritti su Magento®; PrestaShop® è un marchio registrato di PrestaShop SA; OpenCart® è un marchio registrato di OpenCart Limited. Automattic Inc. detiene i diritti su WordPress®, WooCommerce®, e JetPack®; Open Source Matters, Inc. detiene i diritti su Joomla®; Dries Buytaert detiene i diritti su Drupal®. Amazon Web Services, Inc. detiene i diritti su AWS®; Google LLC detiene i diritti su Google Cloud™ e Chrome™; Microsoft Corporation detiene i diritti su Microsoft®, Azure®, e Internet Explorer®; Mozilla Foundation detiene i diritti su Firefox®. Apache® è un marchio registrato di The Apache Software Foundation; PHP® è un marchio registrato del PHP Group. CloudFlare® è un marchio registrato di Cloudflare, Inc.; NETSCOUT® è un marchio registrato di NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, e Kibana® sono marchi registrati di Elastic N.V. Hetzner Online GmbH detiene i diritti su Hetzner®; OVHcloud è un marchio registrato di OVH Groupe SAS; cPanel®, L.L.C. detiene i diritti su cPanel®; Plesk® è un marchio registrato di Plesk International GmbH; Facebook, Inc. detiene i diritti su Facebook®. Questo sito non è affiliato, sponsorizzato o altrimenti associato a nessuna delle entità sopra menzionate e non rappresenta nessuna di queste entità in alcun modo. Tutti i diritti sui marchi e sui nomi di prodotto menzionati sono di proprietà dei rispettivi detentori di copyright. Ogni altro marchio citato appartiene ai propri registranti. MANAGED SERVER® è un marchio registrato a livello europeo da MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italia.

Torna in alto