Perché l’industria Automotive sta iniziando ad adottare metodologie DevOps
A cura di Monica Colangelo, Principal Cloud Architect
Il termine DevOps rappresenta una composizione di pratiche "ingegneristiche" migliorate che riducono i tempi e aumentano la frequenza di delivery del software. Si tratta di un cambiamento culturale che richiede una catena di strumenti e tecnologie per facilitare lo sviluppo e il delivery collaborativo per una pianificazione, una progettazione e un rilascio più efficaci dei progetti/prodotti. DevSecOps è una strategia che estende le efficienze di DevOps alla sicurezza del software.
L'industria automobilistica è stata forse più cauta nell'adozione di metodologie DevOps rispetto ad altri settori, perché le normative, le differenze organizzative e la portata dei progetti sono diverse da quelle del settore IT. Lo standard ISO/IEC 15504 ad esempio, noto anche come Automotive SPICE (Software Process Improvement and Capability Determination), stabilisce una serie di principi per il processo di sviluppo del software, ed è solo uno degli standard per l'industria automobilistica; ce ne sono altri, come l'Automotive Open System Architecture (AUTOSAR), l'IEC 61508, l'ISO 26262 e il MISRA C, ecc.
Tuttavia, con l’aumento della domanda di veicoli connessi e autonomi, vi è una crescente necessità di cicli di sviluppo più rapidi, software di qualità superiore e maggiore efficienza operativa. L'implementazione delle pratiche DevOps può aiutare l'industria automotive ad affrontare queste sfide e sbloccare vantaggi significativi. In questo articolo, approfondiremo le sfide dell'implementazione di DevOps nel settore automobilistico ed esploreremo il potenziale dell’adozione di soluzioni DevOps e Cloud.
Evoluzione necessaria: le sfide e le soluzioni nell'implementazione di DevOps nell'industria automobilistica
Una delle sfide a prima vista più evidenti nel mondo dello sviluppo software per l’automotive è la collisione tra il tradizionale approccio waterfall e le metodologie agili e DevOps. L'industria automobilistica ha adottato storicamente un approccio sequenziale in cui i requisiti sono pianificati in anticipo e seguiti rigorosamente. La filosofia alla base delle pratiche DevOps, d'altra parte, enfatizza lo sviluppo e l'implementazione iterativi e continui, con particolare attenzione all'automazione e alla collaborazione. La differenza tra questi due approcci può creare resistenza al cambiamento e difficoltà nell'allineare processi, strumenti e team. Tuttavia, le organizzazioni possono superare questa sfida introducendo gradualmente pratiche agili e principi DevOps nei loro processi esistenti e promuovendo una cultura di collaborazione e miglioramento continuo.
Il software embedded, che svolge un ruolo cruciale nei veicoli moderni, rappresenta un'altra sfida per l'implementazione di DevOps nell'industria automobilistica. I veicoli oggi dispongono di numerose ECU (centraline elettroniche) complesse che controllano vari aspetti, come ad esempio il funzionamento del motore, la strumentazione, i sistemi di sicurezza. Questo software utilizzato a bordo dei veicoli ha delle caratteristiche uniche, che lo differenziano da quello di altri settori: nonostante i vincoli legati alle risorse limitate (memoria, potenza di elaborazione, hardware dedicato, ecc.), deve garantire altissimi livelli prestazionali, in particolare in termini di risposta real-time dovendo agire direttamente sui processi di funzionamento dei componenti. Questi vincoli legati all’hardware rendono a prima vista difficile l'implementazione delle pratiche DevOps tradizionali, come la CI/CD (l'integrazione e la distribuzione continue); tuttavia, con i progressi tecnologici, stanno diventando disponibili, ad esempio, hypervisor e orchestratori che possono consentire la virtualizzazione e l'automazione dei processi di test e distribuzione nei sistemi embedded. Inoltre, la standardizzazione delle API e degli strumenti open source (ad esempio nel passaggio dalla piattaforma Classic AutoSAR alla versione Adaptive AutoSAR) può facilitare l'integrazione delle pratiche DevOps nei sistemi embedded.
Anche la standardizzazione è un fattore critico per l'implementazione di DevOps nell'industria automobilistica. Sebbene il settore disponga di una propria serie di standard e normative, vi è una crescente domanda di pratiche di automazione e DevOps da stakeholder esterni, come clienti e partner, che potrebbero non seguire necessariamente gli standard automobilistici. Ciò rappresenta una sfida per le case automobilistiche nell'adottare pratiche DevOps garantendo al contempo la conformità alle normative del settore. Un approccio per affrontare questa sfida consiste nello stabilire una serie di standard e linee guida interni in linea con gli standard del settore e le best practice DevOps. Ciò può aiutare a garantire la coerenza e la qualità nei processi di sviluppo e operativi, rispettando al contempo i requisiti normativi.
Un'altra sfida nell’adozione del DevOps nel settore automobilistico è la necessità di solide pratiche di sicurezza informatica. Man mano che i veicoli diventano più connessi e autonomi, il rischio di minacce informatiche aumenta. L'implementazione delle pratiche DevOps nel settore automobilistico richiede quindi una forte attenzione allo sviluppo di codice sicuro, con test di sicurezza continui e gestione delle vulnerabilità. Le organizzazioni devono dare la priorità alla sicurezza nei loro flussi di lavoro DevOps, integrare i test di sicurezza nei loro processi di sviluppo e implementazione e promuovere una mentalità orientata alla sicurezza in tutta l'organizzazione: un approccio che nel mondo informatico si definisce DevSecOps.
Evoluzione digitale nell'industria automobilistica: i vantaggi dell'implementazione di DevOps e del cloud
Implementare pratiche DevOps nel settore automobilistico può rappresentare una sfida, ma offre anche notevoli vantaggi. Una delle principali opportunità è la riduzione dei tempi di commercializzazione. Le metodologie DevOps consentono cicli di sviluppo più rapidi e un'implementazione più veloce degli aggiornamenti software, che può aiutare le case automobilistiche a rimanere competitive in un mercato in costante evoluzione e a soddisfare in modo più efficace le mutevoli richieste dei clienti.
Inoltre, le pratiche DevOps promuovono software di alta qualità attraverso test automatizzati, monitoraggio continuo e cicli di feedback, riducendo i difetti e migliorando l'efficienza operativa. Ciò porta a risparmi sui costi e a una maggiore produttività per le aziende automobilistiche.
Un esempio significativo per illustrare la capacità di integrazione tra i due mondi è l’integrazione di tutte le fasi del test del software del veicolo, dalla scrittura del codice (con strumenti classici dell’industria automotive quali MATLAB o vTestStudio) alla pianificazione dei test case (partendo da strumenti ALM come Octane, IBM RQM, Polarion), all’esecuzione dei tali, inclusi i test HiL (Hardware in the loop), MiL (Model in the loop) e SiL (Software in the loop), fino alle fasi di tracciamento e analisi su sistemi separati ed economicamente convenienti (ad esempio su cloud). Questa integrazione consente un monitoraggio continuo di tutte le fasi dei test, fornendo una panoramica di tutte le attività, anche con migliaia di esecuzioni di test al giorno e in diversi ambienti.
L'utilizzo del cloud può rappresentare un fattore abilitante per l'industria automobilistica. AWS (Amazon Web Services), leader del settore del public cloud, mette a disposizione soluzioni specifiche tra cui servizi IoT, architetture Data Lake, strumenti e strategie di AI e ML, funzionalità 5G/MEC, virtualizzazione di sensori, reti e interfacce, livello di accesso ai dati normalizzato e coerente, e piattaforme DevOps cloud-native.
Attraverso processi decisionali basati sui dati, sfruttando gli strumenti di monitoraggio e analisi, le aziende possono raccogliere dati in tempo reale sulle prestazioni del software, sul feedback dei clienti e sulle metriche operative, e questi dati possono essere utilizzati per identificare i colli di bottiglia, le lacune nelle prestazioni e di conseguenza le aree di miglioramento. Questa cultura del miglioramento continuo favorisce l'innovazione, l'agilità e l'adattabilità, che sono essenziali in un settore automobilistico in così rapida evoluzione.
Come NTT DATA accompagna le aziende automobilistiche attraverso le sfide del DevOps
L'industria automobilistica sta vivendo un'epoca di rapida evoluzione digitale e l'adozione delle pratiche DevOps può rappresentare una svolta per le case automobilistiche che vogliono rimanere competitive in questo mercato in continua evoluzione. DevOps offre numerosi vantaggi, tra cui tempi di commercializzazione più brevi, software di alta qualità, efficienza operativa e miglioramento continuo.
Tuttavia, l'implementazione di DevOps nell'industria automobilistica non è facile e le organizzazioni devono affrontare sfide come la collisione di approcci differenti, i vincoli del software embedded, la standardizzazione, la sicurezza informatica e le barriere culturali e organizzative. Superare queste sfide richiede una leadership forte, una comunicazione efficace e strategie di gestione del cambiamento. Inoltre, le organizzazioni possono superare queste sfide introducendo gradualmente pratiche agili e principi DevOps nei loro processi esistenti e promuovendo una cultura di collaborazione e miglioramento continuo.
Per sfruttare appieno i vantaggi di DevOps, le aziende del settore automotive possono contare sull'esperienza e sulle competenze di NTT DATA. Grazie alla profonda conoscenza delle sfide e dei requisiti unici del settore, NTT DATA è in grado di fornire soluzioni su misura per ottimizzare lo sviluppo e le operazioni del software, migliorare la sicurezza e ottenere rilasci di software affidabili e di alta qualità. Inoltre, l'azienda offre soluzioni DevOps che danno priorità all'automazione, all'efficienza e alla qualità, semplificando lo sviluppo con un ambiente e strumenti standardizzati e preconfigurati e riducendo i costi e i tempi con strumenti software integrati conformi agli standard.