¿Cuando va al Storage? (1/?) #WindowsAzure


Una de las preguntas mas frecuentes cuando se muestra el tema de Almacenamiento de Windows Azure es ¿Cuando usarlo? y poner en contexto nuestra aplicación para usarlo; es más cuando una aplicación que ya se encuentra desarrollada y se quiere migrar a Windows Azure como aprovechar estas ventajas; ¿Cual es la razón de cambio real para afrontar este escenario?.

Con este articulo quisiera poner en contexto estas situaciones; lo primero a tener en cuenta con respecto al Almacenamiento de Windows Azure es el costo, que es sustancialmente mas barato almacenar en Blobs, Tablas y Colas que en SQL Azure, pero esto no demerita al último (SQL Azure); pues los esquemas relacionales para nuestra aplicación siguen siendo de vital importancia; dicho esto, el desarrollador o arquitecto NO debe verse en una encrucijada entre cual elegir, la encrucijada está en saber como combinar estas dos tecnologías para obtener el mejor rendimiento de la aplicación al menor costo posible.

Costo de SQL Azure ($USD).

Peso Mínimo Peso Máximo Costo
0 MB 100 MB $5 (Fijo)
100 MB 1 GB $ 9.99 (Fijo)
1 GB 10 GB $ 9.99 USD (Primera GB), $ 3.996(Por cada GB adicional).
10 GB 50 GB $ 45.954 (Primera GB), $1.998 (Por cada GB Adicional).
50 150 GB $125.874 (Primer GB), $0.999 (Por cada GB Adicional).

(Tabla 1)

Como pueden ver SQL Azure cobrará el valor por cada GB según sea el almacenamiento; así si tenemos una Base de Datos de SQL Azure de 7 GB esto nos costará mensualmente: $33.966 USD (Treinta y tres dólares con novecientos sesenta y seis centavos) es decir menos de $ 34 USD.

33.996 USD = (1 * 9.99 USD) + ( 6 * 3.966 USD)

Costo del Almacenamiento en Windows Azure Storage.

El costo del almacenamiento de Windows Azure se realiza bajo la siguiente forma:

$0.125 USD por GB almacenada (Mensualmente sobre promedio diario.) *

$0.01 USD por 10.000 Transacciones. **

* ¿Promedio Diario?

Si señores y aquí nos llama la atención pues se hace aclaración explicita de este hecho, pero con SQL Azure el Promedio Diario también existe.

Tenemos el siguiente caso:

Tengo una base de datos de 7 GB, según el cálculo que hicimos arriba esto nos cuesta $33.996 USD si dividimos esto por 31 (o los días del mes) tendremos el costo por día, es decir que si tenemos la mitad del mes una Base de datos de 7 GB, y la otra mitad esa misma BD alcanza las 10 GB nuestro cobro se realizar por día es decir:

15 Días a 7GB = (((1 * 9.99 USD) + ( 6 * 3.966 USD)) / 31) * 15 => $16.45 USD (Aprox.)

15 Días a 10 GB = (((1*9.99 USD) + (9 * 3.966 USD)) /31) * 15 => $22.10 USD (Aprox.)

Lo que da un costo mensual de: $38.55 USD.

Es posible que estos valores por GB cambien según el rango (ver Tabla 1); por ejemplo si la mitad del mes teníamos 7 GB y la otra mitad 15 GB el valor por la primera GB y las siguientes será distinto en amabas formulas.

Estos cálculos entonces aplicarían así para el Storage.

Si tengo la primera mitad del mes 10 GB almacenadas y la otra mitad del mes 20 GB almacenada entonces el cobro se realiza así:

15 Días – 10 GB = ((0.125 USD  * 10 GB) * 15) / 31 = $ 0.604 USD.

15 Días – 20 GB = ((0.125 USD * 20 GB) * 15) / 31 = $ 1.209 USD.

Lo que nos da un costo mensual de $ 1.803 USD a esto se le debe adicionar el valor por las transacciones.

** ¿Transacciones?

Como lo mencionaba arriba esto es un costo que hay que tener en cuenta; pero es extremadamente barato como para preocuparse por eso; el caso es que cada 10.000 transacciones cuestan un centavo, y una transacción consiste en TODA acción realizada sobre el Storage. (Consulta un BLOB, Eliminar un BLOB, Consultar una Tabla, Insertar en un Cola, Leer la Cola etc..)

Así que al calculo anterior debemos aumentarle un par de centavos para contar con unas 20.000 transacciones.

Así mensualmente el escenario antes descrito nos cuesta $ 2 USD (Aprox.)

Fuente:

http://www.windowsazure.com/en-us/home/features/overview/

Hasta Pronto,

Juan Manuel Lombana