Tratto dallo speciale:

aKite: cloud computing che funziona

di Francesco Caccavella

10 Dicembre 2009 09:00

Davide Bedin ci presenta aKite, il suo software basato su Microsoft Azure, e ci spiega i vantaggi e le buone pratiche da considerare quando ci si vuole trasferire fra le nuvole

Davide Bedin l’abbiamo incontrato alla Microsoft Professional Developers Conference lo scorso novembre, unico fra gli ISV (Independent Software Vendor, produttori di software indipendenti) italiani con cui abbiamo avuto il piacere di scambiare opinioni nella più importante conferenza Microsoft dedicata agli sviluppatori. La sua azienda produce aKite (‘un aquilone’), un software per punti vendita erogato, uno dei primi in Italia su ampia scala, attraverso Azure, la piattaforma di cloud computing di Microsoft. Con lui, in questo cambio di e-mail, abbiamo cercato di capire quanto questa nuova forma di sviluppo e distribuzione di software possa effettivamente mettere in mano alle piccole e medie imprese uno strumento in più per risparmiare e ottimizzare la propria infrastruttura informatica.

Cominciamo dalle basi: cosa guadagna un’azienda nell’affidarsi ad una piattaforma cloud?

Il cloud consente a chiunque l’utilizzo di una soluzione professionale senza alcun investimento iniziale e senza doversi preoccupare della gestione quotidiana, a tutto beneficio dell’attività aziendale. Il livello di servizio e la sicurezza dei dati sono molto più elevati di quanto sia possibile ottenere da un sistema gestito localmente. Inoltre se le esigenze cambiassero drasticamente, oppure il servizio non si rivelasse adeguato, è più facile cambiare, come si fa per la telefonia.

Quindi, hardware e software diventano una sorta di servizio?

È così. Al cloud è associato il concetto di SaaS (software as a service), software erogato come servizio quando e dove necessario, come l’elettricità o il telefono. Con la nostra soluzione, per aprire un nuovo negozio in una località remota, magari in un altro continente, o sostituire una postazione gusta, basta andare su una pagina web, inserire login e password come si fa normalmente per l’home banking, e dopo pochi minuti si può iniziare a vendere.

Veniamo al budget: con il cloud si risparmia?

aKitePensa al nostro prodotto dedicato ai punti vendita: con aKite il sistema è erogato come servizio on demand da cloud computing. Il filo diretto con i negozi passa per le "nuvole": le postazioni di cassa sono connesse a dei servizi retail su Windows Azure di Microsoft, a loro volta integrati direttamente con l’ERP centrale. In questo modo eliminiamo i server che raccolgono i dati di vendita nel negozio e che li inviano a dei server FTP al centro della catena, da cui vengono fatti proseguire per l’ERP.

Dunque meno hardware. E poi?

Oltre ad eliminare un bel po’ di hardware, e la relativa complessità di gestione, un sistema di tal genere è anche ecologico perché la potenza richiesta dal funzionamento del servizio centrale su cloud è una piccolissima frazione di quella necessaria nei sistemi classici. Ma il risparmio è solo uno dei vantaggi e spesso nemmeno il principale: il percorso diretto, veloce e sicuro dei dati di vendita consente di prendere al centro decisioni più tempestive ed efficaci. Inoltre essere su cloud con tecnologie aperte come quelle dei web services, facilita la collaborazione con i partner commerciali con maggiore efficienza e minori sprechi.

Ma tutto può andare sulle nuvole?

In generale, ogni tipo di applicazione può beneficiare ampiamente dall’uso del cloud computing. Se scendiamo nei dettagli, una piattaforma del genere aiuta innanzitutto ogni applicazione che può presentare picchi improvvisi del carico di lavoro: essere in grado di mantenere in salute l’applicazione in queste situazioni fa la differenza fra il successo e l’insuccesso. Se l’uso dell’applicazione vive dei cicli periodici, la piattaforma di cloud computing Azure ci permette di richiedere maggiori risorse solo per il tempo necessario, rilasciandole appena non ne abbiamo più bisogno. L’assenza d’investimento iniziale e la proporzionalità dei costi all’utilizzo rendono inoltre il cloud computing ideale per applicazioni offerte in modalità SaaS.

