El documento presenta una introducción a los servicios de Azure, incluyendo Azure Storage, SQL Azure y Azure AppFabric. Azure Storage ofrece servicios de blobs, tablas y colas para almacenamiento de datos en la nube. SQL Azure proporciona una base de datos relacional administrada en la nube. Azure AppFabric incluye servicios como caché distribuida y colas/temas para comunicación entre aplicaciones.
1. //codecamp/
Datos en la nube:
colas, caché, topics y otras yerbas
Leandro Adrián Díaz Guerra
Architect
Tellago, Inc.
2. Agenda
¿Qué es Azure?
Azure Storage
– Blob Service
– Table Service
– Queue Service
SQL Azure
Azure AppFabric
– Caching
– Service Bus Queues
– Service Bus Topics
Preguntas
//codecamp/
4. ¿Qué es Azure?
Plataforma para ejecutar aplicaciones en la nube
Enfoque en la aplicación, no en la infraestructura
Ejecución en máquinas virtuales
Datacenters en todo el mundo
Almacenamiento en la nube
Escalabilidad, estabilidad, confiabilidad
API de desarrollo para .NET y otras plataformas
Comunicación con aplicaciones on-premise
Costo según el uso
– U$S 0,15 a U$S 0,20 por GB transferido desde Azure,
según la región
Community Technology Previews y Labs
//codecamp/
6. On-Premise vs Cloud
On-Premise Cloud
Hosting Windows Server Windows Azure
Almacenamiento Archivos Storage Blobs
no estructurado Discos Storage Tables
Azure Drive
Almacenamiento SQL Server SQL Azure
relacional
Servicio de colas MSMQ Storage Queue /
Service Bus Queues
Cache Windows Azure AppFabric
AppFabric Cache Caching
//codecamp/
8. Azure Storage
Almacenamiento de datos en la nube
Replicación a través de CDN
Managed Library y RESTful API
U$S 0,15 por GB por mes
U$S 0,01 cada 10000 transacciones
Hasta 100TB por cuenta
//codecamp/
9. Blob Service
Datos binarios y texto, sin estructura
Containers
Propiedades
Snapshots
Page blobs
– Para operaciones de lectura y escritura frecuentes
– Múltiples páginas (512 bytes por página)
– Hasta 1TB
Block blobs
– Manejo de grandes archivos en la nube
– Múltiples blocks (hasta 4MB por block)
– Hasta 200GB
Windows Azure Drive (para aplicaciones legacy)
//codecamp/
10. Tables Service
Base de datos No-SQL
Escalabilidad
Particiones
– Permiten jerarquías entre entidades
Proyecciones (nuevo!)
Una tabla por tipo de entidad (con la API de .NET)
– Puede dificultar el uso de relaciones jerárquicas y transacciones
Transacciones por tablas y por particiones
Sin índices ni relaciones
Entidades con hasta 255 propiedades y 1MB
Filtros por propiedades (poco escalables)
Entidades simples, excepto usando algún hack (como Lokad
Cloud, que serializa entidades complejas en propiedades
binarias)
//codecamp/
11. Queue Service
Servicio de colas
– Modelo publicador/suscriptor
– Comunicación asincrónica
– Desacoplamiento
• Temporal
• Código
– Nivelación de carga
– Balanceo de carga
Escalabilidad
Alta disponibilidad
Mensajes ilimitados
Tamaño máximo de mensaje de 8KB
FIFO no garantizado
Entrega única no garantizada
Mensajes con tiempo de expiración
//codecamp/
12. Queue Service – cont.
Ejemplo de arquitectura
Web de almacenamiento Azure Storage Queue
de imágenes
(instancias de web role)
Procesadores de imágenes
(instancias de worker role)
//codecamp/
14. SQL Azure
SQL Server en la nube
Administración con Project Houston (CTP) o SQL
Server Management Studio
Alta disponibilidad
Tolerancia a fallos
SQL Reporting
Integración con SQL Server
– Import and Export Wizard
– Azure Migration Wizard
– SQL Azure Data Sync (CTP)
Bases de entre 5 y 50GB
U$S 9,99 por GB por mes
//codecamp/
15. SQL Azure vs Storage Tables
SQL Azure Storage Tables
Relaciones Sí No directamente
Índices Sí No
Costo U$S 9,99 por GB U$S 0,15 por GB
por mes por mes
Escalabilidad Baja Alta
Espacio Hasta 50GB por Hasta 100TB por
base cuenta
Consultas Complejas Simples
Principales Relaciones y Escalabilidad y
ventajas consistencia costo
//codecamp/
17. Azure AppFabric
Servicios middleware en la nube
– Service Bus
– Access Control Service
– Caching
– Integración (próximo CTP)
Alta disponibilidad
Escalabilidad
//codecamp/
18. AppFabric Caching
Caché distribuida en memoria
– Datos no persistidos
– Alta velocidad de respuesta
– Aumento de rendimiento
– Escalable
– Replicación de datos
Integración con ASP.NET
– Caché de Session State
– Caché de Page Output
– Caché de objetos manejados
Se utiliza igual que Windows AppFabric Caching modelo
consistente de desarrollo
Desde U$S 45 por caché de 128MB hasta U$S 325 por
caché de 4GB (por mes)
//codecamp/
19. AppFabric Service Bus
Múltiples patrones de comunicación
Múltiples protocolos
Seguridad
Desacoplamiento
Alta disponibilidad
Conexión a través de redes complejas
(firewalls, proxies, etc.)
U$S 3,99 por conexión por mes, o U$S 1,99
por conexión (comprando packs)
//codecamp/
20. AppFabric Service Bus Queues
Servicio de colas
– Múltiples publicadores - 1 suscriptor
– Comunicación asincrónica
– Desacoplamiento
• Temporal
• Código
– Nivelación de carga
– Balanceo de carga
Escalabilidad
Alta disponibilidad
Tamaño máximo de cola de 5GB
Tamaño máximo de mensaje de 256KB
Sesiones
Entrega única garantizada
– Modos ReceiveAndDelete & PeekLock
Sin tiempo máximo por mensaje
Sin costo adicional
//codecamp/
22. AppFabric Service Bus Queues vs
Storage Queues
Service Bus Queues Storage Queues
WCF Binding Sí No
Integración con WF Sí No
FIFO garantizado Sí (con sesiones) No
Procesamiento garantizado Al menos uno Al menos uno /
Sólo uno
Transacciones Sí (parciales) No
Funciones de administración Pocas (a futuro más) Sí
Espacio total Hasta 5GB por cola Hasta 100TB por cuenta
Tamaño máximo de mensaje 256KB 8KB
Recepción de mensajes Long Polling (blocking o no) No espera por mensajes
Costo Desconocido U$S 0,15 por GB por mes
Principales ventajas Mayor tamaño de mensaje Útil para tareas muy
Sesiones simples y para
Transacciones procesamiento asincrónico
Long Polling de tareas entre roles de
API similar a Topics Azure
//codecamp/
24. AppFabric Service Bus Topics
Servicio de publicación/suscripción
– Múltiples publicadores – múltiples
suscriptores
Topics
– Funcionan como colas
Suscripciones
– Filtros
– Reglas y acciones (pueden modificar el
mensaje)
//codecamp/
– Una copia de mensaje para cada suscripción
26. AppFabric Service Bus Queues vs
Topics
Queues Topics & Suscriptions
Publicadores Múltiples Múltiples
Suscriptores 1 Múltiples
Filtros No Sí
Reglas y acciones No Sí
Uso recomendado 1 sólo suscriptor Cantidad de
definido suscriptores
indefinida y/o
necesidad de filtrar
¿Qué recibe el Mensaje original Copia de mensajes,
cliente? quizás modificado
//codecamp/