IlGiornale.it in cloud

Come abbiamo reso Cloud Native una storica testata giornalistica italiana
Il progetto
Il Giornale Web
Le tecnologie
drupal icon aws icon gcp icon

Il cliente

Il Giornale è una storica testata giornalistica italiana con una consistente e popolare presenza on-line, che contempla la pubblicazione di contenuti dedicati agli utenti web e l’accesso a versioni digitali del giornale cartaceo. Oltre ai contenuti della testata principale, vengono aggiornati regolarmente dei blog tematici.

L'obiettivo

Supportare il team di sviluppo interno nella gestione del Cloud e l’evoluzione della piattaforma CMS in ottica Cloud Native

La sfida

Da tempo Il Giornale On Line srl, la società che gestisce ilgiornale.it, ha scelto il Cloud per amministrare la galassia dei suoi contenuti digitali, perché servire diversi milioni di pagine e di utenti ogni giorno richiede un’infrastruttura flessibile e pronta ad affrontare picchi di traffico, e un servizio ad alta affidabilità che permetta alla redazione di pubblicare aggiornamenti al ritmo frenetico dei cambiamenti che stiamo vivendo. L’architettura si sviluppa su un multi-cloud che coordina servizi di diversi provider in base alle specifiche esigenze di produzione e delivery.

A partire dal 2019, ilgiornale.it ha scelto SparkFabrik per fornire supporto nella gestione del proprio cloud e per portare avanti al meglio le evolutive della piattaforma CMS in ottica Cloud Native che pubblica i contenuti on-line dell’editore.

Il primo elemento di criticità è dato dal fatto che si è trattato di prendere in carico un sistema progettato da altri, basato su un meccanismo di provisioning proprietario, quindi non trasferibile. Gli ‘handover’ sono sempre momenti delicati nella vita delle applicazioni e delle infrastrutture complesse, a causa degli inevitabili ‘glitch’ di comunicazione derivanti dalla presenza di conoscenza implicita difficile da far emergere.

Homepage del sito Il Giornale visualizzata su un tablet in versione orizzontale e verticale

Una volta completato l’handover abbiamo affrontato i primi urgenti problemi architetturali da risolvere: l’affidabilità della soluzione a causa di single point of failure dell’architettura e problemi ricorrenti di business continuity dei servizi offerti alla redazione. Infine, la mappatura dell’architettura ha rivelato l’eterogeneità delle soluzioni adottate, costituite sia da prodotti nativi di AWS, sia da elementi custom per il networking e per lo storage, sempre integrati nel perimetro del cloud AWS.

Dal punto di vista della gestione del software abbiamo rilevato politiche di versioning della code base e strategie di deployment rivedibili e ottimizzabili, e analizzando la situazione esistente abbiamo constatato che sarebbe stato possibile aumentare la produttività e al tempo stesso minimizzare i rischi dovuti ad attività manuali.

La soluzione

Dall'assessment alla creazione di un backlog

Completato l’handover ci siamo occupati di creare una nuova mappa aggiornata dell’intera infrastruttura e dei servizi in uso, basandoci anche sui dati reali estrapolati dalle API di AWS.

Come passo successivo, abbiamo svolto un assessment dell’applicazione CMS che gestisce la pubblicazione della proprietà digitale principale: il sito ilgiornale.it.

Per lo strato applicativo abbiamo valutato sia con quale architettura fosse stata implementata nel cloud AWS, sia le sue caratteristiche intrinseche, sfruttando la nostra lunga esperienza con Drupal. Anche le proprietà ‘satelliti’ sono state mappate e valutate, soprattutto in relazione allo stato di aggiornamento dei software utilizzati e delle capacità di accedere per compiti amministrativi. Sono state infine fatte rilevazioni sul traffico generato, sia nel cloud AWS, sia presso il servizio esterno di CDN, e sui costi di esercizio della piattaforma.

Diagramma che mostra gli step di valutazione del sito Il Giornale

Il risultato dell’assessment infrastrutturale e applicativo è stato il materiale di partenza per una discussione con lo staff di ilgiornale.it, con cui abbiamo definito un primo piano d’azione e di interventi mirati.

Abbiamo adottato i nostri processi standard per la gestione dei progetti per cui abbiamo trasferito il codice sulla nostra piattaforma integrata che permette di gestire, oltre al versioning del codice, il tracciamento delle attività e l’automazione delle attività di integrazione e rilascio continuo.



Evolutive

SETUP, CONTINUOUS INTEGRATION E DELIVERY

Il primo step è stato quello di dotare il cliente di strumenti di sviluppo efficaci e processi di delivery quanto più possibile automatizzati:
  • Abbiamo fatto il set-up di codice e infrastruttura per lo sviluppo, con l’importazione del versioning precedente e la creazione di un processo di build basato sui container che ricostruisce l’ambiente dell’applicazione per essere usato in locale dagli sviluppatori
  • Abbiamo poi configurato la pipeline di Continuous Integration in un’area di staging per integrare le ultime modifiche. Sono state inoltre eseguite due iterazioni di esperimenti di automazione e Continuous Delivery, realizzati sulla base delle esigenze del team di sviluppo e dei tempi dettati dal lavoro redazionale.

INFRASTRUTTURA E OTTIMIZZAZIONE

