Lo sviluppo di soluzioni software innovative è da sempre la mission di Aitek. Ciò significa non soltanto realizzare soluzioni e prodotti in linea con le ultime evoluzioni tecnologiche, ma anche mettere a disposizione il proprio know-how nella scelta delle tecnologie in grado di migliorare il business dei propri Clienti.

Negli ultimi anni, nuove tecnologie stanno radicalmente trasformando il modo di progettare e realizzare applicazioni per la gestione di sistemi complessi, distribuiti o caratterizzati da elevati flussi di traffico on-line. In particolare, l’approccio a microservizi si è imposto per la modularità con cui è possibile sviluppare l’architettura software di qualsiasi applicazione.

I microservizi

La possibilità di modificare, sostituire o eliminare un singolo servizio senza intervenire sull’intera applicazione è il grande punto di forza dei microservizi.

In un’architettura di tipo tradizionale, definita “monolitica”, gli sviluppatori realizzano una singola applicazione di grandi dimensioni in grado di assolvere a tutte le esigenze per le quali è stata pensata. Al contrario, i microservizi rappresentano la soluzione ideale in termini di flessibilità e risparmio di tempo, perché gli sviluppatori possono realizzare una serie di applicazioni di dimensioni più piccole, ognuna delle quali assolve a funzioni specifiche dell’applicazione principale. La struttura è pertanto distribuita in una sola applicazione, composta da un certo numero di servizi indipendenti che comunicano tra di loro attraverso un meccanismo basato sullo scambio di messaggi.

Il progetto

Da queste considerazioni tecnologiche è nato il progetto Plug&Toll realizzato per Sinelec, l’azienda tecnologica del Gruppo ASTM, il secondo gestore al mondo di reti autostradali a pedaggio in concessione e player globale nella progettazione e realizzazione di grandi opere infrastrutturali. Sinelec affronta le tematiche dell’esazione pedaggio da oltre 20 anni e oggi, grazie all’esperienza sviluppata lavorando a fianco delle concessionarie, si posiziona come una delle principali aziende italiane nel settore.

Plug&Toll è una applicazione web, integrata in S*GATE (Star Gate), piattaforma di esazione pedaggio Multi Lane Free Flow di Sinelec. Plug&Toll consente il monitoraggio tecnico e applicativo dei dispositivi impiegati a livello di campo da S*GATE, quali ad esempio le diverse tecnologie di telecamere, ottimizzando così la gestione e la manutenzione del sistema nel tempo. Inoltre, il valore funzionale di Plug&Toll si esplicita attraverso una semplificazione delle attività di configurazione e aggiornamento software, che risultano più veloci ed efficienti.

Aitek, insieme al partner Circle Garage, fornisce il proprio contributo in tutte le fasi del progetto, dalla fornitura di un sistema operativo embedded, appositamente ottimizzato da Aitek per soluzioni on premise in ambito autostradale come S*GATE, alla scelta di utilizzare l’approccio a microservizi, dall’analisi degli strumenti che meglio soddisfano i requisiti operativi del Cliente.

Container, Docker, orchestratore: i test

I vantaggi descritti, uniti alla disponibilità della tecnologia in uno stato di completa maturazione, hanno indotto il team di sviluppo di Sinelec, Aitek e Circle Garage a scegliere i microservizi come soluzione ideale per implementare e mantenere l’architettura software del progetto S*GATE, di cui l’applicativo Plug&Toll è parte integrante.  In particolare, la scelta progettuale è caduta sull’ambiente Docker Swarm per ambienti on premise “a bordo strada” e su Google Kubernetes per soluzioni di centro.

L’introduzione del concetto di container (nel vero senso della parola, cioè di “contenitore” per il trasporto merci) permette di “pacchettizzare” le applicazioni, comprese le loro dipendenze dal sistema operativo, semplificandone l’impiego. Il risultato è uno strumento affidabile che consente di manipolare o spostare intere applicazioni limitando errori umani, checklist lunghissime da controllare e tutti i passaggi snervanti e carichi di rischi necessari per il deployment.                                                                          

Per automatizzare i processi di deployment, gestione, scalabilità e networking dell’applicazione, Aitek e Circle Garage hanno utilizzato la tecnica di orchestrazione dei container. Fra le sue funzionalità, l’orchestratore garantisce la facile manutenibilità del software, una gestione efficiente delle risorse e permette di aggiornare, modificare o sostituire singoli nodi in caso di necessità, mantenendo l’operatività del sistema.

Nello specifico, l’analisi effettuata dal team di Aitek e Circle Garage ha riguardato due fra i più comuni orchestratori, Google Kubernetes e Docker Swarm.

I test di comparazione fra i due orchestratori hanno permesso di determinare il delta prestazionale fra di essi, con particolare riferimento ai seguenti ambiti di interesse: update in continuità: (aggiornamento delle distribuzioni senza tempi di inattività in modalità zero down-time), roll back delle configurazioni, comparazione dei consumi CPU/RAM, verifica dei tempi per il bilanciamento di un microservizio da un nodo all’altro, verifica della continuità e dei tempi di riallocamento del carico, controllo dei tempi di scaling e riavvio dei microservizi, oltre a test di carico e di performance.

Gli esiti dei test hanno indotto a scegliere Docker Swarm quale orchestratore più adatto per il progetto. Infatti, poiché i sistemi finali basati sulla piattaforma S*GATE dovranno operare in ambienti edge come quello autostradale, Docker Swarm garantisce minori consumi (in termini di RAM, CPU e risorse di rete) e una reattività più veloce.

Plug&Toll: deployment e monitoraggio del software

Per ottimizzare il processo di deployment dei sottosistemi periferici di S*GATE viene utilizzata la metodologia DevOps (DEVevelopment OPerationS) che, integrando le attività tra Dev, QA e Operations IT, descrive una serie di best-practice per le attività di sviluppo, test e rilascio del software.

Attraverso una semplice UI grafica messa a disposizione da Plug&Toll, l’utente è in grado di configurare e attivare nuovi servizi sul sistema. Le scelte dell’utente vengono convertite in automatico da Plug&Toll in una configurazione dinamica che descrive ogni componente del sistema: processi attivi, networking e parametri. La configurazione, utilizzando un agent presente sulla macchina periferica, viene inviata alle pipeline automatiche di distribuzione di Sinelec che si occupano di scaricare e riconfigurare in tempo reale senza interruzioni di servizio. Il risultato è uno strumento evoluto per il deployment, l’update e il monitoraggio in tempo reale di tutte le piattaforme S*GATE installate da Sinelec.

La scelta di rendere S*GATE modulare e basato su microservizi, come già tante altre applicazioni di Sinelec, ha permesso di rendere flessibile e facilmente adattabile ai requisiti del mercato un sistema complesso come quello della gestione dei transiti in modalità multi lane free flow, consentendo ai nostri ingegneri di concentrarsi sulle sfide tecnologiche di business con la sicurezza di disporre di una architettura smart, scalabile ed affidabile.

Pietro Contegno, Research and Product Development, Sinelec S.p.A.

SCARICA IL CASE STUDY (PDF): CLICCA QUI (italiano)

DOWNLOAD THE CASE STUDY (PDF): CLICK HERE (english)