viernes, 13 de diciembre de 2013

Como almacenamos nuestra información en Windows Azure



Una parte importante de una solución en la nube es la forma como se almacena y gestiona nuestra información, para resolver este problema Windows Azure nos presenta (como es de costumbre) varias opciones, con diferentes sabores y a diferentes precios.

Tenemos a grandes rasgos tres opciones para almacenar la información:
  • Windows Azure SQL Database (WASD) : Es un servicio de gestión de base de datos relacionales, pero en modalidad PaaS donde todo la administración del sistema operativo y configuración del servicio es por parte de Microsoft y nosotros solo nos dedicamos a utilizar el motor y gestionar tablas y datos. El método de acceso a WASD es el mismo que una instalación normal de SQL Server y resulta transparente para las aplicaciones trabajar con cualquiera de los dos, pero ambas versiones tienen algunas características diferentes (backup por ejemplo).WASD también cuenta con dos herramientas que nos ayudan en la gestión de los datos SQL Data Sync (sincronizar datos entre base de datos) y SQL Reporting.
  • Table Storage: Es un método de almacenamiento de datos no estructurados, es decir que podemos guardar diferentes tipo de objetos y entidades dentro de la tabla, no se asemeja a una tabla de una base de datos relacional, donde existe solo un esquema. En este caso funciona en modalidad clave-valor, donde la clave es el identificador único del registro, pero el valor puede se cualquier tipo de objeto. Puede almacenar en cada tabla grandes cantidades de información y guardarla automáticamente en diferentes servidores por lo que escala de muy buena forma.
  • Blob Storage: Es una forma de almacenar archivos e información en formato binario, por lo que podemos guardar videos, documentos, imágenes, etc. Se podría decir que es como una gran carpeta donde dejar archivos. Incluso cada objeto que almacenemos en el contenedor de blobs cuenta con una URL, desde donde podemos enlazarlo en nuestras aplicaciones, por lo que su uso es muy cómodo y útil para presentar imágenes, videos y documentos.
Debemos destacar que uno de los factores a tener en consideración cuando diseñamos nuestra arquitectura para almacenar la información es el precio de cada opción, el valor por el uso de Table Storage y Blog Storage es mucho menor que el valor de WASD, por lo que debemos tener presente la cantidad de información que vamos a almacenar y si es necesaria que esté en linea en nuestro WASD o si lo podemos dejar en Table o Blob storage.


Escenarios donde se puede ocupar cada tecnología:


WASD
  • Para nuevas aplicaciones que requieran un RDMS, es mucho mas rápido para configurar y administrar
  • Migración de aplicaciones existentes que usen SQL Server a Windows Azure

Table
  • Aplicaciones que requieran un método simple, rápido y de fácil acceso a información que pueda tener diferentes esquemas.
  • Aplicaciones que requieran un método simple, rápido y de fácil acceso a grandes volúmenes de información a un costo bajo de almacenamiento.

Blobs Storage
  • Cuando queremos almacenar grandes cantidades de datos binarios (como archivos)
  • Cuando queremos dejar archivos disponibles para nuestros usuarios
  • Backups

Una cuarta opción que no nombramos pero que también esta disponible, es usar una máquina virtual (IaaS) y ahí almacenar nuestros archivos o instalar SQL Server y guardar nuestra información, es una opción, pero en ambientes cloud siempre hay que considerar como escalan nuestras aplicaciones y en este caso esta tarea quedaría totalmente bajo nuestra responsabilidad (lo que no siempre es buena idea).





No hay comentarios:

Publicar un comentario