Ambienti di sviluppo sul Cloud

MCA690 Fig4_WEB

Negli ultimi anni, diversi ambienti di sviluppo integrati sono stati migrati verso il Cloud, o sono stati creati direttamente per quello. Ma, mentre questo era probabilmente naturale per lo sviluppo di applicazioni web (utilizzanti Javascript, Html, Css, Php) e più tardi per l’informatica più in generale (Java, Python, Ruby), l’industria dello sviluppo embedded ha fatto registrare un ritardo. Probabilmente, ciò è dovuto al fatto che il sistema target nelle applicazioni embedded è intrinsecamente più fisico. O forse è a causa dell’eccessivo clamore attorno al termine Cloud che gli sviluppatori hanno accolto l’annuncio di prodotti Cloud con indifferenza o cauto scetticismo. Queste reazioni derivano da due opposti punti di vista. C’è una generazione che sta entrando oggi nella forza lavoro e che ha vissuto tutta la propria vita da connessi. Per loro, essere on-line è parte dell’ordine naturale delle cose. Viceversa, un servizio o uno strumento che non sia disponibile 24/24h, ovunque, e da qualsiasi piattaforma, rappresenta una anomalia. L’altra prospettiva deriva da un gruppo più pragmatico, che probabilmente rappresenta ancora la maggioranza, che sta chiedendosi che tipo di beneficio potrebbe esserci nello spostare l’ambiente di sviluppo verso il browser. Hanno diverse perplessità su sicurezza e prestazioni, e hanno bisogno di prove e garanzie prima di accettare una nuova tecnologia. Per questo gruppo la motivazione più grande potrebbe derivare dalla consapevolezza che i moderni Ide (Integrated development environment) sono diventati oggetti molto potenti, ma anche molto grandi e complessi, che necessitano di frequenti aggiornamenti e attente manutenzioni.


Mplab X vola sul Cloud

Per esempio Mplab X di Microchip, basato sul progetto Ide open-source Netbeans, copre migliaia di diversi modelli di Mcu, è aggiornato su base mensile, e richiede un download di circa 400 Mbyte. I compiler C che si inseriscono in esso, come Mplab XC compiler suite, hanno una frequenza minore ma richiedono all’incirca 100 Mbyte di spazio in più. Aggiungendo anche pochi altri plug-in si arriva rapidamente a superare quota mezzo Gigabyte. Oltre a questo va considerato il tempo speso per realizzare le attuali installazioni e la manutenzione generale. Chiunque gestisca un piccolo laboratorio in un ambiente educational o supporti un team di sviluppatori professionisti, sa quanto lavoro sia richiesto per tenere tutto aggiornato e in forma. In questo tipo di ambienti ci sono anche preoccupazioni riguardo la gestione delle autorizzazioni richieste per installare le applicazioni su apparecchiature informatiche condivise. Nell’adottare delle toolchain di tipo cloud-based, tutto quel lavoro si traduce in un semplice login on-line. Instantaneamente, la versione più aggiornata di ogni singolo componente della toolchain diviene disponibile per l’utente dietro il browser. Tuttavia, l’essere on-line può aggiungere una dimensione totalmente nuova all’esperienza di sviluppo embedded. Una volta che un Ide sia stato virtualizzato, i progetti possono migrare da una workstation all’altra e il lavoro avviato in un ufficio o classe può migrare verso una qualsiasi sede. Condividere o comunicare tra team situati in prossimità o geograficamente dislocati diventa sempre più naturale, oltre a risultare più facile il set-up e il mantenimento. Con il recente lancio dell’ambiente cloud-based Mplab Xpress, Microchip ha dato un forte segnale alla comunità degli sviluppatori embedded. Se da un lato probabilmente non è la prima a offrire Editor e Compiler sul Cloud, il nuovo toolchain basato su web è forse il più completo dal punto di vista del supporto hardware e software. Include infatti il supporto per circa 400 modelli di microcontrollori, e ci sono forti richieste affinchè presto sia ampliato per coprire l’intero portfolio di prodotti 8, 16 e 32 bit, che potenzialmente comprende più di 1.000 dispositivi individuali. Come per le funzionalità di debugging software offerte, la lista include il supporto per la simulazione on-line, ma anche l’accesso diretto ai Programmer e Debugger in-circuit. E, ancora più importante, la lunga lista include un nuovo e veloce strumento di sviluppo il cui nome è Mplab Code Configurator, che permette ai progettisti, principianti o esperti che siano, di risparmiarsi le lunghe ore da passare a studiare i dispositivi e la loro documentazione su librerie di periferiche e concentrarsi maggiormente sulla parte creativa dell’applicazione.

