Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Windows Azure Platform

1,384 views

Published on

Published in: Technology
  • Be the first to comment

Windows Azure Platform

  1. 1. Windows Azure Platform David Chou david.chou@microsoft.com blogs.msdn.com/dachou
  2. 2. Types of Clouds Private Infrastructure Platform (On-Premise) (as a Service) (as a Service) You manage Applications Applications Applications You manage Runtimes Runtimes Runtimes Security & Integration Security & Integration Security & Integration Managed by vendor Databases Databases Databases You manage Servers Servers Servers Managed by vendor Virtualization Virtualization Virtualization Server HW Server HW Server HW Storage Storage Storage Networking Networking Networking
  3. 3. Types of Clouds Private Infrastructure Platform (On-Premise) (as a Service) (as a Service)
  4. 4. A Hybrid World Consistency Share & Reuse Security & Privacy Customizability High Control Public Cloud Private Cloud Economy of Scale High (on-premise) Ease of Provisioning Global Reach Partitioning & Redundancy Scalability & Availability
  5. 5. The Microsoft Cloud~100 Globally Distributed Data Centers Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs
  6. 6. The Microsoft CloudCategories of Services Application Services Software Services Platform Services Infrastructure Services
  7. 7. Windows Azure Platform Web and Clouds Developer Experience Use existing skills and tools. Web applications Third party Cloud On- Composite applications premises LOB Applications
  8. 8. Windows Azure Platform  Internet-scale, highly available cloud fabric  Globally distributed Microsoft data centers (ISO/IEC 27001:2005 and SAS 70 Type I and Type II certified)  Consumption and usage-based pricing; enterprise-class SLA commitment  Compute – auto-  Data – massively scalable &  Service Bus – connectivity provisioning 64-bit highly consistent distributed to on-premises applications; application containers in relational database; geo- secure, federated fire-wall Windows Server VMs; replication and geo-location friendly Web services supports a wide range of of data messaging intermediary; application models  Processing – relational durable & discoverable  Storage – highly available queries, search, reporting, an queues distributed alytics on structured, semi-  Access Control – rules- table, blob, queue, & cache structured, and unstructured driven federated identity; storage services data AD federation; claims-based  Languages – .NET 3.5  Integration – synchronization authorization (C#, VB.NET, etc.), IronRuby, I and replication with on-  Workflows – declarative ronPython, PHP, Java, native premise databases, other service orchestrations via Win32 code data sources REST-based activities
  9. 9. Pricing  Compute  Web Edition (1GB)  Service Bus • $0.12 / CPU hour • $9.99 / month • $0.15 / 100k messages  Storage  Business Edition (10GB)  Access Control • $0.15 / GB / month • $99.99 / month • $0.15 / 100k tokens • $0.01 / 10k transactions /  Bandwidth  Bandwidth month • $0.10 in / GB • $0.10 in / GB  Bandwidth • $0.15 out / GB • $0.15 out / GB • $0.10 in / GB • $0.15 out / GB Virtual Machine instances Blob Storage Ingress/Egress Host OS Windows Server 2008 x64 Table Storage (to/from internet only) Guest OS Windows Server 2008 Enterprise x64 Multiple replicas Hypervisor Hyper-V CPU 1.5 - 1.7 GHz x64 equivalent Memory 1.7GB Network 100MbpsTransient storage 250GB Load balancers, routers, etc. Automated service management - Fabric controller operations (deploy/upgrade/delete/scale) - Load balancer programming
  10. 10. Service Guarantee All running Your service Database is Storage .NET Service roles will be is connected connected service Bus endpoint continuously and to the will be will monitored reachable internet available/ have external via web gateway reachable connectivity If role is (connectivity) unhealthy, we Internet Availability Message will detect facing roles monitoring Your storage operation and initiate will have every 5- requests will requests will corrective external minute be processed be processed state connectivity interval successfully successfully Automated Systems >99.95% >99.9% >99.9% >99.9% Management
  11. 11. Benefits BUSINESS TECHOLOGY WINDOWS AZUZURE DEMANDS DEMANDS PLATFORM OFFERS • Cost-effective solution to manage IT resources • Less infrastructure to buy/configure and support Lower costs Efficiency • Lower TCO • Predictable cost • Focus on delivering compelling software not on managing infrastructure Stay Innovation • Monetize new offering quickly without Competitive investment in billing and other enablement technologies. • Speed of development Generate New • Interoperability • Leverage existing IP Revenue Quickly Agility • Simplified deployment • Scale up or down as business needs change • Go to market faster • Reliable service Reduced • SLAs Reliability • Security Risk • Global data centers
  12. 12. Platform of Choice
  13. 13. http://www.azure.comSign up at the WindowsAzure Platformdevelopers‟ portal Windows Azure access Developer tools White papers Sample applicationsPlan pilotapplications, proofs ofconcept, and architecturaldesign sessions withWindows Azure partners
  14. 14. Windows Azure Architecture BUSINESSES CONSUMERS INTERNET
  15. 15. Windows Azure Architecture Fabric Fabric controller Compute Storage The Fabric Controller communicates with every server within the Fabric. It manages Windows Azure, monitors every application, decides where new applications should run – optimizing hardware utilization.
  16. 16. Windows Azure Architecture The Fabric Controller automates load balancing and computes resource scaling Security and Control Features include storage encryption, access authentication, and over-the-wire encryption using HTTPS. Industry Computation provides Storage Services allow customers to certification is part of the Windows application scalability. scale to store large amounts of data – Azure roadmap. Developers can build a in any format – for any length of combination of web and worker time, only paying for what they use Geographically distributed, state-of- roles. Those roles can be or store. the-art data centers host your replicated as needed to scale the applications and data, internet- applications and computational accessible from everywhere you processing power. choose to allow.
  17. 17. Windows Azure ArchitectureFabric Controller Interacts with a “Fabric Agent” on each machine Monitors every VM, application and instance Performs load balancing, check pointing and recovery
  18. 18. Windows Azure ArchitectureCompute GOAL: SCALABILITY Two instance types: Web Role & Worker Role Windows Azure applications are built with Scale out by replicating worker instances web role instances, worker role instances, as needed. or a combination of both. Allow applications to scale user and compute processing independently. Each instance runs on its own VM (virtual machine), replicated as needed
  19. 19. Windows Azure ArchitectureStorage GOAL: SCALABLE, DURABLE STORAGE Tables: simply Queues: serially accessed structured Blobs: messages data, accessed using large, unstruct or requests, allowing web-Windows Azure storage is an ured data ADO.NET Data roles and worker-roles toapplication managed by the Services (audio, video, e interactFabric Controller tc)Windows Azure applications can usenative storage or SQL AzureApplication state is kept in storageservices, so worker roles can replicateas needed
  20. 20. Windows Azure ArchitectureServices ManagementGOAL:AUTOMATED APPLICATION MANAGEMENT AND CONTROL Fabric The Fabric Controller automates service management
  21. 21. Data Storage Options SQL Server • SQL Server on-premises • Resource governance @ Dedicated Hosted machine • Security @ SQL Server/OS RDBMS • Hosted SQL Server Roll-your-own HA/DR/scale • Resource governance @ VM • Security @ SQL Server/OS SQL Azure Database Resources Roll-your-own HA/DR/scale (RDBMS) • Virtual DB server • Logical user database (LUDB) • Resource governance @ LUDB • Security @LUDB Shared Low High “Friction”/Control Value Propositions: Value Propositions : Value Propositions : • Auto HA, Fault-Tolerance • XSPs, Server Ops • Full h/w control – size/scale • Friction-free scale • SQL CLR • 100% compatibility • Self-provisioning • 100% compatibility • High compatibility
  22. 22. SQL Azure ArchitectureFlexible access to data in the cloud Simple storage and hosted RDBMS • Create client applications that access ODBC, OLEDB, A data in the cloud via TDS – just like Browser Application Application DO.Net on-premise SQL Server Application REST Client SQL Client* PHP, Ruby, … • Create cloud-based Web applications in Azure that use standard SQLClient libraries with ADO.NET • Create cloud-based REST data Cloud interfaces in Azure with ADO.NET Data Services and the Entity HTTP+REST Framework HTTP TDSLow friction data storage provisioning Windows Azure Data Center Web App REST(Astoria) • Web interface for simple, database SQL Client* ADO.Net +EF provisioning • Scale seamlessly as needed TDS + TSQL ModelSelf-managing data center • Automated maintenance SQL Azure • Built in high-availability and data recoverability * Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …
  23. 23. Data Platform Design Account • Goal: A storage platform Azure wide built for extreme scale and Billing instrument low cost • Architecture: Has one or more – An Azure account provides Server access to SQL Azure Database metadata – Each account can have one or Unit of authorization more logical server Unit of geo-location • Implemented as multiple physical servers within a given geo-location Has one or more – Each logical server can contain one or more logical database Database • Implemented as replicated partitioned Unit of consistency data across multiple physical databases Contains Users, Tables, Views, etc…
  24. 24. Logical User Databases• Uses shared infrastructure at SQL database and below – Each user database is replicated to one or more servers (configurable based on SLA) – Client requests are routed to current “primary server” for read and write operations (based on SQL session) – Security, lockdown and isolation enforced in SQL tier• Highly scalable and state-of-the-art HA technology – Automatic failure detection; client request re-routed to new primary on failure – High SLA guarantee using logical replication (hot standby replicas) – Automatic management, self-healing and load balancing across shared resource pool• SQL Azure Database provides provisioning, metering and billing infrastructure SQL Azure Database Provisioning (databases, accounts, roles, …, Metering, and Billing Machine 4 Machine 5 Machine 6 SQL Instance SQL Instance SQL Instance SQL DB SQL DB SQL DB User User User User User User User User User User User User DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 DB1 DB2 DB3 DB4 Scalability and Availability: Fabric, Failover, Replication, and Load balancing DBA role will change to focus on policy/logical management
  25. 25. Security and Connection ModelsSecurity • Uses regular SQL security model – Authenticate logins, map to users and roles – Authorize users and roles to SQL objects • Supports standard SQL logins – Logins are username + password strings – Service enforces use of SSL to secure credentials – Future support for AD Federation, WLID, etc as alternate authentication protocolsConnections • Connect using common client libraries – ADO.NET, OLE DB, ODBC, etc. • Clients connect to a database directly • Cannot hop across DBs • Large surface of SQL supported within the database boundary – Future work will relax many of these constraints
  26. 26. Provisioning Model• Account and server provisioning – Portal and API based access – Ex: enumerate my servers, show server usage metrics, etc• Each account has one or more servers – Ex: srv123.data.database.windows.net * *• Each server has a virtual master database – Has subset of SQL Server master DB interface• Each server has one or more SQL logins – System creates sysadmin login on “server creation”• Databases created using “CREATE DATABASE” – Can be called by sysadmin or anyone with create DB permission
  27. 27. SQL Server Compatibility• SQL Server has many patterns for accomplishing tasks – SQL Azure Database supports a subset of full SQL Server patterns – Focus on logical and policy based administration – Patterns work in both SQL Azure Database and SQL Server • Enables migration of on-premise application to/from SQL Azure• SQL Azure Database is a multi-tenant service – Throttling and load balancing policies – Examples: limit on DB size, duration of transaction, …In Scope for v1 Out of Scope for v1 • Create/Alter/Drop on Database/Index/View • CLR • Stored Procedures (Transact-SQL) • Service Broker • Triggers • Distributed Transactions • Constraints • Distributed Query • Table variables, session temp tables (#t) • Spatial • + lots of others • All server level DDL • All physical DDL and physical catalog views
  28. 28. Application Scenarios Departmental Applications Web Applications Data Hubs ISV/SaaS Offerings
  29. 29. Common patterns and problems• How can you use cloud services to connect apps and services across deployment locations? – Bridge cloud, on-premises, and hosted assets – Navigate network and security boundaries, securely and simply – Handle identity and access across organizations and ID providers – Interoperate across languages, platforms, standards – Perform protocol mediation and schema mapping• Customers need a way to: Connect endpoints Control & secure access Service Bus Access Control
  30. 30. .NET Services provides solutionsfor developers facing those problems Connect Endpoints Service Bus Service Bus Access Control Service• Expose RESTful or SOAP services over the • Authorization management and federation internet through firewall and NAT infrastructure firewall firewall boundaries • Provides internet-scope federated identity NAT integration for distributed applications• Communicate bi-directionally between apps and services in an interoperable • Use it to manner • Secure Service Bus communications • Manage user-level access to apps across• Choose relays, queues, routers, and other organizations and ID providers message patterns and types• Scale out naturally and reliably as apps and services grow Your app Customer/partner app
  31. 31. .NET Services provides solutionsfor developers facing those problems Control Access Access Control Service 1. Define access Service Bus 3. Map input claims Access Control Service control rules for a to output claims• Network abstraction and virtualization customer • Integrate authorization into apps to control infrastructure “what users are allowed to do”• Enables many common shapes of • Federate with multiple identity systems communication in an efficient and across organizations and ID providers interoperable manner 6. Check claims • Easily apply fine-grained access control• Use it to rules • Connect applications across any network topology, including firewalls and NAT • Secure Service Bus communications boundaries • Scale out naturally and reliably as apps and • Exchange data between loosely coupled 5. Msg w/token services grow applicationsYour app Customer/partner users & apps
  32. 32. Service Bus: Core Capabilities• Internet-scoped overlay-network bridging across IP NATs and Firewalls with federated access control – Network Listen/Send from any Internet-Connected Device – Internet-scoped, per-endpoint Naming and Discovery – NAT/FW Traversal via TCP, TCP/Direct, and HTTP Web Streams Private Network Space B ACS ACS Internet A ACS D Space ACS ACS C
  33. 33. Service Bus: Core Capabilities• Transfer raw and structured data allowing for any common shape of communication – Raw Data, Text, XML, JSON, … – Datagrams, Sessions, Correlated Messages – Unicast, Multicast A B Octet-Streams Text XML A B SOAP … JSON XML- … RPC … A B
  34. 34. Service Bus: Core Capabilities• Built-In messaging primitives for temporally decoupled communication, routing, and message processing – Push/Pull translation for occasionally connected receivers – Publish/subscribe and message processing (after V1) Push Pull A B Push B Push C A D E
  35. 35. Pattern: Notification Fan-Out(Sessionless Unicast or Multicast Datagrams) Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine “Worker Role” ACS App App Instance ACS Instance ACS ACS unicast unicast ACS ACS ACS multicast NATs ACS ACS Client Client Client Client Client Client
  36. 36. Pattern: REST Resource Management(Request/Response HTTP/HTTPS w/ arbitrary payloads) Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine Storage Storage Storage App App App Instance Instance Instance ACS ACS POST, PUT, DELETE POST, PUT, DELETE POST ACS PUT POST, PUT, DELETE DELETE ACS ACS GET On-Demand „Pull‟ Sync Cache Continuous „Push‟ Sync On-Premise App(s)
  37. 37. Pattern: Document Exchange(session-bound, app-level ack‟d document transfers + notifications) Hosted In-House Outsourced ACS Storage Storage Storage E-Commerce Ordering Inventory / Shipping Front System System Ready PO ACS SO ACS Shipped Delivered ACS ACK ACK ACS Order Accepted Order Processed Web Client Hi-Fi Client Experience Experience
  38. 38. Pattern: External DMZ(any communication style, secure NAT traversal for TCP & HTTP/S) Home Internal Datacenter Storage Storage Storage Devices Enterprise Enterprise App Enterprise App Home Automation Instance App Instance Instance or Home Media Server Balance / Filter Reverse Proxy ACS ACS ACS http(s) / net.tcp net.tcp/direct Web or Hi-Fi Client Web or Hi-Fi Client Experience Experience
  39. 39. Pattern: Integrate “Anything”(session-bound, raw-binary transport tunneling) Windows Azure, Datacenter, Hosting, Amazon EC2 (Windows) Socket Agent NP Agent App ASP.NET J2EE, JDBC, Instance ADO.NET JMS Socket HTTP/HTTPS TDS Passthrough Passthrough Passthrough ACS ACS w/ URI Rewriting Socket Bridge HTTP Bridge NP Bridge Exchange/Mail (SMTP/IMAP) Active Directory (LDAP) ERP, CRM, Custom Apps System Center (SNMP) .NET, J2EE, ROR, PHP SQL … … Server On-Premise Infra Apps & Services On-Premise Data
  40. 40. Application Patterns
  41. 41. Application PatternsCloud Web Application Web Mobile Silverlight WPF Enterprise Browser Browser Application Application Application User Enterprise Web Svc Enterprise Data Jobs ASP.NET Web Svc ASP.NET ASP.NET ASP.NET (Worker (Web Role) ASP.NET (Web Role) ASP.NET ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET Role) (Web Role) ASP.NET Private Cloud (On- (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) (Web Role) (Web Role) Premise) (Web Role) (Web Role) (Web Role) Table Blob Storage Cache Queue Application Storage Service Service Service Service Service Storage Service Application Application Reference Conn. Identities & Service Data Data Data Bindings Roles Orch. Identity Access Service SQL Data BI Workflow Service Bus Control Services Services Service Service Public Services
  42. 42. Application PatternsComposite Services Application Web Mobile Silverlight WPF Enterprise Browser Browser Application Application Application User Enterprise Web Svc Enterprise Data Jobs ASP.NET Web Svc ASP.NET ASP.NET ASP.NET (Worker (Web Role) ASP.NET (Web Role) ASP.NET ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET Role) (Web Role) ASP.NET Private Cloud (On- (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) (Web Role) (Web Role) Premise) (Web Role) (Web Role) (Web Role) Table Blob Storage Cache Queue Application Storage Service Service Service Service Service Storage Service Application Application Reference Conn. Identities & Service Data Data Data Bindings Roles Orch. Identity Access Service SQL Data BI Workflow Service Bus Control Services Services Service Service Public Services
  43. 43. Application PatternsCloud Agent Application Web Mobile Silverlight WPF Enterprise Browser Browser Application Application Application User Enterprise Web Svc Enterprise Data Jobs ASP.NET Web Svc ASP.NET ASP.NET ASP.NET (Worker (Web Role) ASP.NET (Web Role) ASP.NET ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET Role) (Web Role) ASP.NET Private Cloud (On- (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) (Web Role) (Web Role) Premise) (Web Role) (Web Role) (Web Role) Table Blob Storage Cache Queue Application Storage Service Service Service Service Service Storage Service Application Application Reference Conn. Identities & Service Data Data Data Bindings Roles Orch. Identity Access Service SQL Data BI Workflow Service Bus Control Services Services Service Service Public Services
  44. 44. Application PatternsB2B Integration Application Web Mobile Silverlight WPF Enterprise Browser Browser Application Application Application User Enterprise Web Svc Enterprise Data Jobs ASP.NET Web Svc ASP.NET ASP.NET ASP.NET (Worker (Web Role) ASP.NET (Web Role) ASP.NET ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET Role) (Web Role) ASP.NET Private Cloud (On- (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) (Web Role) (Web Role) Premise) (Web Role) (Web Role) (Web Role) Table Blob Storage Cache Queue Application Storage Service Service Service Service Service Storage Service Application Application Reference Conn. Identities & Service Data Data Data Bindings Roles Orch. Identity Access Service SQL Data BI Workflow Service Bus Control Services Services Service Service Public Services
  45. 45. Application PatternsGrid / Parallel Computing Application Web Mobile Silverlight WPF Enterprise Browser Browser Application Application Application User Enterprise Web Svc Enterprise Data Jobs ASP.NET Web Svc ASP.NET ASP.NET ASP.NET (Worker (Web Role) ASP.NET (Web Role) ASP.NET ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET Role) (Web Role) ASP.NET Private Cloud (On- (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) (Web Role) (Web Role) Premise) (Web Role) (Web Role) (Web Role) Table Blob Storage Cache Queue Application Storage Service Service Service Service Service Storage Service Application Application Reference Conn. Identities & Service Data Data Data Bindings Roles Orch. Identity Access Service SQL Data BI Workflow Service Bus Control Services Services Service Service Public Services
  46. 46. Application PatternsHybrid Enterprise Application Web Mobile Silverlight WPF Enterprise Browser Browser Application Application Application User Enterprise Web Svc Enterprise Data Jobs ASP.NET Web Svc ASP.NET ASP.NET ASP.NET (Worker (Web Role) ASP.NET (Web Role) ASP.NET ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET Role) (Web Role) ASP.NET Private Cloud (On- (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) ASP.NET (Web Role) (Web Role) (Web Role) Premise) (Web Role) (Web Role) (Web Role) Table Blob Storage Cache Queue Application Storage Service Service Service Service Service Storage Service Application Application Reference Conn. Identities & Service Data Data Data Bindings Roles Orch. Identity Access Service SQL Data BI Workflow Service Bus Control Services Services Service Service Public Services
  47. 47. Thank you david.chou@microsoft.com blogs.msdn.com/dachou© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing marketconditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

×