I Quaderni del Cloud : Come provare a costo ZERO la piattaforma Windows Azure

iquaderni_2 Per provare una nuova tecnologia non c’è
nulla di più proficuo che toccarla con mano !!

 

 

Per fare questo partirei da un paio di domande che NON mi sono mai state poste :-)...

  1. E’ possibile provare Windows Azure?
  2. E’ gratis?

Alla prima domanda rispondo : SI !!
Alla seconda rispondo : SI, ma con un fondamentale chiarimento!
... vediamo quindi di CHIARIRE :-)

Cosa significa a costo ZERO nel mondo del Cloud

Come spiegato nel quaderno cosa è il Cloud Computing il mondo del Cloud è fondamentalmente un sistema di affitto, di noleggio di risorse più o meno complesse (dalla semplice potenza computazionale, allo storage, alle transazioni, ai security token, ecc...) e come tutti i sistemi di noleggio le discriminanti maggiori (non sono le uniche) sono il tempo e la quantità ! Queste metriche valgono per tutte le piattaforme Cloud indipendentemente dal vendor che lo propone.

Questo significa che l’offerta di prova di Windows Azure è di fatto un affitto gratuito delle risorse del sistema a patto di stare all’interno dei limiti definiti in termini di tempo, di spazio di storage e di numero di transazioni. Se si sforano tali limiti (dopo vari alert automatici del sistema, vedi ultimo paragrafo di questo post) l’affitto delle risorse non sarà più gratuito ma verrà contabilizzato secondo le tariffe standard! Questo è il motivo per cui il processo di attivazione dell’ambiente di test di Windows Azure richiede l’inserimento della carta di credito anche se un uso corretto delle risorse della piattaforma ci permetterà comunque di usarle gratuitamente con tutta tranquillità (scopo di questo post :-)). Infine, è possibile chiudere l’account in qualsiasi momento.

L’approccio a noleggio nel mondo a servizi è già ampiamente consolidato; è come se fosse uno store (iTunes), un marketplace, con la caratteristica però di avere esclusivamente risorse IT che entro certi limiti sono completamente gratuite. Da un punto di vista concettuale questo modello non è molto differente da situazioni che spesso viviamo di persona sia per l’uso gratuito di risorse a tempo determinato sia per il pagamento aggiuntivo per risorse extra. Facciamo un paio di esempi reali sull’uso di risorse (gratuite a tempo determinato ed extra):

Consideriamo quei parcheggi a pagamento dove i primi 15-30-45 minuti sono gratuiti. Passato tale periodo, se la macchina è ancora nel garage, inzierà la contabilizzazione vera e propria. Non importa infatti cosa stia facendo il conducente, se è al lavoro oppure al bar, la quantità di tempo superiore all’ offerta gratuita dovrà essere pagata perchè la risorsa (il posto auto nel garage, l’istanza computazionale/storage/ecc.. in Windows Azure) non essendo stata liberata non potrà essere riallocata ed assegnata ad altre entità . Infatti anche in Windows Azure non importa se la vostra applicazione stia effettivamente girando oppure no. La discriminante per la componente computazionale è se l’applicazione è deployata su una risorsa perchè questo vincola il sistema alla riallocazione delle risorse ad uso di altri processi.

Come secondo esempio prendiamo la prenotazione di una stanza d’Hotel. Una volta fatto il check-in (documenti + carta di credito) noi pagheremo gli extra solo se utilizzeremo risorse come ad esempio il frigobar, la Pay-tv e i servizi in camera…. Anche in Windows Azure si avranno spese extra se si vogliono utilizzare risorse non comprese nel pacchetto di offerta (anche in quello gratuito). Inoltre, come nel caso precedente, non importa se durante il giorno siamo sempre fisicamente nella camera oppure siamo fuori tutto il giorno. L’albergatore ci fatturerà l’uso della camera perchè la risorsa è allocata solo per noi!

Così ragiona Windows Azure!! Ma vediamo quali sono queste offerte e come attivarle in tutta sicurezza!

Quali sono le opzioni gratuite? E quali le differenze?

Oggi esistono due possibilità per provare la piattaforma Windows Azure disponibili a questo sito dove la discriminante, guarda caso, è il tempo e volume di dati consentiti:

