Isolation, IoT, Serverless, Automation
La nostra sintesi su quanto emerso alla Cloud Conf 2016
Cloudconf, una delle più importanti conferenze Europee sul cloud computing spegne la sua quarta candelina e registra il tutto esaurito nella splendida cornice del centro congressi al Lingotto di Torino.
Considerata l’impressionante lineup di speaker, provenienti dalle principali realtà IT di livello mondiale, una nostra assenza sarebbe stata imperdonabile.
A giudicare dagli interventi in programma e in particolare da quelli che abbiamo seguito, ci pare proprio che l’edizione 2016 sia sintetizzabile in quattro parole chiave: Isolation, IoT, Serverless Applications, Automation.
Seguendo il trend che negli ultimi anni ha portato il mondo dell’IT ad abbandonare i server fisici in favore della virtualizzazione, da qualche tempo ci si è spinti ancora oltre. Come fatto emergere da Danilo Poccia (@danilop) la virtualizzazione arriva ora fino al livello dei servizi – tipicamente per mezzo di Docker – via via fino al livello delle funzioni (basti pensare alle Lambda functions di Amazon Web Services). L’idea è quella di semplificare ed isolare il software in moduli che svolgano compiti specifici e di costruire il comportamento globale dell’applicazione collegando le singole componenti per mezzo di eventi che vengono emessi e gestiti dai moduli stessi. I vantaggi di un’infrastruttura così articolata sono molteplici: dalla semplicità nel testing, alla scalabilità, alla gestione ottimizzata dei costi in funzione del carico del sistema.
Altro filone di sicuro interesse è quello che riguarda l’Internet Of Things (IoT). Il mercato degli “smart sensors” è ogni giorno più ricco di dispositivi con svariate funzioni e la possibilità di creare applicazioni innovative che si interfacciano in modo passivo (leggendo dati ambientali per mezzo di sensori) e attivo (modificando lo stato mediante attuatori) con l’ambiente circostante aprono nuovi orizzonti e nuove opportunità di business. Tuttavia, considerata la limitatezza intrinseca dei dispositivi, il collegamento con il cloud non è sempre banale. Piuttosto di reinventare la ruota, può risultare utile interfacciarsi con i servizi forniti dalle cloud companies. Servizi come Amazon IoT, il quale, oltre ad offrire uno stack di API pensate appositamente per interagire nelle due direzioni con i dispositivi smart, fornisce una serie di SDK (C, Javascript, Arduino e altri) per semplificare la vita dello sviluppatore e abbattere la difficoltà tecnica tipica del mondo Internet Of Things. Lo scopo – così come chiarito da Max Amordeluso (@maxamorde) – è fornire uno strumento per arrivare velocemente ad una versione vendibile dell’idea in tempi rapidi.
Un altro trend in particolare evidenza negli ultimi tempi riguarda le serverless applications. Può sembrare deleterio per i “backend developers” come me, ma il risparmio di tempo permesso dall’utilizzo di servizi professionali che sono progettati e pensati per questo specifico compito, consente di concentrare i propri sforzi nel fornire al cliente la giusta esperienza utente per fruire correttamente del servizio, oltre che diminuire il tempo di realizzazione dei progetti. In questo senso citiamo nuovamente l’interessantissimo intervento di Danilo Poccia (slides), che ha illustrato con un esempio pratico come realizzare in pochi minuti una semplice API usando Amazon API Gateway e le sopra citate Lambda Functions.
Per quanto riguarda l’automazione del processo di produzione del software – un tempo appannaggio delle sole aziende di grandi dimensioni – grazie all’avvento di tool specializzati, sta raggiungendo realtà via via sempre più piccole. Inoltre, il dominio di applicazione si sta spostando dalla pura fase di build, testing e deployment, sempre più in basso fino ad affiancare lo sviluppatore nel suo compito principale: la scrittura di buon codice. Grazie a tool ad-hoc integrati con il sistema di continuous integration, è possibile creare dei workflow automatici che agevolino gli sviluppatori nella corretta gestione del codice, del repository, dell’issue tracker e del deployment, garantendo nel contempo il contenimento del debito tecnico causato inevitabilmente dall’invecchiamento della codebase e aiutando a garantire un miglior risultato finale. Interessante, in questo senso, il contributo portato da Atlassian con l’intervento di Sven Peters (@svenpet) il quale ha raccontato come il suo team abbia realizzato una nutrita serie di Bots che si integrano in modo trasparente al workflow operativo di tutti i team di sviluppatori gestendo automaticamente – oltre al normale ciclo di build-test-deployment – l’apertura/aggiornamento/chiusura delle issues, la creazione dei changelog, la corretta scruttura dei test funzionali e addirittura la puntualità agli stand-up meetings!
Parafrasando Alexis Moussine-Pouchkine (@alexismp) di Google: il mondo degli sviluppatori sta vivendo una fase rivoluzionaria della sua storia dal punto di vista tecnologico. Noi tutti in MV labs vogliamo essere parte attiva di questa rivoluzione. E tu?
Stay tuned!