Meno barriere di ingresso

La conseguenza importante del rendere un ambiente di sviluppo completo accessibile attraverso un semplice login su web è che quella che normalmente era una barriera di ingresso elevata viene completamente eliminata. Virtualmente, non è richiesto alcun impegno per provare un nuovo microcontrollore. Persino l’effettivo atto del login viene risparmiato a quanti scelgano di prendere il sistema per un rapido, e praticamente anonimo, test-drive. Testare una nuova funzionalità, che si tratti di una periferica per Mcu o di un nuovo tool software di rapida prototipizzazione, richiede solo pochi click. Tuttavia, Mplab Xpress non è un gioco, né uno strumento solo per principianti. Sia l’interfaccia utente che gli strumenti sottostanti sono stati realizzati per sembrare e comportarsi esattamente come un vero desktop equivalente. Ciò significa che non ci sarà una seconda curva di apprendimento se o quanto l’utente deciderà di passare dal Cloud al desktop. Infatti, lo strumento Cloud è identico in termini di possibilità al suo desktop alter ego ed una transizione di progetto tra i due non è solo possibile ma avviene anche in maniera fluida.

Le prestazioni

Nel pensare a un ambiente di sviluppo che richiede una costante presenza on-line, in molti sarebbero preoccupati riguardo la velocità e la larghezza di banda, e naturalmente dei costi risultanti per la connessione. Ma molti dei moderni strumenti Cloud sono basati su tecnologia Ajax. Ciò significa che il browser e le sue possibilità vengono utilizzati per la maggior parte del tempo per eseguire codice localmente - in modo asincrono e utilizzando Javascript, da qui le parti A e J dell’acronimo - quindi l’applicazione può essere molto reattiva e non richiede l’invio di ogni singolo tasto battuto fino al server dall’altra parte del pianeta. Può capitare di dover effettuare del file transfer, ma solo quando il file viene salvato o aperto per editarlo. Questi sono solitamente piccoli file di testo (.c, .h, .hex), facilmente superati per quantità e dimensione dalla media di immagini e ads caricate dal browser nell’accedere ad un qualsiasi moderno sito web. Nel compilare il codice applicativo invece, il server lavora interamente sulle copie locali ed il procedimento è incredibilmente veloce. Infatti, nell’esperienza quotidiana è comune osservare come i compiler Cloud possano puntualmente superare in termini di prestazioni un laptop, tanto più quando complessità e dimensione del progetto risultano in contino aumento.

La sicurezza

Le preoccupazioni in merito alla sicurezza delle applicazioni Cloud sono un argomento molto delicato. Le grandi aziende stanno spendendo enormi quantità di denaro in pubblicità per convincere tutti noi che i dati, o il codice, in questo caso, sono perfettamente al sicuro una volta nel Cloud. Le principali discussioni tra le due opposte scuole di pensiero finora sono più o meno queste. Per gli scettici: se c’è un sufficiente valore o motivazione, gli aggressori alla fine troveranno il modo di entrarci. Questa è una regola che generalmente è vera per tutto, compresa ogni cassaforte aziendale protetta con codice. A favore: le aziende che offrono servizi Cloud sono motivate, e nella miglior posizione, per immettere in questo lavoro risorse specializzate al fine di tenere al sicuro i dati. Queste risorse sono probabilmente di molto superiori alle risorse che il dipartimento informatico di una qualsiasi azienda anche di medie dimensioni possa affrontare.
Mplab Xpress adotta una tecnologia di crittazione avanzata, la stessa utilizzata dai migliori sistemi bancari on-line, al fine di proteggere connessioni e dati sensibili di ognuno degli utenti e applicazioni. In effetti, nei prossimi anni ognuno di noi sarà esposto a questo dilemma tecnologico, e dovremo decidere se i rischi sono più elevati dei vantaggi offerti da una moltitudine di nuovi servizi Cloud.

Pubblica i tuoi commenti