1. Servicios de Datos en la Nube Alejando Pachecho Architect Alejandro.pacheco@Microsoft.com Juan Pablo García SolutionArchitect Juan_p_garcia@dell.com
2. Temas Windows AzurePlatform (WAP). Introducción WAP Storage Options Windows Azure Storage SQL Azure ¿Cómo seleccionar el Storage Apropiado? Herramientas de Administración Escenarios de Sincronización Escenarios de Uso de Storage en la Nube. Estudio de Gartner
4. Taxonomía del Cloud Computing Windows Azure platform quedaaquí IaaS TI tradicional SaaS PaaS Usted gestiona Aplicaciones Aplicaciones Aplicaciones Aplicaciones Aplicaciones Datos Datos Datos Datos Datos Gestionado por el proveedor Runtimes Runtimes Runtimes Runtime Runtimes Usted gestiona Gestionado por el proveedor Middleware Middleware Middleware Middleware Middleware Gestionado por el proveedor Usted gestiona S/O S/O S/O S/O Virtualización Virtualización Virtualización Virtualización Servidores Servidores Servidores Servidores Almacenamiento Almacenamiento Almacenamiento Almacenamiento Redes Redes Redes Redes
5. Presentando Windows AzurePlatform Windows Azure esunaplataforma de gran escala en internet, alojada en los centros de datos Microsoft alrededor del mundo, queproporcionaun serviciosimple, confiabley poderosoparacrearAplicaciones y servicios de la web. Experiencia del desarrollador Utilizar capacidades y herramientas existentes. Datos relacionales Cómputo Storage Gestión CDN Conectividad Control de acceso Sincronización de datos
26. Todas las entidades en la tabla con el mismo valor de partitionkey se guardan en la misma partición (local para el storage y acceso eficiente)
27.
28. Blobs Blobs son almacenados en contenedores 1 o mas contenedores por cuenta El alcance es a nivel de contenedores …/Container/blobname $root es un nombre especial para el contenedor raiz Blobs Dos tipos, Page and Block Page es aleatorio R/W, Block tiene estructura semántica Metadata, se accesa independiente Par nombre/Valor (8kb total) Acceso privado o publico al contenedor
29. Windows Azure Blob Storage IMG001.JPG pictures IMG002.JPG sally movies MOV1.AVI REST API para operaciones Blob. Blob URL: http://<Account>.blob.core.windows.net/<Container>/<BlobName> e.g. http://sally.blob.core.windows.net/pictures/img001.jpg Blob Container Account
30. Colas Simple cola de envió asíncrono Creación y eliminación de colas Mensajes: Consultados al menos una vez Tamaño máximo 8kb operaciones: Enqueue Dequeue RemoveMessage
31. Windows Azure Queues Message Queue Account 128x128, http://… Thumbnail Jobs 256x256, http://… Account http://… Indexing Jobs http://…
32. Demo Uso de QUEUEs para comunicar Web Role con Worker Role
34. SQL Azure Business Intelligence Reporting Data Sync Database Servicios iniciales Database – capacidades Core SQL Server Servicios futros Data Sync – Permitir el syncframework Capacidades adicionales de SQL Server como: Business Intelligence y Reporting
42. Simple, flexible, y pago por uso.SQL Server Report Server (on-premises) T-SQL (TDS) T-SQL (TDS) SQL Azure Database - AD Federation (LiveId /AppFabric AC)
43. Modelo de aprovisionamiento de Servicio Cada account tiene cero o mas servers Un portal común para aprovisionamiento de Azure completo Herramientas de facturación Cada server tiene una o mas bases de datos Contienen metdata sobre la base de datos y u uso Unidad de autentificación Unidad de Geo-localizacion Nombre de DNS generado Cada databasetiene objetos estándares de SQL Unidad de conssitencia Unidad de multi arrendamiento Contiene usuarios, tablas, vistas, índices, etc. Unidad de facturación mas granular Account Server Database
44. SQL Azure Database Single Logical Database Multiple PhysicalReplicas Based on SQL Server 2008 R2 engine Use same tools and data access frameworks Six global datacenters High Availability & Redundancy Reads are completed at the primary Writes are replicated to a quorum of secondaries Replica 1 Single Primary Replica 2 DB Replica 3 Multiple Secondaries
45. What’s New In SQL AzureEnhancements SQL Azure Database Windows Azure Platform – Developer Portal Enhanced user experience and reporting Database manager for SQL Azure SQL Azure Reporting CTP Reporting and BI on SQL Azure databases Based on SQL Server Reporting Services SQL Azure Data Sync CTP2 Synchronize SQL Azure databases Synchronize SQL Azure with on-premises SQL Server
54. GartnerG00205696 Usos Reducir las dificultades de las implementaciones «onpremises» Acelerar el deployment «Time-to-Market» Soluciones o escenarios Principales Integración de Datos Data Quality Data Persistency Peaks Soporte para Aplicaciones Web
Notas del editor
For WAPU: This slide shows how the various options compare, then explicitly illustrates where the Windows Azure platform fits in. It’s meant to make clear in the audience’s mind the exact place in this broad area that we’re about to dig into more deeply.
Key point: The Windows Azure Platform is a set of cloud computing services that can be used separately or together.Windows Azure is hosted in Microsoft data centers around the world. Windows Azure provides compute power, storage, and automated service management, as well as easy connectivity to other applications and access control to provide secure authorization and authentication of access to cloud resources. Also hosted in the Windows Azure platform is Microsoft SQL Azure, providing relational database services and automated management of relational service. SQL Azure can help reduce costs by integrating with existing toolsets and providing symmetry with on-premises and cloud databases. Windows Azure AppFabric helps developers connect applications and services in the cloud or on-premises. This includes applications running on Windows Azure, Windows Server and a number of other platforms including Java, Ruby, PHP and others. Windows Azure AppFabric provides a Service Bus for connectivity across network and organizational boundaries, and Access Control for federated authorization as a service.
Slide ObjectiveIntroduction to SQL AzureExplain SQL Azure DatabaseIndicate that other services are coming in the futureSpeaker NotesSQL Azure provides Microsoft SQL Server in the cloudBroadly compatible with online SQL ServerIn the future other services are plannedDataSync- to sync data between On premise and the cloudReporting etc…NotesCloud-based relational database service built on SQL Server® technologies. It provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud. SQL Azure Database helps to ease provisioning and deployment of multiple databases. Developers do not have to install, setup, patch or manage any software. High availability and fault tolerance is built-in and no physical administration is required.http://www.microsoft.com/windowsazure/sqlazure/ http://go.microsoft.com/?linkid=9686976
Slide objectives: Define and enumerate the Windows Azure AppfabricSpeaking points: Much in the same way that SQL Services is about extending SQL Server to the cloud, we are also extending key .NET capabilities to the cloud as services.These services are really key components you would need for building distributed, connected applications. When we talk about connecting to your existing on-premises applications and enabling the composition of hybrid (Cloud + on-premises) applications – that is where .NET Services really comes in.There are currently two Services: the Service Bus & the Access Control ServiceService Bus:The Service Bus is designed to provide a general purpose application bus, available on the internet at internet scale. You can really thin of the Service Bus as being similar to an Enterprise Service Bus that many enterprise organizations have today. However, we believe that when providing a Service Bus as a programmable service on the internet, there are a wider range of scenarios for many more types of organizations.Fundamentally, the Service Bus is about connecting applications across network and application boundaries and making key message exchange patterns such as publish and subscribe messaging very simple.Access Control:The Access Control service is designed to provide rules-driven, claims-based access control for applications. Essentially, this allows you to define authorization rules for your applications using the claims-based approach that we are adopting within many Microsoft products and technologies and that is becoming adopted in the industry.Notes: Windows Azure has the .NET Framework built into it so thatyou can use those services within your application.But just like your application must be designed to scale out, the services that we have built into Windows over time in .NET also need to be designed and built in a way that can scale out naturally. We want to create services for you, and that's the purpose of .NET services, creating a pool of resources available to you to take advantage of and do things within your application very simply. So we're including a built-in, scale-out implementation of a service bus. The service bus lets you connect your on-premises systems securely into the cloud, into the Azure environment, while allowing your data and your information to traverse firewalls, solving a problem that is a bane of many application developments.
Tables are simply collections of Entities.Entites must have a PartitionKey and RowKey – can also contain up to 256 other properties.Entities within a table need not be the same shape! E.g.:Entity 1: PartitionKey, RowKey, firstnameEntity 2: PartitionKey, RowKey, firstname, lastnameEntity 3: PartitionKey, Rowkey, orderId, orderData, zipCodePartitions are used to spread data across multiple servers. This happens automatically based on the partition key you provide. Table “heat” is also monitored and data may be moved to different storage endpoints based upon usage.Queries should be targeted at a partition, since there are no indexes to speed up performance. Indexes may be added at a later date.Its important to convey that whilst you could copy tables in from a local data source (e.g. sql) it would not perform well in the cloud, data access needs to be re-thought at this level. Those wanting a more traditional SQL like experience should investigate SDS.
BlobsBlobs are stored in containers. There are 0 or more blobs per container and 0 or more containers per account. (since you can have 0 containers, but then you would not have any blobs either)Typically url in the cloud is http://accountname.blob.core.windows.net/container/blobpathBlob paths can contain the / character, so you can give the illusion of multiple folders, but there is only 1 level of containers.Blob capacity at CTP is 50gb.There is an 8k dictionary that can be associated with blobs for metadata.Blobs can be private or public:Private requires a key to read and writePublic requires a key to write, but NO KEY to read.Use blobs where you would use the file system in the past.
Queues are simple:Messages are placed in queues. Max size is 8k (and it’s a string)Message can be read from the queue, at which point it is hidden.Once whatever read the message from the queue is finished processing the message, it should then remove the message from the queue. If not the message is returned to the queue after a specific user defined time limit. This can be used to handle code failures etc.