Mediaset: un layer di compatibilità per abilitare l’evoluzione del CMS

Il progetto è stato realizzato per Mediaset, parte del gruppo MFE – MediaForEurope, uno dei principali broadcaster televisivi e digitali in Europa.

Attraverso i propri canali televisivi e le piattaforme digitali, Mediaset raggiunge ogni giorno milioni di telespettatori e utenti su scala nazionale. Sul digitale, il gruppo è il primo editore italiano per consumi non lineari, con oltre 10 miliardi di video visti all’anno su TV connesse, PC e dispositivi mobili, a testimonianza della dimensione e della continuità del traffico gestito.

Questo si traduce in un ecosistema tecnologico estremamente critico, che serve simultaneamente un numero molto elevato di dispositivi connessi e deve sostenere picchi di traffico significativi durante eventi live e fasce di prime time. In questo contesto, l’obiettivo non era solo modernizzare il CMS, ma ridurre drasticamente il rischio associato al cambiamento, garantendo continuità del servizio su un canale di fruizione centrale per l’esperienza dell’utente finale.

Il problema: modernizzare il CMS senza rompere l’app

Mediaset ha avviato un progetto di modernizzazione del CMS (Content Management System), necessario per migliorare flessibilità, performance e capacità di evoluzione.

Tuttavia, il CMS esistente è profondamente integrato con numerose app ed altri sistemi downstream, rendendo impossibile una sostituzione “big bang”.

Le principali criticità erano: 

  • Impossibilità di migrare tutto in una sola fase

  • Necessità di una transizione graduale e controllata

  • Tolleranza zero per il downtime, data la criticità del servizio

  • Rischio di regressioni e incompatibilità con l’app esistente

L’obiettivo era chiaro: permettere l’aggiornamento della sorgente dei dati senza impattare il comportamento dell’app che gira su milioni di televisori contemporaneamente.

user interface
User interface dell'app TV

La soluzione: un layer di mapping tra nuovo CMS e formato legacy

Per ridurre il rischio e abilitare una migrazione progressiva, abbiamo progettato e implementato un layer per mantenere la retrocompatibilità.

Questo livello funge da adattatore tra il nuovo CMS e il formato dati legacy, consentendo all’app di continuare a funzionare come prima, pur leggendo dati provenienti dalla nuova sorgente.

In pratica: 

  • Il CMS viene modernizzato,

  • L’app continua a ricevere dati nel formato storico,

  • La migrazione avviene senza interruzioni e senza forzare un refactor immediato dell’app.

Parallelamente, l’architettura è stata progettata per garantire scalabilità, resilienza e gestione efficiente del traffico.

Questo approccio ha permesso al cliente di separare il percorso di modernizzazione del CMS dall’evoluzione dell’app, ottenendo un maggiore controllo sulle tempistiche, sulle release e sulle decisioni tecnologiche.

Implementazione tecnica

L’implementazione ha incluso diversi componenti chiave:

Lettura dal nuovo CMS e output nel formato legacy

Abbiamo costruito un servizio in grado di: 

  • Consumare i dati dal nuovo CMS

  • Trasformarli nel formato atteso dai sistemi esistenti

  • Garantire coerenza e compatibilità semantica

Gestione dei dati legacy e mapping avanzato

Il sistema gestisce: 

  • Strutture dati legacy

  • Regole di mapping e normalizzazione

  • Edge case e contenuti non pienamente compatibili

Snapshot testing per garantire la stabilità

Per prevenire regressioni: 

  • Abbiamo implementato snapshot testing automatico

  • Ogni output viene confrontato con una baseline stabile

  • Eventuali differenze vengono intercettate prima del rilascio

Questo garantisce confidenza nella qualità dei dati esposti all’app.

Cache per traffico elevato e cost optimization

Per sostenere il carico e ottimizzare i costi: 

  • Sono stati introdotti due layer di caching, verso il CMS e verso l’app finale

  • Ottimizzazione e riduzione delle chiamate al CMS

  • Minore latenza, maggiore resilienza e riduzione dei costi infrastrutturali

Impatto e risultati

La soluzione ha trasformato un’iniziativa ad alto rischio in un percorso graduale, governabile e pianificabile, offrendo al cliente la sicurezza necessaria per procedere verso il go-live senza compromettere la continuità del servizio.

Continuità operativa durante la migrazione

  • Nessun downtime
  • Nessuna interruzione per gli utenti finali
  • Migrazione del CMS in modo progressivo e sicuro

Riduzione del rischio e maggiore stabilità

  • Separazione delle responsabilità tra CMS e app

  • Minore rischio di regressioni

  • Maggiore controllo sulle release

Più tempo e flessibilità per modernizzare l’app

  • Il team ha ottenuto tempo extra per pianificare l’evoluzione dell’app

  • Possibilità di migrare l’app in modo incrementale, senza pressione operativa

Ottimizzazione dei costi e infrastruttura più efficiente

  • Riduzione del carico diretto sul CMS

  • Miglior utilizzo delle risorse

  • Cost saving misurabili e architettura più scalabile

Conclusione

Questo progetto dimostra come, in un contesto ad altissima scala e criticità operativa, una strategia di migrazione graduale supportata da un layer di compatibilità ben progettato consenta di evolvere l’architettura in modo controllato, preservando stabilità, performance e continuità del servizio.

Il lavoro è stato portato avanti in stretta collaborazione con il team Mediaset, combinando competenze di dominio e scelte architetturali per affrontare in modo efficace un contesto di elevata complessità.

L’approccio adottato ha posto le basi per un’evoluzione futura sostenibile dell’ecosistema digitale, in linea con la scala e le esigenze operative della piattaforma.