Cloud Computing: Windows Azure


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Cloud Computing: Windows Azure

  1. 1. Cloud Computing: Windows Azure2de Junio de 2011, 18:00-21:00 Dr. Diego Lz. de Ipiña Glz. de Artazadipina@deusto.es<br />
  2. 2. Agenda<br />Windows Azure<br />Introducción <br />Windows Azure Computing<br />Windows AzureStore<br />SQL Azure<br />Ejemplos<br />
  3. 3. Microsoft Windows Azure<br />Windows Azurey SQL Azurepermiten construir, alojar y escalar aplicaciones en los centros de datos de Microsfot. <br />Como toda solución para Cloud Computing sólo pagas por los recursos que usas<br />Es un sistema operativo en la nube<br />Centros de datos distribuidos por el planeta<br />
  4. 4. Microsoft’s Windows AzurePlatform<br />Windows Azure es un servicio utilizado para ejecutar aplicaciones y guardar datos en máquinas de Microsoft accesibles vía Internet<br />Proporciona tres componentes:<br />El servicio Compute ejecuta aplicaciones con web role y worker role<br />El servicio Storage permite guarda datos como blobs, tables y queues<br />El Windows AzureFabricproporciona una API para gestionar y monitorizar aplicaciones que usan la plataforma Azure<br />Más información en:<br />
  5. 5. Microsoft’s Windows AzurePlatform<br />
  6. 6. Componentes de Windows Azure<br />
  7. 7. Windows AzurePlatform<br />Application Services<br />Software Services<br />Platform Services<br />Infrastructure Services<br />
  8. 8. Soporte de Windows Azure<br />
  9. 9. ¿Dónde usar Cloud Computing?<br />
  10. 10. Windows Azure por Dentro<br />Application<br />Marketplace<br />Information Marketplace<br />Personal Data Repository<br />Application Services<br />Workflow Hosting<br />Distributed Cache<br />Services Hosting<br />Frameworks<br />Claims-Based Identity<br />Federated Identities<br />Secure Token Service<br />Declarative Policies<br />Security<br />Composite Applications<br />On-Premise Bridging<br />Service Bus<br />Connectivity<br />Transact-SQL<br />Data Synchronization<br />Relational Database<br />ADO.NET, ODBC, PHP<br />Data<br />Compute<br />C / C++<br />Win32<br />VHD<br />Unstructured Data<br />Blobs<br />Message Queues<br />Distributed Filesystem<br />Content Distribution<br />Storage<br />
  11. 11. Windows Azure por Dentro<br />Application Services<br />“Dublin”<br />“Velocity”<br />Frameworks<br />“Geneva”<br />Security<br />Access Control<br />Project “Sydney”<br />Connectivity<br />Service Bus<br />SQL Azure Data Sync<br />Data<br />Compute<br />Table Storage<br />Blob Storage<br />Queue<br />Drive<br />Content Delivery Network<br />Storage<br />
  12. 12. Windows Azure Cloud Fabric<br />Multiple virtual instances<br />Easy provision of applications<br />Detect failures<br />Spin up new instances to replace the failed ones<br />How many instances and what role they will play<br />Load balances and DNS<br />Elasticity of the service… scaling up/down number of instance<br />
  13. 13. Windows Azure Compute<br />Development, service hosting, & management environment<br />.NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)<br />ASP.NET providers, FastCGI, memcached, MySQL, Tomcat<br />Full-trust – supports standard languages and APIs<br />Secure certificate store<br />Management API’s, and logging and diagnostics systems<br />Multiple roles – Web, Worker, Virtual Machine (VHD)<br />Multiple VM sizes<br />1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage<br />Small (1X), Medium (2X), Large (4X), X-Large (8X)<br />In-place rolling upgrades, organized by upgrade domains<br />Walk each upgrade domain one at a time<br />
  14. 14. Windows Azure Roles<br />
  15. 15. Windows Azure Storage<br />Rich data abstractions – tables, blobs, queues, drives, CDN<br />Capacity (100TB), throughput (100MB/sec), transactions (1K req/sec)<br />High accessibility<br />Supports geo-location<br />Language & platform agnostic REST APIs<br />URL: http://<account>.<store><br />Client libraries for .NET, Java, PHP, etc.<br />High durability – data is replicated 3 times within a cluster, and (Feb 2010) across datacenters<br />High scalability – data is automatically partitioned and load balanced across servers<br />
  16. 16. Almacenamiento<br />Blobs – Large Data Store<br />Queues – Background work processing<br />Tables – Very Fast / Scalable Storage<br />Drives – NTFS Formatted Page Blobs <br />SQL Azure – Relational SQL in the Cloud<br />
  17. 17. Windows Azure Roles<br />Web Role<br />for web application programming in ASP.NET or PHP<br />single HTTP endpoint and a single HTTPS endpoint for externalclients<br />Worker Role<br />for performing work on behalf of the web role<br />may be written in .NET, Ruby, Java<br />to improve scalability by increasing parallelism and asynchronicity<br />used for background work <br />internal endpoints for HTTP, TCP <br />may receive work from Windows Azure Storage Queues<br />
  18. 18. Interacción con el Resto de Azure<br />Web and Worker Roles<br />can make outbound HTTP/S or .NET Framework class library socket connections to Internet accessible resources<br />can access Windows Azure Storage services via REST APIs or the Windows Azure Storage Client Library<br />
  19. 19. Windows Azure Data Storage – Tables<br />provides scalable, available, and durable structured (or semi-structured) storage in the form of tables.<br />contain entities, and the entities contain properties.<br />are scalable to billions of entities and terabytes of data, and may be partitioned across thousands of servers.<br />support ACID transactions over single entities and rich queries over the entire table.<br />Simple and familiar .NET and REST programming interfaces are provided via ADO.NET Data Services. <br /><br />
  20. 20. Windows Azure Data Storage – Tables: Conceptos<br />Table – contains a set of entities. <br />Entity (Row) – Entities are the basic data items stored in a table. <br />Property (Column) – This represents a single value in an entity. <br />PartitionKey– The first key property of every table. The system uses this key to automatically distribute the table’s entities over many storage nodes.<br />RowKey– A second key property for the table. This is the unique ID of the entity within the partition it belongs to. <br />Timestamp – Every entity has a version maintained by the system.<br />Partition – A set of entities in a table with the same partition key value.<br />Sort Order – There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey<br />
  21. 21. Table Storage Concepts<br />Entities<br />Tables<br />Accounts<br />Email =…<br />Name = …<br />Users<br />Email =…<br />Name = …<br />moviesonline<br />Genre =…<br />Title = …<br />Movies<br />Genre =…<br />Title = …<br />
  22. 22. Queue Storage Concepts<br />Messages<br />Queues<br />Accounts<br />128 x 128 http://...<br />thumbnailjobs<br />256 x 256 http://...<br />sally<br />http://...<br />traverselinks<br />http://...<br />
  23. 23. Blob Storage Concepts<br />Blocks or Pages<br />Blob<br />Container<br />Account<br />PIC01.JPG<br />images<br />PIC02.JPG<br />sally<br />Block or Page 1<br />movies<br />MOV1.AVI<br />Block or Page 2<br />Block or Page 3<br />
  24. 24. SQL Azure<br />Highly available, scalable, and consistent distributed relational database; geo-replication and geo-location of data<br />Relational database, provided as a service<br />Highly symmetrical development and tooling experience (use TDS protocol and T-SQL)<br />Highly scaled out, on commodity hardware<br />Built on the SQL Server technology foundation<br />Editions: Web (1GB), Business (10GB)<br />
  25. 25. SQL Azure vs. Windows AzureTables<br />SQL AzureTables:<br />Fully structured<br />Strongly typed<br />Relational (RDMS)<br />Highly scalable<br />Windows Azure Tables:<br />Semi-structured<br />Loosely typed<br />Non-Relational (Not RDMS)<br />Massively scalable<br />
  26. 26. Probando Windows Azure<br />Free trial en:<br />El proceso de logeo requiere introducir número de tarjeta de crédito<br />Se requiere un login de Windows Live válido<br />
  27. 27. Windows AzureDevFabric<br />Local Developer Simulation of AppFabric<br />Simulated “Cloud Experience” for Development<br />Routes cloud requests to local machine<br />Simulates data storage with local SQL server database<br />Azure SQL simulated with local SQL Server database<br />Compute<br />Storage<br />Management<br />Management<br />Relational data<br />Connectivity<br />Access control<br />
  28. 28. Herramientas para Desarrollo<br />Leverage Existing Skills in .NET, SQL Server, WCF<br />Use Familiar tools – Visual Studio, SSMS<br />RESTful HTTP cloud services, supports PHP, Python<br />Cloud apps can be developed locally / offline<br />SDK Cloud Simulator – Dev Fabric, Dev Storage<br />Descargarse Windows AzureSDK<br /><br />
  29. 29. Windows Azure SDK<br />Se descarga de:<br />Dos opciones:<br />All-In-Oneinstallation<br />Se integra con Visual Studio<br />Standalone Windows Azure SDK<br />Mejor porque no requiere Windows Visual Studio<br />Existen SDKs para otros lenguajes como Java, PHP o Ruby<br />
  30. 30. Características del SDK<br />C# and VB Visual Studio project templates<br />Windows Azure Cloud Service solution with multiple roles.<br />Tools to manage and configure roles<br />Local Development Fabric<br />Local Development Storage services<br />Local Cloud Service debugging support<br />Cloud Service package and deployment builder<br />
  31. 31. Tutorial de Cómo Usar Windows Azure<br />Documentación en:<br />Explores the basic elements of a Windows Azure service by creating a simple GuestBook application that demonstrates many features of the Windows Azure platform, including web and worker roles, blob storage, table storage, and queues<br />Windows Azure Management Portal<br /><br />Cloud Samples:<br /><br />
  32. 32. Comparativa AWS, GAE y Azure<br />AWS es IaaS pero cada vez con más características de PaaS<br />GAE y Azure son PaaS que permiten la creación de aplicaciones (GAE sólo web) en la infraestructura Cloud de Google y Microsoft, respectivamente<br />AWS te permite usar tus herramientas favoritas, aunque recomienda su uso de servicios escalables de almacenamiento, bases de datos o mensajes a través de interfaces REST<br />GAE es muy sencillo pero exige el uso de las APIs exclusivas provistas por Google, aunque están basadas en estándares de facto de la industria<br />Azure no limita el uso de .NET para las aplicaciones desplegadas aunque lo promociona<br />Comparativa detallada en:<br />
  33. 33. Patrones de Diseño en Cloud Computing<br />Fuente:<br />Usar la nube para el escalado<br />Usar en cada momento sólo los recursos necesarios<br />Dos mecanismos: <br />Passivelistenermodel<br />Active workermodel<br />Compartir la nube entre varios usuarios<br />
  34. 34. Patrones de Diseño en Cloud Computing<br />Usar la nube para batchprocessing<br />Usar la nube para almacenamiento<br />Usar la nube para comunicación<br />
  35. 35. Ventajas de Cloud Computing<br />Ahorros de costes en IT empresariales<br />Ordenadores de bajo coste para los usuarios<br />Costes más bajos en infraestructura IT<br />Costes de software más bajos<br />Mejora del rendimiento global<br />Elasticidad para conseguir una escalabilidad superior<br />Menos problemas en mantenimiento<br />Actualizaciones inmediatas de software<br />Capacidad de almacenamiento ilimitada<br />Incremento de la seguridad de los datos (safety)<br />
  36. 36. Desventajas de Cloud Computing<br />Requiere una conexión a Internet continua y rápida<br />Puede ofrecer bastante latencia<br />Características disponibles todavía limitadas<br />Falta de confianza<br />Los datos guardados pueden ser accedidos por otros <br />Nuestros datos ya no están en la empresa<br />Problemas legales (LODP): Safe Harbor<br />Dependencia tecnológica en otras compañías ajenas<br />Si la nube pierde los datos, ¡estás perdido!<br />
  37. 37. Conclusiones<br />Cloud Computing nos ofrece un nuevo paradigma para alojar nuestros sistemas de información, aplicaciones y datos en la nube de Internet<br />Son muchas las ventajas potenciales de este enfoque<br />Ahorro de costes, pago por uso<br />Escalabilidad exponencial<br />PERO también muchos los riesgos para su implantación global inmediata<br />Falta de control sobre nuestros datos y sistemas<br />Relativa baja madurez de los productos que hacen posible Cloud Computing<br />Ahora están surgiendo las herramientas y plataformas, pero tenemos que trabajar en patrones de diseño para asegurarnos buenas prácticas en Cloud Computing<br />El futuro inmediato de los sistemas de información empresarial combinará los enfoques tradicionales, donde los sistemas y datos se ejecutan en infraestructura propia, con un paulatino e incremental despliegue de datos y aplicaciones a la nube.<br />
  38. 38. Referencias<br />Windows AzurePlatform<br /><br />Windows Azure SDK<br /><br />Windows AzureIntroduction<br /><br /><br />IntroducingtheAzurePlatform<br /><br />
  39. 39. Cloud Computing: Microsoft Windows Azure2de Junio de 2011, 18:00-21:00 Dr. Diego Lz. de Ipiña Glz. de Artazadipina@deusto.es<br />