Table of Contents Table of Contents
Previous Page  69 / 84 Next Page
Information
Show Menu
Previous Page 69 / 84 Next Page
Page Background

69

EMBEDDED

62 • NOVEMBRE • 2016

DEVOPS |

SOFTWARE

risolvere nel minor tempo possibile i bug del codice,

che compromettono un buon funzionamento della

app sul dispositivo e una fruizione soddisfacente dei

servizi online degradando la ‘user experience’, ma

anche per migliorare la cybersecurity: prima viene

pubblicata e resa disponibile la patch che ripara una

vulnerabilità di un sistema o di una app, e più sicuro

potrà essere mantenuto un dato dispositivo mobile,

che in molti casi non contiene più solo dati perso-

À

&

lavorativa. Una cybersecurity che, in applicazioni

‘safety-critical’, come possono essere quelle del set-

tore automobilistico, avionico o industriale, diventa

cruciale mantenere, per garantire anche la sicurezza

funzionale (functional safety) di ciascun dispositivo,

nei differenti casi d’uso in cui viene utilizzato.

Oggetti connessi, cambiano i numeri

Il processo di sviluppo e distribu-

zione del software embedded nell’e-

ra della Internet of Things diventa

ancora più complesso di quello tra-

dizionale, e non solo per una que-

stione di incremento nella velocità

di aggiornamento e manutenzione

dei sistemi. Bisogna anche conside-

rare che le classiche metodologie di

sviluppo, test, dispiegamento e ma-

nutenzione del codice, lungo tutto il

suo ciclo di vita, vanno adeguate ad

ambienti industriali, aziendali o di

altro genere, dove esisteranno, nei

prossimi anni, moltitudini di dispo-

sitivi e oggetti intelligenti connessi

al cloud. A tal proposito, una recen-

te analisi della società di ricerche di mercato Gart-

ner prevede circa 6,4 miliardi di oggetti connessi a

livello mondiale in uso per quest’anno, pari a un in-

cremento del 30% rispetto al 2015. Ma per il 2020,

secondo le stime, tali oggetti arriveranno a quasi 21

miliardi. Quest’anno, secondo Gartner, il trend sta-

rebbe procedendo al ritmo di 5,5 milioni di nuove

‘cose’ connesse al giorno. Ed è evidente che, davanti

a questi numeri, o a reti IoT con migliaia di oggetti

connessi, se non si implementano tecnologie e meto-

dologie adeguate di sviluppo, distribuzione e manu-

tenzione del software, la complessità di gestione del

ciclo di vita di queste infrastrutture può generare

costi molto elevati rispetto agli scenari classici.

Mondo embedded, più difficile applicare DevOps

Le metodologie DevOps (Development and Ope-

rations) possono rappresentare una risposta alla

sempre più forte necessità di inno-

A À

-

delli di produzione e distribuzione

del software, e questo oggi lo si sta

già osservando nel settore IT. In

effetti, in questi anni, la graduale

transizione del reparto IT dal ruolo

di semplice erogatore di servizi, a

quello di vero e proprio ‘abilitatore’

del business, ha portato in primo

piano la rilevanza delle strategie

DevOps. Per DevOps si intendo-

no in sostanza quelle metodologie

che puntano a ottenere una mi-

glior collaborazione tra il reparto

di sviluppo del codice e le operation

aziendali. Tradizionalmente, infat-

Continuous delivery, i tool a disposizione

Il concetto di rilascio continuo (CD) del software, teso ad automatizzare

l’intero processo di distribuzione del codice, oggi può avvalersi di numero-

si strumenti, disponibili online e basati sulla potenza del web e del cloud.

Spesso, poi, il paradigma open source, che permette di lavorare su co-

dice aperto e condivisibile tra team, diventa una condizione chiave per

facilitare lo sviluppo di progetti innovativi, e arrivare a risolvere problemi

ingegneristici complessi. Tra i software SCM (software configuration ma-

nagement) di tipo distribuito, un esempio su tutti è rappresentato da Git,

un sistema di controllo versione DVCS (distributed version control sy-

stem) studiato per gestire con velocità ed efficienza sia progetti di piccole

dimensioni, sia piani di sviluppo software molto estesi. Ma si possono citare anche sistemi come ElectricFlow,

in grado di orchestrare e automatizzare tutti i tool DevOps nel processo di delivery del software, dal controllo

del codice, alla pubblicazione delle release; o come il software Jira, implementabile on-premise o fruibile via

cloud. Un altro sistema interessante da menzionare è l’infrastruttura di gestione e distribuzione del software

realizzata da J-Frog, attraverso un repository manager come Artifactory e un servizio di amministrazione di

pacchetti e file binari come Bintray.

Il servizio Bintray

Fig. 2 – In un sistema DVCS

(come Git), i client, oltre a con-

trollare lo snapshot più recente

del file, fanno anche una copia

completa del repository