Aiutare un festival no-profit di musica e videogiochi a migrare verso le funzionalità native di AWS
Scopri come Adaptavist ha supportato MAGFest nella migrazione della sua infrastruttura IT e nella containerizzazione di un’applicazione monolitica utilizzando AWS.
Requisiti per la migrazione e la containerizzazione con AWS
- Containerizzare un’applicazione monolitica
- Migrare l’infrastruttura
- Trasferire la gestione continuativa dell’infrastruttura
- Stabilire best practice di sicurezza cloud appropriate
Settore: arte e cultura
Numero di dipendenti: 7 e 1.000 volontari
Media di partecipanti al festival: 25.000
Risultati in sintesi
Capacità di scalare per gestire picchi improvvisi di domanda durante la vendita dei biglietti del festival e di ridimensionamento durante i periodi di minore attività.
Software intuitivo per gli sviluppatori, più accessibile e universalmente utilizzato.
Aumento della produttività e dell’efficienza degli sviluppatori e implementazione più rapida delle modifiche.
Capacità di implementare nuove modifiche più frequentemente per permettere al nostro cliente di aggiornare dinamicamente i propri sistemi.
Onboarding facile per i nuovi dipendenti e volontari che vogliono lavorare al progetto open source del nostro cliente.
Gestione continua dell’infrastruttura attraverso i servizi gestiti.
Informazioni sul cliente
Il nostro cliente è un’organizzazione no-profit che organizza tre grandi eventi all’anno: MAGFest, MAGStock e MAGWest. MAGFest (Music and Gaming Festival) è l’evento di punta dell’organizzazione, che attira una media di 25.000 visitatori. Tenendosi una volta all’anno, questo festival di quattro giorni, con eventi che si susseguono per 24 ore al giorno, è una celebrazione della musica dei videogiochi, dei videogiochi di ogni genere e della community di giocatori. Senza il sostegno di sponsor aziendali, questo evento amatoriale è organizzato da volontari e gestito dalle persone, per le persone.
La sfida del cliente
Il problema principale che il nostro cliente ha dovuto affrontare è stata la mancanza di risorse. Il nucleo delle operazioni del nostro cliente è costituito da un piccolo team di sette dipendenti, con un responsabile principale che gestisce l’aspetto legato allo sviluppo dell’organizzazione. Questo responsabile era oberato di responsabilità per garantire il progresso delle operazioni e non ha avuto il tempo di cercare e implementare nuove funzionalità. Inoltre, lo sviluppatore del nostro cliente non ha avuto il tempo di adottare i principi DevOps o di concentrarsi sulla questione della scalabilità.
Dato che il nostro cliente è un festival di musica e videogiochi, registra un improvviso aumento dell’attività online a settembre, durante il periodo di vendita dei biglietti. I prezzi dei biglietti sono strutturati in modo che i biglietti più economici siano disponibili per primi, seguiti poi da quelli più costosi. Il sistema deve gestire l’incremento repentino della domanda quando i clienti si affrettano ad acquistare i biglietti meno costosi, per poi tornare a un basso livello di utilizzo durante il resto dell’anno. Se il nostro cliente non è in grado di soddisfare la domanda, rischia di trovarsi a dover gestire clienti frustrati e problemi nelle pubbliche relazioni. Ma l’applicazione che utilizzava non era semplice da scalare. Durante i periodi di picco, ha causato un significativo incremento dei costi e non è stato possibile gestire le richieste durante i periodi di carico sottostimato.
Il nostro cliente utilizzava DigitalOcean per le proprie applicazioni basate su macchine virtuali (VM), anche se le soluzioni per container non erano adatte alle sue esigenze, preferendo evitare Kubernetes a causa del sovraccarico operativo necessario per la sua gestione e manutenzione. Analogamente, il supporto per i servizi gestiti per Redis, PostgreSQL e RabbitMQ era inadeguato. Ogni istanza dell’applicazione operava su una propria VM e non era containerizzata, il che ha portato alla perdita o alla mancanza di tracciabilità degli hotfix nel controllo del codice sorgente.
Adaptavist è un AWS Advanced Consulting Partner
Che tu sia appena agli inizi e desideri supporto per la migrazione, o che abbia bisogno di una consulenza di esperti su come sfruttare AWS per implementare la tua strategia di crescita e raggiungere i tuoi obiettivi aziendali, siamo qui per aiutarti.
La nostra soluzione
Nel quadro dell’iniziativa di AdaptaKind (il programma di beneficenza di Adaptavist), i membri del team dei servizi professionali di Adaptavist hanno dato il loro contributo al progetto. I dipendenti del nostro cliente, l’appaltatore per la codifica e un team di volontari hanno collaborato per implementare la soluzione, che è stata suddivisa in due fasi.
Il nostro cliente utilizzava Salt, uno strumento di gestione e orchestrazione della configurazione, per gestire la distribuzione delle applicazioni, il ridimensionamento, l’automazione e altri processi correlati. Di conseguenza, il processo prevedeva la transizione verso una soluzione containerizzata e più incentrata sul cloud.
La prima fase della trasformazione è stata identificare i principali punti critici del nostro cliente e spostare i servizi che potevano essere facilmente migrati da DigitalOcean ad AWS. Questo includeva il trasferimento del server del database del cliente su AWS RDS, l’utilizzo di AWS ElastiCache per il server Redis e l’implementazione di AWS SES per la gestione dell’invio delle email.
La seconda fase della trasformazione è stata quella di migrare i vecchi sistemi del cliente. Il nostro cliente ha la necessità di accedere ai dati storici, quindi, come parte di questa migrazione, abbiamo trasferito il server legacy degli eventi in AWS. Abbiamo migrato i dati nei sistemi e utilizzato i container eseguiti su AWS ECS come ambiente di test per risolvere alcuni dei problemi attraverso un processo basato su tentativi ed errori. Durante il processo, abbiamo dovuto affrontare delle sfide per replicare il carico generato dagli eventi di ridimensionamento. Abbiamo capito come prevedere questi carichi e pre-scalare il sistema per gestirli efficacemente.
Servizi AWS utilizzati per la soluzione
AWS ECS (Elastic Container Service)
AWS EFS (Elastic File System)
AWS ElastiCache
AWS RDS (Relational Database Service)
AWS SES (Simple Email Service)
AWS CloudWatch
I risultati
È fondamentale sottolineare che il nostro cliente ha riscontrato una riduzione dei costi del 50% grazie al lavoro di trasformazione. Ha dato nuova vita al progetto rendendolo idoneo per continuare le operazioni.
Oltre a notevoli risparmi sui costi, il lavoro ha ridotto il carico degli sviluppatori. Di conseguenza, il nostro cliente ha notato un miglioramento nella produttività ed efficienza degli sviluppatori, nonché un’implementazione più rapida delle modifiche. In passato, era necessaria esperienza per utilizzare il sistema. Ora non è necessario essere esperti: è possibile creare un ambiente di sviluppo senza conoscere il sistema. Il software è più semplice da sviluppare e più accessibile, rendendo così più facile l’integrazione di nuove persone interessate a contribuire al progetto open source del cliente. In generale, le persone coinvolte nel progetto sono più entusiaste di contribuire.
Un altro miglioramento fondamentale è la capacità di implementare nuove modifiche più frequentemente. Ora che le applicazioni del nostro cliente sono containerizzate, è facile configurare un nuovo container e sostituirlo con la versione precedente quando si apporta una modifica. Questo significa che il nostro cliente può aggiornare i suoi sistemi in modo più dinamico e con minore stress per i suoi sviluppatori.
Informazioni su Adaptavist
Adaptavist è un fornitore globale di tecnologie e soluzioni innovative, che aiuta le organizzazioni a potenziare l’agilità e a superare le sfide della trasformazione digitale. In qualità di AWS Advanced Tier Consulting Partner, siamo la scelta perfetta per implementare, eseguire e gestire ogni aspetto della tua esperienza cloud. Che tu sia appena agli inizi e desideri supporto per la migrazione, o che abbia bisogno di una consulenza da parte di esperti su come sfruttare AWS per implementare la tua strategia di crescita e raggiungere i tuoi obiettivi aziendali, siamo qui per aiutarti.