Introductory Special  l’offerta promozionale per provare gratuitamente la versione limitata della piattaforma Windows Azure. Non ha nessun prerequisito e la sottoscrizione comprende un livello base di ore di calcolo mensili, archiviazione, trasferimenti di dati, un database SQL Azure, transazioni Accesso Control e connessioni a Service Bus. L’offerta comprende 25 ore di istanze di calcolo di piccole dimensioni, 500 MB di archiviazione, 10.000 di transazioni di archiviazione, 1 database Web Edition da 1 GB (disponibile solo per i primi 3 mesi, 100.000 transazioni Access Control e 2 connessioni a Service Bus. Infine 500 MB di trasferimento dati in e 500 MB di trasferimento dati out.
Consultare sempre il sito ufficiale per un aggiornamento!

MSDN Subscribers è l’ opzione disponibile per chi ha attivo una sottoscrizione MSDN Premium. In questo caso si hanno 750 ore di istanze di calcolo di piccole dimensioni, 10 GB di archiviazione, 1.000.000 di transazioni di archiviazione al mese, 3 database Web Edition (fino a 1 GB di database relazionale ciascuno), 1.000.000 transazioni di Access Control e 1 pacchetto di 5 connessioni a Service Bus. Inoltre per l’ Europa saranno compresi 7 GB in ingresso e 14 GB in uscita. Per una versione aggiornata di questi valori consultare la pagina dedicata sul sito ufficiale !!

Ma vediamo quali sono le regole d’oro per provare in tutta tranquillità una piattaforma PaaS senza spendere soldi :-)... 

Come si prova una piattaforma PaaS?

In un ambiente cloud (indipendentemente dal vendor) dove ogni risorsa ha un costo calcolato o in decremento (per l’uso gratuito) o in fatturato, l’uso corretto delle risorse diventa un fattore critico per valutare la piattaforma.

Per capire questo aspetto basta focalizzarci su tre elementi fondamentali:

  1. La metodologia di sviluppo non cambia.
  2. Il test della piattaforma non è l’ambiente di test delle proprie soluzioni reali.
  3. Le risorse che non servono devono essere disimpegnate.

Punto 1 (La metodologia di sviluppo non cambia) : come spiegato nel quaderno Windows Azure Platform : Cosa Cambia per il Programmatore lo sviluppo, il debug e il testing di soluzioni per Windows Azure avviene al 95%, se non di più, on-premises (=in locale) utilizzando gli stessi strumenti e metodologie di sviluppo già presenti in azienda. L’unica aggiunta consiste nell’installazione in locale dell’ SDK e dei tool per estendere il proprio ambiente di sviluppo (da Visual Studio a Eclipse, ecc...)
Sviluppare per il cloud in locale può sembrare un controsenso, ma non lo è affatto! Infatti installando il relativo SDK viene attivato sul pc un simulatore di Windows Azure che permette lo sviluppo completo in locale senza nessuna connessione alla piattaforma cloud reale (e quindi senza nessuna spesa o decremento delle ore di prova di Windows Azure) .
Una volta sviluppato e testato correttamente il proprio programma di test si potrà deployare il tutto su Windows Azure per provare l’ebrezza di un sistema Cloud capace ad esempio di spostare un’intera soluzione dall’ambiente di staging a quello di produzione semplicemente premendo un bottone! Oppure, potremo fare gli ultimi test live con dei beta tester/power user che risiedono fuori dall’ azienda.
E’ quindi chiaro che Windows Azure è un ambiente su cui far girare le nostre applicazioni e non un ambiente di sviluppo sul quale sviluppare l’intera applicazione!!

Punto 2 (Il test della piattaforma non è l’ambiente di test delle proprie soluzioni reali) : non confondiamo le offerte gratuite di valutazione della piattaforma con l’ambiente di test per le applicazioni reali! Come abbiamo visto dal paragrafo precedente le risorse per provare la piattaforma sono limitate e quindi vanno usate solo per capire come funziona la piattaforma Windows Azure. Tutt’altra storia prevedere un ambiente di test ad hoc da integrare nei nostri test che in questo caso andrà “noleggiato” e strutturato correttamente!

Punto 3 (Le risorse che non servono devono essere disimpegnate): al cuore della questione c’è l’uso delle risorse (e questo credo ormai sia chiaro). Le risorse nel Cloud sono condivise e quindi nel momento in cui non servono devono essere liberate. Questo significa che quando proviamo la piattaforma con dei nostri test dovremo :

  • Sviluppare e testare l’applicazione in locale
  • Provare localmente gli aspetti di elasticità della piattaforma (provare quindi a impostare 1-3-5 istanze e godersi gli automatismi)
  • Deployare la soluzione su Windows Azure
  • Provarla e/o farla provare per un po’ (qui inizia il conto alla rovescia !!! )
  • Rimuoverla (in questo modo liberiamo le risorse)