E tutto ciò che abbiamo già in azienda?

Una piattaforma come Azure permette di combinare il cloud computing con i sistemi e applicazioni "on premises" (ossia erogate da server centralizzati nel perimetro dell’azienda [Ndr]) in modo trasparente senza obbligare ad un’adozione radicale; si può usare il cloud per alcune funzionalità specifiche per una nuova applicazione oppure senza essere costretti ad affrontare la migrazione completa di un’applicazione esistente.

Nella tua esperienza hai dovuto affrontare diffidenze, incomprensioni, paure?

La sindrome del "Dove sono i miei dati ?" è certamente la principale, ma se non è una giustificazione per mantenere lo status quo, non è difficile spiegare che, specialmente in una PMI, i dati tenuti in casa sono molto meno sicuri sia come conservazione (il cloud di Microsoft è a prova di catastrofe) che come riservatezza (su Windows Azure, nessun umano sa dove sono "fisicamente" i dati). L’altro problema sorge quando i canoni del servizio vengono confrontati solo con i costi delle licenze perpetue, senza considerare quelli di deployment, di gestione quotidiana e inoltre dell’hardware e dei canoni (HW / SW) che vengono eliminati.

Entriamo un po’ nello specifico dei costi.

Ti parlo della nostra esperienza: noi vogliamo offrire più valore della concorrenza. Un valore è anche la semplicità che viene condensata in un canone mensile / annuale "flat / tutto compreso" proporzionale al numero di negozi e di posti di lavoro. Comprende l’uso del software, il deployment iniziale e migliorativo dell’applicazione, l’assistenza telefonica e infine i costi di elaborazione, storage e connettività del cloud computing. Questi ultimi sono in realtà costi variabili perché dipendono sia dall’efficienza dell’architettura e del software sotto il nostro controllo, che dal carico di lavoro (numero di transazioni e di report) dipendente dalle necessità e dalle preferenze dell’utente.

Non c’è il rischio che, diciamo così, un utilizzo "vivace" della piattaforma porti a superare i costi preventivati? Come quando utilizziamo il cellulare più del dovuto e troviamo poi in bolletta costi eccessivi.

Noi abbiamo deciso di assumerci il rischio di qualche utente che consumi più risorse di altri, perché far pagare il consumo avrebbe portato complicazioni legate all’imprevedibilità del costo e alla difficoltà di controllo. Inoltre si sarebbe creato il paradosso di un’applicazione scritta male per incapacità o scarsità investimenti, che sarebbe stata più costosa per l’utente finale. Con il SaaS erogato da cloud, per la prima volta il fornitore e l’utente hanno obiettivi convergenti. Noi abbiamo l’interesse a ottimizzare il codice per ridurre i costi di erogazione e a migliorare continuamente l’interfaccia utente per ridurre quelli di supporto. Con il software tradizionale venduto con licenza perpetua, un funzionamento perfetto potrebbe spingere gli utenti a non rinnovare il canone di assistenza che si aggira sul 20% all’anno. L’altra fondamentale differenza del software tradizionale è che l’elevato costo di aggiornamento impedisce il miglioramento continuo.

Tutto ciò è stabilito da contratti che prevedono anche uno specifico livello dei servizi?

I contratti sono anch’essi semplicissimi. Se il cliente non è soddisfatto, può estrarre i suoi dati e disdire il canone. Riteniamo inutile inserire clausole scritte in "legalese" stretto se non addirittura vessatorie, con la doppia firma. Ci consideriamo partner del cliente ed abbiamo la fortuna di potergli trasferire l’ottimo SLA (service level agreement) di Microsoft che sui diversi fronti è almeno del 99,9% calcolato a livello mensile. Inoltre con aKite, il progetto è partito dalla necessità di non interrompere le vendite nemmeno per qualche minuto al mese e quindi ogni postazione ha un compatto database locale (SQL CE) che viene utilizzato per tutte le normali operazioni di vendita, con ulteriori vantaggi su velocità e scalabilità rispetto ad una architettura puramente centralizzata. Non si deve dimenticare che anche un servizio con SLA pari al 99,999% non può risolvere i problemi periferici di affidabilità della connessione ADSL. L’uso di una seconda connessione ridondante introdurrebbe complessità e spreco.