Ma quanto costa Windows Azure ? 1a parte

Nelle ultime settimane ho avuto la possibilità di incontrare alcuni partner per parlare di Azure. Devo dire che l’interesse sulla piattaforma è sempre stato molto alto. Le possibilità che la piattaforma mette a disposizione sono infinite e la maggior parte di loro sta cercando di capire come sfruttare al massimo il momento che stiamo vivendo. Tante domande tecniche e su come sfruttare appieno tutti i servizi presenti su Azure e su quali soluzioni megli si plasmano sulla piattaforma. Alla fine la madre di tutte le domande è sempre stata: ma quanto costa ? In effetti il meccanismo di billing di Azure non è molto semplice perchè parte dal presupposto di dare al cliente la possibilità di realmente pagare per quante risorse la soluzione sta consumando. Questo assicura una scalabilità non solo tecnologica o di servizio ma anche dal punto di vista economico seguendo un paradigma che dice: più utenti = più consumo = più costi = più ricavi. Al variare della prima variabile tutto si allinea evitando così di pagare costi inutili acquistando risorse preventivamente senza sapere quanto puoi la soluzione verrà utilizzata. Ma torniamo a noi, quanto costa ? Come faccio a capire quanto mi costa per poter definire un prezzo di vendita corretto ? Prima di tutto dobbiamo capire cosa stiamo pagando. Azure mette a disposizione i seguenti servizi:

  1. Compute
  2. Storage
  3. Database
  4. Access Control
  5. Service Bus
  6. CDN
  7. Bandwith

Ho bisogno di far girare la mia applicazione (compute) che possa memorizzare delle informazioni (storage) e che potrebbe utilizzare un database (SQL Azure). La mia applicazione potrebbe utilizzare un Access Control basato su claim per gestire l’autenticazione e le permission (Access Control) e potrebbe aver bisogno di comunicare o di far comunicare altre applicazioni magari presenti su altre piattaforme o all’interno della rete aziendale (Service Bus). La mia applicazione potrebbe aver bisogno di distribuire geograficamente i dati in modo da poter aumentare la velocità di accesso degli utenti distribuiti (CDN) Infine la mia applicazione di sicuro scambierà dei dati con l’utente, siano esse pagine web, immagini o dati (Bandwith).

A parte punto 7 che comunque utilizzerei a prescindere alla mia soluzione, tutti gli altri possono essere combinati a piacere o utilizzati singolarmente. Questo ovviamente ci da grande flessibilità applicativa ma al tempo stesso complica il calcolo del costo finale. Si grazie, bella spiegazione , ma quanto costa ???? Va bene, cominciamo a capire cosa paghiamo per ognuno dei servizi:

Compute

Ogni volta che facciamo un deploy di una nostra applicazione su Azure questa viene installata in una Virtual Machine. Il Fabric di Azure (un signore che decide tutto su tutti !!!) alloca poi le risorse a seconda della potenza di cui abbiamo bisogno. Nella tabella trovate le diverse preconfigurazioni presenti:

image

Quindi la prima cosa che devo fare è decide di quante risorse ho bisogno e quindi decidere il tipo di instanza che mi serve e il numero di queste istanze (se voglio avere per esempio 3 front end di dimensioni piccole o uno solo Extra large). Ma allora, quanto mi costa ???????? Ecco quanto costa :

  • Istanza di dimensioni minime: € 0,0355 l'ora
  • Istanza di calcolo di piccole dimensioni (predefinita): € 0,0852 all'ora
  • Istanza di calcolo di medie dimensioni: € 0,1703 all'ora
  • Istanza di calcolo di grandi dimensioni: € 0,3405 all'ora
  • Istanza di calcolo extra large: € 0,6809 all'ora

Quindi ritornando sul nostro esempio di prima, se voglio avere 3 Frontend scegliendo l’istanza di calcolo di tipo piccola e voglio che il mio servizio sia disponibile tutti i giorni del mese (744 ore in un mese di 31 giorni) questo sarà il mio costo:

744 ore x 0,0852 € x 3 istanze = 190€ al mese

Come vedete nella tabella in realtà quando scelgo un istanza non sto solo comprando il processore e la ram ma anche dei GB di storage e nel nostro caso questo vuol dire che nei 190€ al mese abbiamo a disposizione 225 Gb di spazio di archiviazione per ogni istanza e quindi:

255 Gb x 3 istanze = 765 Gb

Nella seconda parte del posto cerchermo di capire quanto costano gli altri servizi e se esistono (e ovviamente esistono Smile) delle offerte pacchettizate.

Ricordiamoci sempre che da quando facciamo il deployment di una soluzione su Azure cominciamo a pagare a prescindere se l’applicazione viene usata, se è in staging, se è sospesa, se non funziona Smile. Il motivo è che stiamo comunque allocando delle risorse nella server farm che non possono essere allocate ad altri.