Nata come blog per studenti delle superiori nel 2008, ScuolaZoo si evolve come tour operator per ragazzi 16-25 anni e merchandising per le scuole.
Ad oggi ScuolaZoo conta tre prodotti digitali per i clienti e tre gestionali, tutto sviluppato internamente.
La sfida iniziale
ScuolaZoo si è ritrovata ad avere in attivo numerosi progetti web digitali, con picchi di traffico molto importanti e flessibili in base alla stagionalità.
Nel 2019 ScuolaZoo ha iniziato ad approcciarsi al mondo del cloud per comprendere come sfruttarne appieno le potenzialità, optando inizialmente per un cloud locale. Successivamente, l’azienda si rende conto che questa opzione non era scalabile, e che c’era un effort non trascurabile nell’identificare i problemi di insfrastruttura e i bug applicativi di connessione.
Di conseguenza, ScuolaZoo decide di implementare la tecnologia Google Cloud e di farsi affiancare da un partner d’innovazione che li supportasse nella migrazione e che conoscesse approfonditamente i servizi Google, da qui la scelta di Huware. ScuolaZoo non aveva infatti DevOps interni, e il percorso di consulenza con Huware ha loro permesso di evolversi nel Cloud con la dockerizzazione dei propri progetti.
Gli obiettivi principali erano quelli di rendere il business scalabile in termini di meccaniche di business e di volumi, ridurre i costi di devops interni e la complessità sfruttando le soluzioni managed by Google e l’infrastruttura Kubernetes, fornire strumenti gestibili dai developer per il monitoring e il debug degli applicativi di ScuolaZoo, garantire business continuity durante tutto il ciclo di vita dei rilasci.
Tutto questo per essere più veloci ed efficaci nella risoluzione dei problemi.
Le tecnologie Google Cloud e il supporto Huware
ScuolaZoo e Huware hanno dunque iniziato un processo di trasformazione dei servizi, spostando la tecnologia ScuolaZoo in quello che viene chiamato un “Container Native”, ovvero una tecnologia che permette scalabilità.
Questa tecnologia è stata all’inizio portata su cluster Kubernetes e poi evoluta in serverless con Cloud Run e una CDN per migliorare le performance.
Quella verso Kubernetes è stata per noi la naturale evoluzione per gestire la scalabilità del progetto. Qui si è però verificato un problema molto comunque a tutti i team di sviluppo, ovvero la mancanza di un solido know-how interno in termini di DevOps che ha causato grossi problemi di traffico e di connessione tra i vari servizi e database. Insieme a Huware siamo riusciti a capire cosa mancava nella nostra configurazione.
Spiega Andrea Orselli, Head of Digital di ScuolaZoo.
L’identificazione dei problemi della vecchia configurazione è stata possibile attraverso l’isolamento degli stessi. ScuolaZoo è dunque passata a una tecnologia cloud-run che delega a Google la gestione del traffico, delle connessioni, e di tutte quelle attività che prima erano rallentate. Spostando tutti i progetti su applicativi Cloud Run, ScuolaZoo e Huware sono riusciti a identificare in maniera puntuale l’origine dei problemi.
Per arrivare al risultato finale, il progetto ha seguito vari step. Innanzitutto, Huware e ScuolaZoo hanno definito e mappato tutti i progetti di alto impatto per il business su cluster K8s. Dopo di che, la CI/CD è stata ridefinita, unificata e riprogettata per il progetto Cloud Run, prevedendo una pipe di migrazioni settimanali da K8s a Cloud Run. Infine la migrazione, suddivisa in quattro step: aggiornamento del codice di deploy, spostamento della gestione del certificato SSL ai certificati Google Managed e assegnazione ai domini di Cloud Run, migrazione del progetto in ambiente di test, e migrazione e go live del progetto in ambiente di produzione.
Grazie a Huware e a Google Cloud, ScuolaZoo ha ridotto notevolmente l’effort dei DevOps Engineers. Prima, infatti, il team di sviluppo era molto dipendente dal devops interno, e ogni modifica e feature di struttura richiedeva l’effort da parte di un’unica figura DevOps, generando blocker in periodi di alta stagionalità. Inoltre, si è registrato un aumento del know-how e della responsabilizzazione da parte dei developer dei singoli progetti.
I risultati
Grazie alla tecnologia Google Cloud, ScuolaZoo è riuscita a dirottare il carico di lavoro di connettività e network ad applicativi interni a Google, tramite load balancer. Ora i developer di ScuolaZoo hanno anche un maggiore controllo su ogni status di progetto.
Questa è stata per noi la prima esperienza di un contesto applicativo totalmente serverless, quindi poteva rappresentare un rischio. In realtà è stato un enorme vantaggio, perché siamo passati dall’erogazione del servizio nel cluster Kubernetes -che contava un certo ritardo di elaborazione- a Cloud Run con un’elaborazione media di 900 millisecondi nel picco di maggiore traffico. Ciò ha risolto tutta una serie di complessità, rendendo il nostro business scalabile.