Guest post: Meetup con Microsoft Open Technologies a Roma

Questo post è stato scritto da Innocenzo Sansone , Microsoft Student Partner Lead

Lunedì 26 gennaio 2015, poco prima delle 18.30 dietro piazza Cavour, nel cuore del quartiere Prati, nel centro storico di Roma raggiungevo il locale “Prati Urbani” dove di lì a poco si sarebbe tenuto l’incontro lanciato via web da Microsoft Italia e rivolto a tutti gli sviluppatori di Roma del mondo Open Source, e non solo.

L’appuntamento era stato presentato come un’occasione per confrontarsi, bevendo un aperitivo insieme, e avere le risposte a tutte le domande sul cambiamento storico che Microsoft sta vivendo.

Ospite dell’incontro sarebbe stato Gianugo Rabellino, Senior Director of Open Source Communities in Microsoft Open Technologies a Redmond, di passaggio in Italia per qualche giorno, con cui discutere di temi quali interoperabilità, standard aperti e Open Source.

Sono stato uno dei primi ad arrivare. Il locale scelto per trascorrere la serata è un ambiente polivalente, dallo stile italiano ma di respiro internazionale, ideale per questo tipo di incontri. Presto il posto si è riempito di sviluppatori, eravamo oltre 40, e siamo scesi nella saletta adibita all’incontro.

La serata è stata introdotta da Roberto Andreoli, Director of Technical Evangelism in Microsoft Italia, che dopo averci dato il benvenuto e spiegato che l’obiettivo della serata era quello di iniziare un confronto, che certamente continuerà, ha passato subito la parola a Gianugo che, insieme a Roberto, è stato molto disponibile a rispondere a tutte le domande degli sviluppatori intervenuti.

La storia di Gianugo Rabellino è molto significativa. Prima di approdare in MS Open Tech a Redmond, presso il quartier generale di Microsoft, ha lavorato per oltre vent’anni, in Italia e in Europa, nel mondo dell’Open Source, partecipando a molti progetti e utilizzando molteplici linguaggi e tecnologie. In Italia, ha co-fondato, nel 1994, la prima associazione ufficiale di Linux aiutando Linux e l’Open Source a diffondersi. Grazie al suo impegno e partecipazione, ha ottenuto la membership, sin dal 1999, in Apache Software Foundation, dove attualmente ricopre il ruolo di vice presidente del Comitato di gestione del progetto Apache XML, assiste una serie di progetti dell’Apache Incubator come mentore e parla di sviluppo aperto nelle principali conferenze mondiali. Gianugo è stato, inoltre, il fondatore e CEO di SourceSense, uno dei principali system integrator europei di tecnologie Open Source, che ancora oggi gode di ottima salute. Proprio attraverso SourceSense è avvenuto il primo contatto con Microsoft in quanto le due aziende lavoravano ad un progetto Open Source di librerie per la lettura e scrittura di alcuni formati di Office. Con la sua decennale esperienza in community Open Source, Gianugo ha portato in MS Open Tech, nel 2010, una profonda conoscenza di tecnologie e piattaforme aperte e il suo ruolo è quello di coinvolgere il più ampiamente possibile il suo team con le community di sviluppatori per creare nuove opportunità di business attraverso l’uso di tecnologie Microsoft e non-Microsoft, mantenendo sempre il massimo rispetto delle community Open Source e del loro contributo.

Microsoft Open Technologies, Inc. è una società interamente controllata da Microsoft Corporation fondata per concretizzare ancora di più l’impegno della società nel campo dell’openness. E’ stata creata, ci racconta Gianugo, per essere più liberi di utilizzare le stesse pratiche ingegneristiche proprie delle community Open Source, in maniera estremamente agile, per rendere possibili certi scenari che sarebbe stato difficile ottenere, da un punto di vista ingegneristico, con i processi di sviluppo software di Microsoft.

In questo modo, MS Open Tech riesce molto bene a promuovere gli investimenti di Microsoft nell’apertura. Lo scopo è quello di fornire agli sviluppatori e ai clienti una maggiore scelta per collegare diverse tecnologie in un ambiente eterogeneo perché il gruppo crede fortemente che l’apertura sia un bene per i clienti, per la community e il business. Il team è composto da ingegneri, professionisti degli standard e divulgatori tecnici che hanno esperienza e passione nel lavorare in una serie diversificata di tecnologie.

In MS Open Tech si sviluppa software Open Source, si gettano le basi per l’interoperabilità tra sistemi diversi e si contribuisce alle specifiche degli standard aperti. I principali organismi di standardizzazione internazionale con i quali si lavora sono: W3C, IETF, OASIS, Ecma, DMTF e non manca la collaborazione con le community Open Source, tra cui: JQuery, MongoDB, Apache Cordova, Redis, Apache, Qpid, .NET Foundation, OpenJDK, Eclipse, Node.JS, Cocos2d, Web Platform Docs, Symfony, Doctrine, WebKit, GitHub, CodePlex. Tra l’altro, quello di MS Open Tech non è l’unico gruppo che lavora all’Open Source in Microsoft; basta ricordare i più recenti contributi a Linux oppure, ad esempio, TypeScript.

