Cliente: Comic Relief
Settore: Beneficenza e No-profit
Durata del progetto: Ottobre 2014 – Ottobre 2015 (Contributo individuale)
Punti salienti: Manutenzione e sviluppo di applicazioni web ad alto traffico, migrazione dell’infrastruttura su AWS, modernizzazione dello stack tecnologico, ottimizzazione delle prestazioni, pratiche DevOps.
Informazioni su Comic Relief:
Comic Relief è una delle principali organizzazioni benefiche del Regno Unito con una visione potente: un mondo giusto, libero dalla povertà. Dal 1985, attraverso campagne iconiche come Red Nose Day e Sport Relief, Comic Relief ha mobilitato la generosità del pubblico, raccogliendo oltre 1 miliardo di sterline per fare una differenza tangibile nelle vite delle persone vulnerabili sia nel Regno Unito che a livello internazionale. I loro eventi di raccolta fondi su larga scala dipendono fortemente da un’infrastruttura digitale robusta e scalabile per facilitare le donazioni e le registrazioni agli eventi da parte di centinaia di migliaia di utenti.
La Sfida:
La piattaforma critica di registrazione agli eventi e raccolta fondi di Comic Relief, che sperimenta massicci picchi di traffico durante le campagne Red Nose Day e Sport Relief, stava affrontando diverse sfide:
- Infrastruttura Legacy: L’applicazione era ospitata presso un fornitore terzo, il che presentava limitazioni in termini di scalabilità, flessibilità e convenienza economica.
- Stack Tecnologico Obsoleto: I componenti chiave dello stack LAMP giravano su versioni datate (PHP 5.2, MySQL 5.2, Apache 2.2, Varnish 2.8, Solr 3.5), portando a potenziali vulnerabilità di sicurezza, colli di bottiglia nelle prestazioni e un aumento dei costi di manutenzione.
- Inefficienze nel Controllo di Versione: L’uso di SVN per la gestione dei repository ostacolava la collaborazione e la fluidità dei flussi di lavoro di sviluppo.
- Preoccupazioni sulla Scalabilità: L’infrastruttura esistente necessitava di aggiornamenti significativi per gestire in modo affidabile l’immenso carico di utenti durante i periodi di picco della raccolta fondi, garantendo un’esperienza di donazione fluida e ininterrotta.
La Soluzione (Contributo individuale come Senior/Lead PHP Developer):
In qualità di Senior/Lead PHP Developer inserito nel team di Comic Relief, uno dei focus principali delle mie responsabilità è stato quello di progettare ed eseguire una strategia completa di migrazione e modernizzazione per la loro piattaforma critica di registrazione agli eventi e raccolta fondi. Ciò ha comportato uno sforzo collaborativo con il team di WebOps e ha compreso le seguenti azioni chiave:
- Migrazione dell’Infrastruttura su AWS: Ho contribuito alla pianificazione e all’esecuzione di una migrazione completa dell’infrastruttura dell’applicazione dal fornitore di hosting terzo ad Amazon Web Services (AWS). Ciò ha comportato l’utilizzo di vari servizi AWS per migliorare la scalabilità, l’affidabilità e l’efficienza dei costi.
- Migrazione del Controllo di Versione a Git: Ho migrato con successo tutti i repository del codice dell’applicazione da SVN a Git, stabilendo un sistema di controllo di versione più efficiente e collaborativo per il team di sviluppo.
- Aggiornamenti dello Stack Tecnologico: Ho guidato gli aggiornamenti critici dei componenti tecnologici principali:
- PHP: Aggiornato dalla versione 5.2 alla 5.5, sbloccando miglioramenti delle prestazioni e funzionalità di sicurezza avanzate.
- MySQL: Migrato a un’istanza MySQL 5.2 più robusta e scalabile su AWS RDS (Relational Database Service).
- Apache: Aggiornato dalla versione 2.2 alla 2.4, incorporando miglioramenti delle prestazioni e nuove funzionalità.
- Varnish: Aggiornato dalla versione 2.8 alla 4, migliorando significativamente le capacità di caching e riducendo il carico del server durante gli eventi ad alto traffico.
- Solr: Aggiornato dalla versione 3.5 alla 5.2, migliorando la funzionalità di ricerca, le prestazioni e la stabilità delle funzioni di ricerca della piattaforma.
- Architettura dell’Applicazione: L’applicazione, costruita su uno stack LAMP con PHP5 e Zend Framework 1 (ZF1), utilizzava Doctrine 2.3 per l’astrazione dei dati, garantendo un’interazione efficiente con il database MySQL. Solr è stato integrato per potenziare le capacità di ricerca della piattaforma, fornendo agli utenti risultati rapidi e pertinenti.
- Gestione delle Attività Asincrone: Utilizzato Gearman per gestire attività a lunga durata e asincrone, come la creazione e l’aggiornamento dei core Solr e l’invio di comunicazioni email cruciali, garantendo un’esperienza utente reattiva.
- Automazione del Deployment: Costruita una pipeline CI/CD su Jenkins utilizzando strumenti di deployment come Capistrano e CloudFormation per snellire e automatizzare il processo di rilascio attraverso l’infrastruttura aggiornata.
- Collaborazione con WebOps: Ho lavorato a stretto contatto con il team di WebOps per garantire un processo di migrazione e aggiornamento fluido e coordinato, affrontando le dipendenze dell’infrastruttura e garantendo la compatibilità dell’applicazione.
Tecnologie Utilizzate:
- PHP 5.5 (Inizialmente 5.2)
- Zend Framework 1 (ZF1)
- Doctrine 2.3
- MySQL 5.2 (RDS) (Inizialmente 5.2)
- Varnish 4 (Inizialmente 2.8)
- Memcache
- Apache 2.4 (Inizialmente 2.2)
- Solr 5.2 (Inizialmente 3.5)
- RabbitMQ
- Gearman
- Git (Inizialmente SVN)
- Capistrano
Risultato e Impatto:
La migrazione e la modernizzazione di successo della piattaforma di registrazione agli eventi e raccolta fondi di Comic Relief hanno portato a vantaggi significativi:
- Maggiore Scalabilità e Affidabilità: Il passaggio ad AWS ha fornito un’infrastruttura altamente scalabile e affidabile in grado di gestire i massicci picchi di traffico durante le campagne Red Nose Day e Sport Relief, garantendo la stabilità della piattaforma ed evitando tempi di inattività.
- Prestazioni Migliorate: L’aggiornamento dei componenti tecnologici chiave come PHP, MySQL, Apache, Varnish e Solr ha portato a miglioramenti significativi delle prestazioni, con tempi di caricamento delle pagine più rapidi e un’esperienza utente più fluida per centinaia di migliaia di donatori e partecipanti agli eventi.
- Maggiore Sicurezza: L’aggiornamento a versioni più recenti del software ha risolto vulnerabilità di sicurezza note, rafforzando la posizione di sicurezza complessiva della piattaforma e proteggendo i dati sensibili degli utenti.
- Flusso di Lavoro di Sviluppo Semplificato: La migrazione a Git ha consentito una collaborazione, un controllo di versione e una gestione del codice più efficienti per il team di sviluppo.
- Riduzione dei Costi di Manutenzione: La modernizzazione dello stack tecnologico ha ridotto la complessità e i costi associati al mantenimento di versioni software obsolete.
- Futuro della Piattaforma Assicurato: Gli aggiornamenti hanno gettato solide basi per lo sviluppo futuro e l’innovazione sulla piattaforma di Comic Relief.
Conclusione:
Affrontando le sfide dell’infrastruttura legacy e delle tecnologie obsolete, il progetto ha garantito una piattaforma robusta, scalabile e sicura in grado di supportare gli sforzi vitali di raccolta fondi di Comic Relief e di contribuire in definitiva alla loro missione di creare un mondo giusto e libero dalla povertà.
Lascia che ti aiuti a ottimizzare le tue applicazioni web critiche per le massime prestazioni e scalabilità.
Sono entusiasta di conoscere le tue sfide e aiutare il tuo team a ottenere uno sviluppo software più fluido ed efficiente. Facciamo una chiacchierata amichevole sulle tue esigenze specifiche e su come la mia esperienza può guidarti nella creazione di cose incredibili senza stress inutili.
Non vedo l’ora di sentirti!