IlGiornale.it in cloud

Come abbiamo reso Cloud Native una storica testata giornalistica italiana

Il Giornale

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.

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.

Progetto
Il Giornale Web
Servizi
Application Modernization, Drupal, AWS Consultancy & Managed services, DevOps & Automation, Data Engineering
Rilascio
Da Giugno 2019
Il Giornale

La sfida

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.

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.

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.

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.
Double columns

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
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

    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.