Non possiamo poi dimenticare la creazione, lo scorso anno, della .NET Foundation, di cui Gianugo Rabellino è uno dei membri della board, e il rilascio Open Source della piattaforma .NET, che sarà quindi presto disponile e supportata anche su Mac e Linux, oltre che Windows; oppure l’impegno di Microsoft nel campo delle applicazioni HTML5 e il recente rilascio di Visual Studio 2013 Community che offre gratuitamente, al singolo sviluppatore o a piccoli gruppi di lavoro e associazioni senza fini di lucro, le stesse caratteristiche della versione Professional a pagamento e permette di sviluppare per PC, mobile, Web e cloud.

Al centro della rivoluzione di quest’ultimi anni c’è sicuramente Azure, la piattaforma di Cloud Computing Microsoft.
Una piattaforma cloud, dice Gianugo, deve rispondere a determinate caratteristiche per dirsi interoperabile e quindi aperta. Bisogna avere piattaforme in cui sia possibile installare e migrare i tool con facilità, in cui l’utente abbia controllo dei propri dati e in cui sia possibile la scelta degli strumenti da parte degli sviluppatori in quanto il cloud deve parlare il loro linguaggio e non, vice-versa, in cui lo sviluppatore è costretto ad imparare il linguaggio del cloud.

Su Microsoft Azure l’interazione tra sviluppatori e la piattaforma avviene tramite protocolli REST e payload JSON o XML, tutto rigorosamente documentato. E’ possibile, da subito, sedersi al proprio PC e interagire attraverso i protocolli documentati ma se questo non bastasse sono disponibili gli SDK che implementano le interfacce aperte, disponibili in .NET, Java, PHP, Python e in tutti i principali linguaggi. Tutti gli SDK sono Open Source, rilasciati con licenza Apache e si trovano su GitHub: è possibile per le terze parti contribuire, come sta già accadendo, per renderli migliori.

Un cloud basato su standard aperti e con gli elementi di interazione forniti come Open Source è, per Gianugo, un cloud estremamente aperto e interoperabile. Microsoft Azure offre una ricchezza di strumenti e linguaggi di programmazione in grado di coprire qualsiasi esigenza, che sia IaaS o Paas, che sia .NET, Java, Node.JS, PHP, Python, che sia Windows Server o Linux. Proprio a proposito di Linux, MS Open Tech ha lanciato VM Depot, un catalogo di immagini Open Source per Azure che ben presto si è arricchito del contributo delle community e oggi conta centinaia di immagini disponibili per macchine virtuali Linux. Non bisogna, infatti, dimenticare che gli ultimi dati ci dicono che il 20% delle macchine virtuali su Azure sono macchine Linux.

Proprio riguardo l’interoperabilità spiccano i Mobile Services di Azure, disponibili per tutte le principali piattaforme (Windows Phone, iOS e Android), tramite i quali gli sviluppatori di app possono utilizzare facilmente e con poco sforzo servizi di autenticazione e autorizzazione, memorizzazione dei dati e le notifiche push all’interno delle proprie applicazioni.

Tutto questo fa di Azure una piattaforma per il General Computer perché l’astrazione è sempre più importante, e a tal proposito, ci ha tenuto a sottolineare Gianugo, i container sono il prossimo passo verso la pura astrazione e Microsoft è molto attenta a quest’aspetto con il supporto per Docker, una piattaforma aperta che automatizza la distribuzione di qualsiasi applicazione attraverso contenitori portatili e autosufficienti che possono essere eseguiti quasi ovunque, incluso Microsoft Azure, su cui è offerto il pieno supporto per le macchine virtuali Linux sin da giugno 2014. Inoltre, ad ottobre 2014, Microsoft ha annunciato che Docker sarà presto supportato anche in Windows Server.

Tanti erano scettici che Microsoft potesse diventare un cloud provider, conclude Gianugo, perché veniva associata solo al software e a Windows. E’ sufficiente, però, pensare a servizi come Bing, MSDN, Skype, Windows Update, Hotmail, Office 365 e XBOX Live, solo per citarne alcuni, i quali dimostrano che gestire servizi in rete è parte del DNA di Microsoft. Da questo punto di vista, la tecnologia che sta alla base di Azure è un vantaggio competitivo; la facilità d’uso è un grosso elemento dovuto al fatto di supportare così tanti linguaggi e l’evoluzione della piattaforma è costante perché Microsoft interagisce con i propri utenti e le community per poter migliorare sempre di più i propri servizi e aggiungerne di nuovi.

L’incontro è così terminato, e siamo tutti saliti al primo piano del locale dove ci aspettava l’aperitivo e abbiamo continuato a discutere con molto interesse degli argomenti appena trattati sia tra noi partecipanti sia direttamente con la divisione DX, Developer Experience, di Microsoft che è stata ben lieta di rispondere a tutti i nostri dubbi e curiosità. La serata è poi continuata piacevolmente per molto tempo ancora.

L’impegno attuale di Microsoft nel campo dell’interoperabilità, degli standard aperti e dell’Open Source è, senza ombra di dubbio, rilevante ed è un’opportunità di crescita per la community degli sviluppatori. L’attenzione della filiale italiana è massima e, sono sicuro, non mancheranno altre occasioni per fare conoscere questo rinnovamento e le opportunità a tutti gli sviluppatori italiani.

Se volete approfondire potete guardare l'intervista a Gianugo su YouTube: “Cloud computing: il punto di vista di Microsoft