Abbiamo da subito affrontato i problemi strutturali:
  • Abbiamo bilanciato il traffico su diverse Availability Zone sul cloud di AWS e risolto efficacemente il problema del single point of failure
  • Abbiamo sostituito l’obsoleto provisioner introducendo strumenti “state-of-the-art” come Terraform e Packer
  • Abbiamo razionalizzato l’infrastruttura in ottica di ottimizzazione dei costi e di manutenibilità, mitigando il traffico inter-AZ che costituisce una parte non irrilevante del traffico

OTTIMIZZAZIONE APPLICATIVI

Abbiamo affrontato un lungo percorso di ottimizzazione, affrontando i problemi principali ottenendo ottimi risultati:
  • All’interno di questo percorso abbiamo anche seguito le indicazioni del business, sviluppando ed estendendo le funzionalità del CMS, arricchendo i contenuti di funzionalità e metadati, rafforzando le relazioni tra i vari content-type, e introducendo anche flussi per la gestione e il monitoraggio dei costi produttivi dal punto di vista editoriale.
  • Abbiamo migliorato i processi di amministrazione delle applicazioni, introducendo strumenti di automazione che permettono di programmare e pianificare i task di manutenzione senza interferire con il lavoro redazionale.
  • Abbiamo analizzato il consumo di risorse e il comportamento delle applicazioni tramite AWS CloudWatch
  • Insieme al team del Giornale On Line abbiamo collaborato per estendere e potenziare lo strato di API del CMS che proiettano il sistema verso future integrazioni e consentono già oggi uno snellimento nella gestione dei contenuti e il presidio multicanale.
  • Abbiamo affrontato i problemi di sicurezza procedendo ad un aggiornamento generale dei framework utilizzati e fatto refactoring del codice custom sviluppato
  • Con i dati del monitoraggio siamo potuti intervenire ottimizzando le istanze EC2 che forniscono i servizi “core”, così facendo abbiamo migliorato le configurazioni di autoscaling e ridotto notevolmente i costi di esercizio.

DATA ENGINEERING & PLATFORM

Abbiamo risposto all’esigenza del marketing di poter avere dashboard personalizzate dei dati generati in real time dai propri assets per fini marketing consultabili da un unico punto.

In questo caso la sfida è stata gestire in modo efficiente un ingente flusso di dati generato da Google Analytics e dai logs applicativi.

Abbiamo dunque deciso di adottare una strategia multi-cloud che ha visto coinvolti dati, funzionalità e servizi forniti da AWS e da altri provider, con lo scopo di creare una dashboard di visualizzazione personalizzabile dal cliente.

Miglioramento continuo

Un’architettura complessa richiede una tensione costante al miglioramento, per questo vengono concordate con il cliente attività che affrontino proattivamente i potenziali rischi e che puntino a raggiungere un ottimale equilibrio di costi, prestazioni e affidabilità e rimanere al passo con le innovazioni di mercato.

È quindi in corso un piano completo di modernizzazione e ottimizzazione:

  • Ulteriore estensione delle API dell’applicazione CMS (Drupal) creando un layer applicativo più facile da gestire e da evolvere
  • Ottimizzazione dell’infrastruttura CDN
  • Nuova revisione dell’architettura per eliminare servizi obsoleti e ottimizzare l’efficienza (anche nei costi) e la sicurezza dell’implementazione cloud grazie alle linee guida del ‘AWS Well-Architected Framework’
  • Progressiva implementazione struttura e orchestrazione basate su container

I risultati

Dopo circa un anno di attività e di collaborazione con lo staff de ilgiornale.it e si possono elencare i miglioramenti ottenuti nell’ambiente multi-cloud del cliente.

  • La Continuous Integration permette di controllare meglio e tempestivamente la stabilità delle applicazioni
  • Le implementazioni del file storage sono state razionalizzate, ottenendo un miglioramento delle prestazioni e riducendo i costi
  • I costi per il traffico interno all’infrastruttura sono stati messi sotto controllo
  • Le configurazioni dichiarative per infrastruttura e AMI permettono di ridurre i tempi della Disaster Recovery, incrementando l’affidabilità dell’architettura in ottica SRE
  • Sono stati identificati e risolti i principali problemi di sicurezza
  • Le statistiche di accesso delle proprietà digitali dell’editore sono oggi sotto controllo in una dashboard che permette di analizzarle e di pianificare attività
  • L’applicazione CMS si è evoluta per consentire di modificare il front-end e rendere l’esperienza utente più funzionale e moderna
  • Sono stati ridotti i costi per le istanze che garantiscono la redazione e la pubblicazione dei contenuti del giornale
  • La configurazione multi-zona sul cloud AWS è stata corretta e garantisce ora la scalabilità e la resilienza richieste
Simone Procopio

Simone Procopio

Chief Technology Officer, ilGiornale.it

La partnership che ci lega a SparkFabrik è fondata su valori condivisi quali passione, professionalità e trasparenza. Fare business per crescere insieme, migliorarsi a vicenda e stimolare il cambiamento è quello che facciamo tutti i giorni, un passo davanti all’altro, grazie allo splendido team di SparkFabrik.

Get in touch

Seguici sui social
Ascolta Continuous Delivery