Il nuovo sistema operativo di Microsoft per i dispositivi IoT: Azure Sphere OS
Qualche giorno fa Microsoft ha presentato il suo nuovo sistema operativo progettato per i dispositivi IoT: Azure Sphere OS. Il nuovo sistema operativo ha come obiettivo quello di fornire una piattaforma sicura-per-default per la costruzione di servizi IoT e superare i problemi che hanno reso i dispositivi IoT così sensibili anche ad attacchi di tipo non sofisticato tanto da consentire ad organizzazioni malevole la creazione di botnet o al possibilità di compromettere la privacy degli utenti.
Il nuovo sistema operativo
Azure Sphere è una soluzione più complessa che consente la creazione di una piattaforma per l’IoT ed include anche microcontroller personalizzati che implementano le 7 regole per la sicurezza dell’IoT stabilite da Microsoft, ed un servizio basato su Azure, la piattaforma cloud di Microsoft, che si occupa di verificare lo stato di ogni dispositivo e acquisire ogni errore o possibile compromissione. Questo servizio fornirà anche gli aggiornamenti per il sistema operativo di ogni dispositivo ed anche modalità di recupero di dispositivi che non stessero funzionando correttamente.
Considerazioni
Molti utenti su Internet hanno posto l’accento sul fatto che Azure Sphere OS fosse basato su un kernel Linux modificato ma la soluzione di Microsoft è ben più complicata del solo sistema operativo. Sebbene qualcuno sia rimasto sorpreso dal fatto che Microsoft sta sostanzialmente producendo una propria distribuzione Linux, anche se questa non è certamente la prima volta che l’azienda di Redmond distribuisce una propria versione di Unix se si ricordano i vecchi tempi di Xenix, ma ci sono cose più interessanti nell’offerta di Azure Sphere del solo kernel usato per il sistema operativo.
E’ sicuramente interessante che Microsoft abbia pensato che Windows fosse troppo pesante per girare su un microcontroller e che abbia deciso di passare ad una soluzione basata su Linux. Alcuni pensano che Microsoft non sia riuscita a produrre una versione di Windows sufficientemente leggera ma io credo che l’azienda statunitense abbia deciso di scegliere Linux per ragioni più semplici: per guadagnare sufficiente fiducia e spazio nel settore dell’IoT, Microsoft doveva usare un sistema open-source e non penso proprio che volessero fornire il codice di una versione di Windows, sebbene pesantemente modificata per girare su un microcontroller. Allo stesso modo, sarebbe stato difficile portare molti partner dalla propria parte con una versione commerciale di un sistema operativo, considerando che molti di questi già usano probabilmente distribuzioni Linux gratuite e leggere, progettate ad hoc.
Inoltre, da quando ha attivato Azure, lo scopo di Microsoft è diventato più quello di fornire servizi che non quello di vendere software e per questa ragione oggi Microsoft rilascia sostanzialmente software che consenta l’adozione di Azure, qualunque sia la sua origine. Non è sorprendente quindi che per tutte queste ragioni abbia deciso di non reinventare la ruota e di usare una versione molto personalizzata di un ambiente Linux, estendendolo con “funzionalità di sicurezza ispirate da Windows”. Microsoft inoltre ha usato chip personalizzati per anni nelle proprie console Xbox.
Sarebbe stato difficile portare molti partner dalla propria parte con una versione commerciale di un sistema operativo, considerando che molti di questi già usano probabilmente distribuzioni Linux gratuite e leggere, progettate ad hoc
Ciò che è più interessante è che Microsoft abbia usato i container per rendere sicuro il sistema. Sicuramente Azure Sphere OS include una versione specifica della tecnologia di containerizzazione ma al di là di questo i container stanno emergendo come la soluzione più importante e diffusa per risparmiare risorse fornendo comunque un alto livello di sicurezza. Redmond ha già implementato i container in Windows Server 2016 ed ha affinato il concetto prima per poter eseguire Linux su una macchina Windows e poi per fornire i container Linux sulle macchine Windows, migliorando enormemente la produttività e la flessibilità.
Il nostro lavoro a VaiSulWeb ci ha portato a progettare la nostra prossima generazione di servizi attorno alla containerizzazione e, soprattutto, sull’enorme vantaggio in termini di flessibilità e produttività che emerge dal poter eseguire container basati su Windows o su Linux su macchine Windows Server. E’ molto interessante quindi che la nostra intenzione di usare la containerizzazione come sistema di sicurezza si sia rivelata una soluzione adottata anche in Azure Sphere OS, anche se non siamo sicuri che su Linux questo sia effettivamente un meccanismo di sicurezza accettabile.
I microcontroller Azure Sphere useranno un meccanismo di autenticazione basato su certificati che consentirà di identificare ogni singolo dispositivo, qualcosa di molto simile a come il codice IMEI viene usato negli smartphone. Questi certificati saranno gestiti dal servizio di Azure Sphere che girerà su Azure e quindi Microsoft agirà come autorità di certificazione e gestione per l’intero ecosistema e fornirà anche gli aggiornamenti per il sistema operativo e le applicazioni. Non abbiamo dubbi che l’esperienza che Redmond ha accumulato nel fornire aggiornamenti a centinaia di milioni (se non miliardi) di PC e Xbox aiuterà a fornire efficacemente aggiornamenti a decine di miliardi di dispositivi IoT.
Piano ambizioso
Sicuramente Microsoft ha un piano ambizioso dato che intende creare una piattaforma per miliardi di dispositivi. Possono efficacemente assorbire i costi derivanti dal fornire un sistema operativo gratuito guadagnando dalle tariffe applicate ai clienti per i servizi cloud quindi il business model è certamente vincente anche senza la possibilità di richiedere dei costi di licenza per il sistema operativo. Inoltre, l’ecosistema Azure Sphere risolve molti dei problemi comuni che le aziende incontrano quando progettano i propri dispositivi: dalla sicurezza all’autenticazione, dagli aggiornamenti alla telemetria e le funzionalità di correzione dei problemi, consentendo alle aziende di concentrarsi nello sviluppo delle “applicazioni” di cui hanno bisogno per i propri obiettivi, lasciando tutto il resto all’ecosistema Sphere.
Le cose potrebbero diventare anche più interessanti se .NET potrà essere usato per lo sviluppo di applicazioni, perchè riteniamo probabile che .NET Core (o una versione ridotta del framework) possa essere parte dell’equazione. Ne sapremo di più quando gli SDK saranno resi pubblici, verso la metà di quest’anno.
Leave a Response