Guest post: Una giornata all'Azure Open Day in compagnia di una nuova Microsoft

 

Questo articolo è stato scritto da Nicola Iarocci , sviluppatore, esperto di MongoDB e autore di alcuni progetti open source in Python e .NET

Ammetto di essere partito per questo Azure Open Day di Milano con grande curiosità. Avevo due obiettivi ben precisi: farmi un'idea dello stato di maturazione e affidabilità della piattaforma Azure, e dare un'occhiata da vicino a questa nuova Microsoft finalmente aperta al mondo esterno.

 

Premessa

La mia storia con Microsoft è simile, immagino, a quella di altri. Praticamente una intera carriera passata a testa bassa dentro l'ecosistema Microsoft (ho qui davanti a me il manuale del Microsoft Professional BASIC 7.0, A.D. 1989) fin a quando, più o meno cinque anni fa, si consuma il tradimento: Python, JavaScript, git, OSX, Linux, Postgres, MongoDB, Vim. Il passaggio insomma all'Open Source, che a quel tempo era davvero l'altro mondo.

Sul fronte cloud già nel 2007 abbiamo adottato Amazon, praticamente l'unico player presente all'epoca. Ci serviva un'applicazione di backup per i dati gestionali dei nostri clienti, e pensammo che salvarli in remoto sarebbe stata una buona idea. All'epoca S3 era in ancora beta, e venne poi fuori che pochissimi avevano tentato qualcosa del genere, tantomeno in Italia qualcuno sapeva cosa fosse poi "il cloud", cosa che rese l'esperimento un'esperienza piuttosto interessante... ma questa è un'altra storia. In seguito abbiamo passato parte dell'infrastruttura su Heroku, scelto per la sua eccellente e allora unica integrazione con git e anche perché, onestamente, non amiamo troppo la parte DevOps del mestiere: siamo pigiatasti nel cuore.

Oggi in azienda ci troviamo in una situazione di equilibrio in cui il prodotto principale è .NET, così come lo sono le applicazioni mobili grazie a Xamarin. L'infrastruttura web è su tecnologie alternative. I web service, per esempio, girano su istanze di Eve, un mio progetto Python open source che si appoggia a MongoDB e Redis, rispettivamente per storage e caching.

 

Azure Open Day

Confesso di non aver seguito Azure con la dovuta attenzione. Ogni volta che usciva una nuova feature, oppure che qualcuno ne accennava su twitter, finivo per ripromettermi di darci un'occhiata più approfondita ma, come spesso succede con le buone intenzioni, non seguivano i fatti. L'invito all'Azure Open Day è dunque giunto a proposito: ecco l'occasione, mi sono detto, di mettermi in pari.

In generale gli speaker che si sono succeduti sul palco hanno offerto una buona panoramica sulle possibilità e i vantaggi offerti dall'adozione del cloud, soprattutto in termini di rapidità nel prototyping, A/B testing e deploy. Grazie a queste piattaforme è davvero facile per chiunque, anche per lo sviluppatore puro che, come il sottoscritto, poco o nulla sa di DevOps e sistemi, mettere in linea un sistema affidabile, sostenibile e, al bisogno, facilmente scalabile.

Avrei forse gradito un po' più di dettagli sul funzionamento e sulle feature specifiche della piattaforma Azure. Ho apprezzato per esempio la presentazione di Ivan Fioravanti che ha dimostrato come sia facile configurare, istanziare e gestire solo via command line un intero Replica Set MongoDB di discrete dimensioni, ottenendo prestazioni di tutto rispetto. Nel suo test è andato sul sicuro usando macchine G, che sono le più grandi VM oggi disponibili sul mercato pubblico, ma conosco bene MongoDB e sono certo che le prestazioni sarebbero state simili anche su macchine meno stellari.

Nel corso della sua presentazione Ivan ha anche accennato al deploy via git, cosa che ha immediatamente destato il mio interesse. Sono poi andato a verificare e in effetti qualcosa di simile a quel che oggi possiamo fare su Heroku è possibile anche su Azure, perlomeno per quanto riguarda il deploy dei siti web. Il deploy delle nostre REST API avviene via Git e mi riprometto di testare se lo stesso risultato è già ottenibile su Azure, anche perché ad un primo esame mi pare di poter dire che Azure sia senz'altro più conveniente rispetto alla concorrenza.

 

Open Source

Una cosa che balza all'occhio nell'offerta Azure; la ricchezza di supporto per i tool non-Microsoft, in particolar modo per quelli open source: git, Linux e quant'altro. Certo, col senno di poi, non c'è nulla di strano vista la rivoluzione che sta avvenendo col .NET Framework, cuore pulsante delle tecnologie Microsoft. Eppure ancora oggi non faccio che ripetermi: chi l'avrebbe detto solo un paio d'anni fa che avremmo visto Linux girare su una piattaforma Microsoft? E che dire della release non solo Open Source, ma addirittura multi piattaforma del prossimo .NET Core, di ASP.NET 5 e di tutto il resto che, c'è da scommetterci, arriverà poi?

Microsoft vuole essere ovunque, e ha capito che questo obiettivo non può essere raggiunto rimanendo focalizzata unicamente sulle tecnologie proprietarie né tantomeno costringendo gli sviluppatori su una piattaforma chiusa e limitata a Windows. Poteva arrivarci prima e certo ha ben corso il rischio di perdere il treno, ma a quanto pare ora siamo sulla giusta strada e l'intenzione di percorrerla a spron battuto.

Sia parlando direttamente con gli Evangelist sia seguendo la frenetica attività dei core developer su GitHub si ha la netta percezione di un grande entusiasmo per questo cambio di direzione. Pare di avvertire che questo fosse un evento atteso con trepidazione da lungo tempo.

 

Considerazioni finali

Sono uscito da questa giornata con l'impressione che Azure sia una piattaforma già sufficientemente matura. C'è ancora qualcosa da fare per colmare il gap con servizi che sono sul mercato da più tempo (il Marketplace, per esempio, è ancora in beta), ma siamo di fronte a una offerta già ricca e production ready.

E' evidente che Azure non è un esperimento, così come non è un'operazione di facciata l'adozione della filosofia open source per le tecnologie per sviluppatori. Per Microsoft si tratta di cambiamenti strategici, probabilmente i principali di questi anni. Attorno ad Azure e al .NET open source di nuova generazione Microsoft sta ridisegnando gran parte della sua offerta, enterprise e non, e ho l'impressione che ciò a cui assistiamo sia solo l'inizio di una strategia di lungo, lunghissimo periodo.