L’ultimo punto è importantissimo perchè le piattaforme di Cloud Computing (quindi anche Windows Azure) considerano una risorsa allocata quando non è possibile riallocarla indipendentemente dal fatto che sia usata realmente oppure no (come l’esempio del garage o della camera). Quindi non importa se la sospendete o la stoppate. La risorsa che non serve, si toglie (e’ possibile fare il provisioning e deprovisioning in automatico) !!

In sintesi deve cambiare radicalmente il nostro approccio tipico del on-premises dove una volta fatto un test non ripuliamo mai la macchina di laboratorio e accumuliamo test su test senza preoccuparcene...con il cloud, questo approccio è sicuramente anti economico ;-) (sia che si tratti di prova della piattaforma che di test reali)

NOTA : Non solo...anche nel modello di progettazione e disegno delle applicazioni per il Cloud, l’aspetto del costo delle risorse ricoprirà un aspetto sempre più importante per il lavoro dell’architetto IT. Ma come si suol dire... questa è un’altra storia e quindi un altro post :-)

Come attivare la sottoscrizione gratuita (Introductory Special)

Veniamo al momento del How-To…

Per prima cosa andiamo sul sito delle offerte di Windows Azure : https://www.microsoft.com/windowsazure/offers/default.aspx dove non si può non notare l’offering Introductory Special.

image

Premere “Buy Now” e dopo essere stati autenticati via LiveID ci troviamo sul portale per i clienti degli Online Services

image

Confermiamo e prepariamoci a fare un po’ di data entry.

Prima il nostro nominativo!

image

e poi la richiesta della carta di credito !

image

Una volta inseriti tutti i dati e ricevuta l’email di conferma la parte amministrativa si può dire conclusa e possiamo andare sul portale di Windows Azure per iniziare a lavorare con la piattaforma.

image

 

imageAssicurarsi di impostare l’account msonlineservicesteam@microsoftonline.com come trusted sender all’interno del programma di posta al fine di evitare che le email di comunicazione finiscano nella junk email (posta indesiderata)...
Questo aspetto diventa ancora più critico se si pensa che questo account ci avvertirà se ci stiamo avvicinando alla soglia di utilizzo gratuito delle risorse su Windows Azure !!!

 

Come attivare la sottoscrizione gratuita (Offerta MSDN Premium)

Tra l’Introductory Special e MSDN Subscription l’unica differenza nel processo è il punto di partenza. Per la MSDN Subscription andiamo sul sito di MSDN Subscriptions dove all’interno del tab My Account troviamo il link per accedere all’attivazione dell’ account su Windows Azure (freccia rossa).

image

 

Cliccando su Windows Azure Platform, accediamo automaticamente al portale di attivazione che ci mostra un conto pari a 0 (Zero). Da qui in poi i passi sono i medesimi appena descritti.

Controllare la propria sottoscrizione

Infine,una volta attivato l’account è bene controllare periodicamente l’uso delle risorse su https://mocp.microsoftonline.com/ andando alla voce “visualizza fatture”

image

dove si potrà controllare l’uso progressivo delle risorse e , nel caso di prova della piattaforma, il totale fattura sarà a 0 !!

image

imageAd ogni modo con l’avvicinarsi della soglia di utilizzo gratuito delle risorse si riceveranno notifiche automatiche a partire da 75%,100% e 125% dell’uso delle risorse!). Se l’account LiveID non viene monitorato regolarmente ricordarsi di fare il forward dei messaggi di alert verso una casella utilizzata!

 

Provare i modelli economici di Windows Azure

Provare una piattaforma Cloud significa anche capire, testare i nuovi modelli economici che possono essere applicati alle proprie soluzioni/offerte. Sebbene questo argomento sarà trattato in uno dei prossimi quaderni del Cloud già ora è possibile sperimentare le diverse opzioni sul calcolo del TCO e relativo ROI tramite un tool online presente in : https://www.microsoft.com/windowsazure/economics/default.aspx. In questo modo sarà possibile calcorare i relativi vantaggi economici per chi propone una soluzione basata su Windows Azure rispetto al tradizionale on-premises e i risparmi per i clienti finali .

 

Buona sperimentazione (gratuita) …

--Mario