EMB_85

EMBEDDED 85 • SETTEMBRE • 2022 59 DEVOPS | SOFTWARE biente. Da un lato, anche nel mondo embedded, i si- stemi stanno diventando sempre più complessi: nello stesso tempo, però, nonostante tale complessità possa richiedere più effort e tempo di sviluppo, nel mercato la pressione competitiva e l’esigenza di accelerare il ti- me-to-market per prodotti, applicazioni, servizi spin- gono i fornitori di soluzioni e le imprese ad accelerare i cicli di sviluppo e ad adottare metodologie più rapide ed agili rispetto ai metodi tradizionali. Dall’altro lato, oggi i sistemi embedded sono sempre meno entità stand-alone, destinate a funzionare in maniera autonoma e isolata, e sempre più oggetti con- nessi e interdipendenti. Il numero di dispositivi Inter- net of Things (IoT) intelligenti connessi al cloud è in continuo aumento. Questi oggetti sono miliardi, sono stabilmente connessi a internet, e non è pensabile continuare a sviluppare, collaudare, implementare e aggiornare il software che li fa funzionare utilizzando gli stessi ritmi e paradigmi di sviluppo che si usavano anni fa. Ostacoli da superare La sfida per l’implementazione di DevOps nello svi- luppo di sistemi embedded è legata, come accennato, alle peculiarità di questo mondo, costituito da settori industriali verticali molto specializzati e regolati: ad esempio, il settore avionico, medicale o automotive, dove le applicazioni possono essere mission-critical o safety-critical, e dove il processo di sviluppo software è tradizionalmente governato da rigorose procedure di verifica e validazione delle funzionalità e della qua- lità del codice. Un aspetto chiave riguarda le differenze a livello hardware tra sistemi IT convenzionali e sistemi embedded. Nel dominio dei sistemi IT aziendali, il modello DevOps organizza lo sviluppo e la distribuzione del software su piattaforme hardware target più standardizzate, costituite da determinate architetture hardware, tipologie di processori e sistemi operativi. Nel caso dei sistemi embedded, invece, gli ambienti di esecuzione del software, quindi le piattaforme hardware target, possono variare in maniera considerevole, perché sono state ideate per un’applicazione specifica, e perché possono avere capacità di elaborazione o risorse di memoria limitate. E ciò fa sì che l’implementazione del software embedded, e il suo funzionamento, sia strettamente dipendente dalla tipologia della singola piattaforma hardware target. Un’altra sfida chiave per l’implementazione di DevOps nel settore embedded è la sicurezza, perché l’accelerazione del processo di sviluppo software non implica una mitigazione automatica dei rischi di vulnerabilità, ma, semmai, può creare spazi per allargare la superficie di attacco. Dunque, è importante analizzare e valutare i rischi di sicurezza, puntando a integrare e attuare i controlli di security non alla fine del ciclo di sviluppo, ma il prima possibile. Una soluzione sempre più considerata è, ad esempio, sviluppare ulteriormente il paradigma DevOps, applicando il modello DevSecOps, che integra il controllo della sicurezza del codice applicativo fin dall’inizio del ciclo di sviluppo software. Uno schema del funzionamento del ciclo di sviluppo nel paradigma DevOps (Fonte: Pixabay) L’implementazione di DevOps nella progettazione embedded richiede la capacità di affrontare sfide non solo tecnologiche, ma anche organizzative (Fonte: Pixabay)

RkJQdWJsaXNoZXIy Mzg4NjYz