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.

Microsoft Cloud Computing - Windows Azure Platform

60,731 views

Published on

Overview of Microsoft's cloud computing platform - Windows Azure Platform

Published in: Technology
  • Login to see the comments

Microsoft Cloud Computing - Windows Azure Platform

  1. 1. Microsoft Cloud Computing Platform<br />David Chou<br />architect<br />microsoft<br />
  2. 2. Your<br />Own<br />Data Center<br />Someone<br />Else’s<br />Data Center<br />Many Views of Cloud Computing<br />Use (services, information, etc.)<br />Build (applications, data, etc.)<br />Host (software, database, etc.)<br />
  3. 3. Private Cloud<br />Public Cloud<br />Many Views of Cloud Computing<br />Service Delivery Models<br />Software(as-a-service)<br />Platform(as-a-service)<br />Infrastructure(as-a-service)<br />Community<br />Dedicated<br />Hybrid Cloud<br />Cloud Deployment Models<br />
  4. 4. (On-Premise)<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<br />Service Delivery Models<br />Software<br />(as a Service)<br />You manage<br />Applications<br />Applications<br />Applications<br />Applications<br />You manage<br />Data<br />Data<br />Data<br />Data<br />Runtime<br />Runtime<br />Runtime<br />Runtime<br />Managed by vendor<br />Middleware<br />Middleware<br />Middleware<br />Middleware<br />You manage<br />Managed by vendor<br />O/S<br />O/S<br />O/S<br />O/S<br />Managed by vendor<br />Virtualization<br />Virtualization<br />Virtualization<br />Virtualization<br />Servers<br />Servers<br />Servers<br />Servers<br />Storage<br />Storage<br />Storage<br />Storage<br />Networking<br />Networking<br />Networking<br />Networking<br />
  5. 5. IT as a Utility?<br />
  6. 6. IT as a Strategic Value Enabler<br />Hybrid<br />Public<br />Private<br />
  7. 7. Microsoft Cloud Strategy<br />Extendour enterprise software that runs core functions for business today to the cloud at internet scale<br />Developinnovative new services that expand the way end users, developers, and consumers can access and utilize the information they need, when they need it<br />Focus IT resources on business innovation; reduce complexity<br />Familiar, consistent, and unified development platform and tools<br />Interoperability support for heterogeneous platforms<br />Blended and hybrid solutions spanning on-premise and cloud-based options<br />Simplified management with financially-backed uptime guarantees<br />
  8. 8. Fundamentals<br />Automated<br />Service<br />Management<br />High<br />Availability<br />Scale out<br />Multi-tenancy<br />Considerations<br />Location<br />On premises<br />Off premises<br />Infrastructure<br />Heterogeneous<br />Homogeneous<br />OpEx<br />CapEx<br />Business model<br />Lease/Rented<br />Owned<br />Ownership<br />Third Party<br />Self<br />Management<br />Microsoft Cloud Strategy<br />
  9. 9. A Hybrid World<br />Scalability & Availability<br />Consistency & Control<br />On-Premise<br />Public Cloud<br />Manageability<br />Redundancy & Resiliency<br />Global Reach<br />Security & Privacy<br />Customizability<br />Ease of Provisioning<br />Abstract/Shared Resources<br />Dedicated Resources<br />Microsoft Cloud Strategy<br />Homogeneity<br />Heterogeneity<br />
  10. 10. Microsoft Cloud Strategy<br />Platform of Choice<br />
  11. 11. Microsoft Cloud History<br />(6 years)<br />4B emails/day<br />(7 years)<br />5B conf<br />min/yr<br />(15 years)<br />450M+ <br />active users<br />(11 years)<br />2B queries/mth<br />(11 years)<br />320M+ active<br />users<br />(12 years)<br />Largest non-<br />ICP/IP cloud service <br />x100M users<br />(13 years)<br />550M <br />users/mth<br />(15 years)<br />450M+<br />active users<br />
  12. 12. The Microsoft Cloud<br />Data Center Infrastructure<br />3rd most connected network worldwide<br />Purpose-built data centers to host containers at large scale<br /><ul><li>Cost $500 million, 100,000 square foot facility (10 football fields)
  13. 13. Adding ~10,000 servers / month</li></ul>40 foot shipping containers can house as many as 2,500 servers <br /><ul><li>Density of 10 times amount of compute in equivalent space in traditional data center</li></ul>Deliver an average PUE of 1.22<br /><ul><li>Power Usage Effectiveness benchmark from The Green Grid™ consortium on energy efficiency</li></li></ul><li>The Microsoft Cloud<br />Data Center Infrastructure<br />
  14. 14. The Microsoft Cloud<br />Server Container Deployment<br />
  15. 15. The Microsoft Cloud<br />Server Container Deployment<br />
  16. 16. The Microsoft Cloud<br />Server Container Deployment<br />
  17. 17. The Microsoft Cloud<br />Server Container Deployment<br />
  18. 18. The Microsoft Cloud<br />Server Container Deployment<br />
  19. 19. The Microsoft Cloud<br />Server Container Deployment<br />
  20. 20. The Microsoft Cloud<br />Server Container Deployment<br />
  21. 21. The Microsoft Cloud<br />Globally Distributed Data Centers<br />Quincy, WA<br />Chicago, IL<br />San Antonio, TX<br />Dublin, Ireland<br />Generation 4 DCs<br />
  22. 22. The Microsoft Cloud<br />Highly available, scalable, and consistent application fabric environment<br />
  23. 23. Categories of Services<br />Application Services<br />Software Services<br />Platform Services<br />Infrastructure Services<br />The Microsoft Cloud<br />
  24. 24. 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 />Registry<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 />Dynamic Tabular Data<br />Blobs<br />Message Queues<br />Distributed File System<br />Content Distribution<br />Storage<br />Windows Azure Platform<br />
  25. 25. 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 />Windows Azure Platform<br />Table Storage<br />Blob Storage<br />Queue<br />Drive<br />Content Delivery Network<br />Storage<br />
  26. 26. Case Study – Kelley Blue Book<br />About<br /><ul><li>kbb.com; vehicle data aggregation and publication service provider
  27. 27. 14M unique visitors per month
  28. 28. Multiple physical data centers</li></ul>Solution<br /><ul><li>Cloud-based overflow capacity
  29. 29. Windows Azure Web Role
  30. 30. SQL Azure database</li></ul>Benefits<br /><ul><li>~$100,000 savings / year in hosting costs
  31. 31. Retire failover data center (27 Web servers & 9 SQL Servers)
  32. 32. <1% code changes needed for application compatibility
  33. 33. 6 weeks reduced to 6 minutes to add server capacity</li></li></ul><li>Case Study – Domino’s Pizza<br />About<br /><ul><li>Domino’s Pizza’s online ordering system
  34. 34. 0 online txnsin 2005 to +20M in 2009 - need to improve system availability, scalability, and extendibility
  35. 35. Server capacity risk mitigation to support traffic spikes and disaster recovery needs</li></ul>Solution<br /><ul><li>Cloud-based overflow capacity
  36. 36. Java/Tomcat app in Windows Azure
  37. 37. Windows Azure Table Storage</li></ul>Benefits<br /><ul><li>Ability to handle peak loads during periods of extreme need (i.e. anticipated 50% volume spikes during SuperBowl)
  38. 38. Capability to make optimizations over time and balance use of compute resources across the on-premise and cloud to evolve IT as business evolves</li></li></ul><li>Case Study – Coca-Cola Enterprises<br />About<br /><ul><li>An SAP on-premise instance which holds all the actual order history data, plus 2 enterprise LOB apps handling pricing, targeted promotions, & delivery schedules
  39. 39. ~1 million customers worldwide</li></ul>Solution<br /><ul><li>Cloud-based Web-enablement of on-premise assets
  40. 40. Windows Azure Web Role (20) + Silverlight
  41. 41. Web services integration via on-premise ESB endpoints</li></ul>Benefits<br /><ul><li>“In a matter of weeks, we were able to see the fruits of our efforts very rapidly.“ – Kevin Flowers, Dir. Enabling Technologies
  42. 42. “The resilience and reliability of this platform is some of the benefits that we are seeing.” – EsatSezer, SVP & CIO</li></li></ul><li>Case Study – Outback Steakhouse<br />About<br /><ul><li>Outback Steakhouse operates more than 1,230 restaurants in 50 states and 21 countries. The company’s annual revenues exceed U.S.$3 billion
  43. 43. Wanted to encourage repeat guests by creating a social networking presence</li></ul>Solution<br /><ul><li>Viral marketing campaign on Facebook
  44. 44. Windows Azure Web Roles for main application
  45. 45. Windows Azure Worker Roles with caches and an asynchronous architecture to improve performance and scalability. SQL Azure and Windows Azure Table service used for background processing</li></ul>Benefits<br /><ul><li><8 weeks development time
  46. 46. Application launched on 11/5/2009 and achieved its goal of 500,000 fans within 18 days</li></li></ul><li>Case Study - RiskMetrics<br />About<br /><ul><li>Complex Monte Carlo simulations to calculate financial risks
  47. 47. Daily risk analysis load equivalent to processing 4 trillion US Stocks
  48. 48. Existing on-premise HPC implementation</li></ul>Solution<br /><ul><li>Massively scalable compute leveraging cloud capacity
  49. 49. Deployed on 2K Windows Azure instances; 10K+ planned in 2010
  50. 50. Windows Azure Worker Role
  51. 51. Windows Azure Blob and Queue
  52. 52. AppFabric Service Bus</li></ul>Benefits<br /><ul><li>Elastic scaling to effectively meet customer demands
  53. 53. Turning elements of its peak load infrastructure from a fixed cost to a variable cost</li></li></ul><li>Case Study - eBay<br />About<br /><ul><li>200M live listings; $60B in merchandise vol.
  54. 54. 75B database calls / day
  55. 55. Automated, scalable, cost-effective data center solution</li></ul>Solution<br /><ul><li>Windows Azure Platform Appliance
  56. 56. Windows Azure, SQL Azure
  57. 57. http://ipad.ebay.com</li></ul>Benefits<br /><ul><li>Cloud extension of on-premise architecture
  58. 58. Improve user experience through automated capacity management, scalable processing and rapid response to experimentation and live tests
  59. 59. Focus engineering efforts on a better experience for buyers and sellers</li></li></ul><li>Sign up at the Windows Azure Platform developers’ portal<br />Windows Azure access<br />Developer tools <br />White papers<br />Sample applications<br />Plan pilot applications, proofs of concept, and architectural design sessions with Windows Azure partners<br />http://www.azure.com<br />
  60. 60. 3 Key Takeaways<br />Platform-as-a-service fabric cloud<br />Hybridon-premisesoftware and cloudservices platform<br />Consistentprogramming modeland tools<br />
  61. 61. Thank you!<br />david.chou@microsoft.com<br />blogs.msdn.com/dachou<br />© 2010 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.<br />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 market conditions, 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.<br />
  62. 62. Windows Azure<br />Compute – instance types: Web Role & Worker Role. Windows Azure applications are built with web role instances, worker role instances, or a combination of both.<br />Operating system as an online service; with automated provisioning and services management<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 />Each instance runs on its own VM (virtual machine), replicated as needed<br />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.<br />Guest VM 3<br />Guest VM 2<br />Guest VM 1<br />Host VM<br />Maintenance OS<br />Guest VM 1<br />Host VM<br />Host VM<br />
  63. 63. SQL Azure<br />Highly available, scalable, and consistent distributed relational database service; with geo-replication and geo-location of data<br />VM 5<br />VM 6<br />VM 4<br />DBA role places more focus on policy/logical management<br />SQL Server<br />SQL Server<br />SQL Server<br />SQL DB<br />SQL DB<br />SQL DB<br />Shared infrastructure at SQL database and below<br />Each user database is replicated to one or more servers (configurable based on SLA)<br />Client requests are routed to current “primary server” for read and write operations (based on SQL session)<br />Security, lockdown and isolation enforced in SQL tier<br />Highly scalable and state-of-the-art HA technology<br />Automatic failure detection; client request re-routed to new primary on failure <br />High SLA guarantee using logical replication (hot standby replicas)<br />Automatic management, self-healing and load balancing across shared resource pool<br />Security Model<br />Uses regular SQL security model<br />Authenticate logins, map to users and roles<br />Authorize users and roles to SQL objects<br />Supports standard SQL logins<br />Logins are username + password strings<br />Service enforces use of SSL to secure credentials<br />Upcoming support for AD Federation, WLID, etc.<br />Connectivity Model<br />Connect using common client libraries<br />ADO.NET, OLE DB, ODBC, etc.<br />Clients connect to a database directly<br />Cannot hop across DBs<br />UserDB1<br />UserDB2<br />UserDB3<br />UserDB4<br />UserDB1<br />UserDB2<br />UserDB3<br />UserDB4<br />UserDB1<br />UserDB2<br />UserDB3<br />UserDB4<br />SQL Azure database provisioning (databases, accounts, roles, …, metering, and billing)<br />Scalability and Availability: fabric, failover, replication, and load balancing<br />
  64. 64. Windows Azure platform AppFabric<br />Internet-scoped overlay-network bridging across IP NATs and firewalls with federated access control<br />Service Bus<br />Expose RESTful or SOAP services over the internet through firewall and NAT boundaries<br />Communicate bi-directionally between apps and services in an interoperable manner<br />Choose relays, queues, routers, and other message patterns and types<br />Scale out naturally and reliably as apps and services grow<br />Access Control<br />Integrate authorization into apps to control “what users are allowed to do”<br />Federate with multiple identity systems across organizations and ID providers<br />Easily apply fine-grained access control rules<br />Secure Service Bus communications<br />Scale out naturally and reliably as apps and services grow<br />
  65. 65. Web Role and Worker Role<br />Service Instance<br />Service Instance<br />Worker Role<br />Web Role<br />.NET in Windows Azure<br />default.aspx<br />RoleEntry Point<br />IIS<br />bind port(x)<br />SQL Database<br />http://instance:x<br />http://instance:y<br />Service<br />Bus<br />Access Control<br />http://app:80<br />Fabric Controller<br />Load Balancer<br />Table<br />Storage<br />Blob<br />Storage<br />Queue<br />
  66. 66. Web Role and IIS/FastCGI with Native Runtime<br />Service Instance<br />Service Instance<br />Web Role<br />PHP in Windows Azure<br />php<br />-cgi<br />index.php<br />FastCGI<br />IIS<br />bind port(x)<br />SQL Database<br />http://instance:x<br />http://instance:y<br />Service<br />Bus<br />Access Control<br />http://app:80<br />Fabric Controller<br />Load Balancer<br />Table<br />Storage<br />Blob<br />Storage<br />Queue<br />
  67. 67. Worker Role and Sub-Process Invoking Native Code<br />Service Instance<br />Java and Tomcat in Windows Azure<br />listen port(x)<br />Service Instance<br />Worker Role<br />Sub-Process<br />Tomcat<br />server.xml<br />Catalina<br />index.jsp<br />new Process()<br />RoleEntry Point<br />bind port(x)<br />get<br />runtime<br />info<br />SQL Database<br /> JVM<br />http://instance:x<br />http://instance:y<br />Service<br />Bus<br />Access Control<br />http://app:80<br />Fabric Controller<br />Load Balancer<br />Table<br />Storage<br />Blob<br />Storage<br />Queue<br />
  68. 68. Optimal Cloud Workload Patterns<br />“Growing Fast“ <br />“On and Off “ <br />Inactivity<br />Period <br />Compute <br />Compute <br />Average Usage<br />Usage<br />Average<br />Time <br />Time <br /><ul><li>On and off workloads (e.g. batch job)
  69. 69. Over provisioned capacity is wasted
  70. 70. Time to market can be cumbersome
  71. 71. Successful services needs to grow/scale
  72. 72. Keeping up w/growth is big IT challenge
  73. 73. Complex lead time for deployment</li></ul>“Unpredictable Bursting“ <br />“Predictable Bursting“ <br />Compute <br />Compute <br />Average Usage <br />Average Usage <br />Time <br />Time <br /><ul><li>Unexpected/unplanned peak in demand
  74. 74. Sudden spike impacts performance
  75. 75. Can’t over provision for extreme cases
  76. 76. Services with micro seasonality trends
  77. 77. Peaks due to periodic increased demand
  78. 78. IT complexity and wasted capacity </li></li></ul><li>Benefits of Cloud Computing<br />BUSINESS<br />DEMANDS<br />TECHOLOGYDEMANDS<br />WINDOWS AZURE PLATFORM OFFERS<br /><ul><li>Cost-effective solution to manage IT resources
  79. 79. Less infrastructure to buy/configure and support
  80. 80. Lower TCO
  81. 81. Predictable cost
  82. 82. Focus on delivering compelling software not on managing infrastructure
  83. 83. Monetize new offering quickly without investment in billing and other enablement technologies.</li></ul>  <br /><ul><li>Speed of development
  84. 84. Interoperability
  85. 85. Leverage existing IP
  86. 86. Simplified deployment
  87. 87. Scale up or down as business needs change
  88. 88. Go to market faster
  89. 89. Reliable service
  90. 90. SLAs
  91. 91. Security
  92. 92. Global data centers</li></ul>Lower costs<br />Efficiency<br />Stay Competitive<br />Innovation<br />Generate New Revenue Quickly<br />Agility<br />Reduced<br />Risk<br />Reliability<br />
  93. 93. Generalized Application Model<br />Always Available<br />Service-Oriented<br />Model-Driven<br />Scale-Out<br />Staged Production<br />Self-Service<br />Failure Resilient<br />Federated<br />Multi-Tenant<br />Elastic<br />Microsoft Cloud Strategy<br />
  94. 94. Pricing<br />SUBSCRIPTION<br />CONSUMPTION<br />VOLUME LICENSING<br />“Pay as you go and grow”<br />Available at launch <br />“Coordinated purchasing” <br />Planned for FY11<br />“Value for a commitment“<br />Select offers Announced<br /><ul><li>Low barrier to entry and flexibility
  95. 95. Optimized for cloud elasticity
  96. 96. Discounts for commitment
  97. 97. Plans for payment predictability
  98. 98. Unified purchasing through EA
  99. 99. Introduction to volume discounts
  100. 100. Compute</li></ul>$0.12 / hour<br /><ul><li>Storage</li></ul>$0.15 / GB / month<br />$0.01 / 10K txns<br /><ul><li>CDN</li></ul>$0.15 / GB (NA & EU)<br />$0.01 / 10K txns<br /><ul><li>Bandwidth</li></ul>$0.10 in / GB; $0.15 out / GB<br /><ul><li>Web Edition</li></ul>1GB – $9.99 / month<br /><ul><li>Business Edition</li></ul>10GB – $99.99 / month<br />20GB – $199.98 / month<br />30GB – $299.97 / month<br />40GB – $399.96 / month<br />50GB – $499.95 / month<br /><ul><li>Bandwidth</li></ul>$0.10 in / GB; $0.15 out / GB<br /><ul><li>Service Bus</li></ul>$3.99 / connection<br />$1.99 / connection / pack (x5, x25, x100, x500)<br /><ul><li>Access Control</li></ul>$1.99 / 100K txns<br /><ul><li>Bandwidth</li></ul>$0.10 in / GB; $0.15 out / GB<br />
  101. 101. Offers & Promotions<br />Development Accelerator <br />Designed to accelerate cloud app development. Flexible (on/off) consumption for scaling. Predictable payment and discounted price.<br /><ul><li>6 month subscription (38%-45% discount)
  102. 102. Offered as a unit (can order multiple units)
  103. 103. Cancel first 30 days; anytime after first 6 months
  104. 104. Overage at Standard Consumption rates</li></ul>CORE($59.95/month)<br />Amount Included in Base<br />Compute 750 hrs/mo <br />Storage 10 GB/mo <br />Storage Transactions 1M/mo <br />NET - Messages 1M/mo<br />Data Transfers 7 GB In / 14 GB Out<br />EXTENDED($109.95/month)<br />Amount Included in Base<br />Same as Core except also includes 1 SQL Azure Business Edition DB (10 GB) <br />Introductory Free Offer <br />No-cost developer starter offer. Provides no-cost allocation to run a cloud service.<br /><ul><li>Available to all partner/customers
  105. 105. Limit of one per customer
  106. 106. Overage at Standard Consumption rates</li></ul>NO-COST<br />Windows Azure<br />Compute 25 Hrs/month<br />Storage 0.5 GB/month<br />Bandwidth 0.5 GB/month<br />Storage Transactions 10K/month<br />SQL Azure<br />1 Web Edition DB (1GB DB) 90 day trial <br />Service Bus and Access Control Service <br />Messages 100K/mo<br />MSDN Premium <br />Mobilize committed .NET developer base. Enable them to build, deploy, manage multiple cloud projects w/in MSDN subscription.<br /><ul><li>Available to MSDN Premium subscribers with limit of one per subscription (one per Windows Live ID)
  107. 107. 12-month term
  108. 108. Overage at partner Consumption rates
  109. 109. Limited time to sign up (thru 6/30/10)
  110. 110. After 6/30/10 quantities may be reduced </li></ul>NO-COST<br />Windows Azure<br />Compute 750 hrs <br />Storage 10 GB<br />Storage Transaction 1M <br />SQL Azure - 3 Web DB (1 GB) <br />Service Bus and Access Control Service Messages 1 Million<br />Data Transfer 7GB In/14GB Out<br />
  111. 111. Application Models<br />Web Hosting<br /><ul><li>Massive scale infrastructure
  112. 112. Burst & overflow capacity
  113. 113. Temporary, ad-hoc sites</li></ul>Application Hosting<br /><ul><li>Hybrid applications
  114. 114. Composite applications
  115. 115. Automated agents / jobs</li></ul>Media Hosting & Processing<br /><ul><li>CGI rendering
  116. 116. Content transcoding
  117. 117. Media streaming</li></ul>Distributed Storage<br /><ul><li>External backup and storage</li></ul>High Performance Computing<br /><ul><li>Parallel & distributed processing
  118. 118. Massive modeling & simulation
  119. 119. Advanced analytics</li></ul>Information Sharing<br /><ul><li>Reference data
  120. 120. Common data repositories
  121. 121. Knowledge discovery & mgmt</li></ul>Collaborative Processes<br /><ul><li>Multi-enterprise integration
  122. 122. B2B& e-commerce
  123. 123. Supply chain management
  124. 124. Health & life sciences
  125. 125. Domain-specific services</li></li></ul><li>Building “Cloudy” Applications<br />Architecture Design<br /><ul><li>Multi-tenancy
  126. 126. Horizontal scaling
  127. 127. Service-oriented composition
  128. 128. Eventual consistency
  129. 129. Fault tolerant (expect failures)</li></ul>Security<br /><ul><li>Claims-based access control
  130. 130. Federated identity
  131. 131. Data encryption & key mgmt.</li></ul>Management<br /><ul><li>Policy-driven automation
  132. 132. Aware of application lifecycles
  133. 133. Handle dynamic data schema and configuration changes</li></ul>Data & Content<br /><ul><li>De-normalization
  134. 134. Logical partitioning
  135. 135. Distributed in-memory cache
  136. 136. Diverse data storage options (persistent & transient, relational & no-SQL, text & binary)</li></ul>Processes<br /><ul><li>Loosely coupled components
  137. 137. Parallel & distributed processing
  138. 138. Asynchronous distributed communication
  139. 139. Idempotent (handle duplicity)
  140. 140. Isolation (separation of concerns)</li></li></ul><li>Presentation<br /><ul><li>ASP.NET C#, PHP, Java
  141. 141. Distributed in-memory cache</li></ul>Internet-Scale Application Architecture<br />Services<br /><ul><li>.NET C#, Java, native code
  142. 142. Distributed in-memory cache
  143. 143. Asynchronous processes
  144. 144. Distributed parallel processes
  145. 145. Transient file storage</li></ul>Connectivity<br /><ul><li>Message queues
  146. 146. Service orchestrations
  147. 147. Identity federation
  148. 148. Claims-based access control
  149. 149. External services connectivity</li></ul>SERVICE BUS<br />ACCESS CONTROL<br />WORK<br />FLOWS<br />Storage<br /><ul><li>Relational & transactional data
  150. 150. Federated databases
  151. 151. Unstructured, de-normalized data
  152. 152. Logical partitioning
  153. 153. Persistent file & blob storage
  154. 154. Encrypted storage</li></li></ul><li>Application Patterns<br />Cloud Web Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Cloud Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application<br />Data<br />Reference Data<br />
  155. 155. Application Patterns<br />Composite Services Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  156. 156. Application Patterns<br />Cloud Agent Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  157. 157. Application Patterns<br />B2B Integration Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  158. 158. Application Patterns<br />Grid / Parallel Computing Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  159. 159. Application Patterns<br />Hybrid Enterprise Application<br />User<br />Silverlight<br />Application<br />Web Browser<br />Mobile<br />Browser<br />WPF<br />Application<br />ASP.NET<br />(Web Role)<br />Web Svc<br />(Web Role)<br />Jobs<br />(Worker Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Private Cloud<br />Public Services<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />ASP.NET<br />(Web Role)<br />Enterprise Application<br />Application<br />Service<br />Enterprise Web Svc<br />Data<br />Service<br />Table Storage<br />Service<br />Blob Storage<br />Service<br />Queue<br />Service<br />Enterprise Data<br />Storage<br />Service<br />Identity<br />Service<br />Enterprise Identity<br />Service Bus<br />Access Control Service<br />Workflow<br />Service<br />User<br />Data<br />Application Data<br />Reference Data<br />
  160. 160. 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 />Compute<br />
  161. 161. Windows Azure Diagnostics<br />Configurable trace, performance counter, Windows event log, IIS log & file buffering<br />Local data buffering quota management<br />Query & modify from the cloud and from the desktop per role instance<br />Transfer to storage scheduled & on-demand<br />Filter by data type, verbosity & time range<br />Compute<br />
  162. 162. 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>.core.windows.net<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 />Storage<br />Storage<br />
  163. 163. Windows Azure Table Storage<br />Designed for structured data, not relational data<br />Data definition is part of the application<br />A Table is a set of Entities (records)<br />An Entity is a set of Properties (fields)<br />No fixed schema<br />Each property is stored as a <name, typed value> pair<br />Two entities within the same table can have different properties<br />No schema is enforced<br />Table Storage<br />
  164. 164. Windows Azure Blob Storage<br />Storage for large, named files plus their metadata<br />Block Blob <br />Targeted at streaming workloads<br />Each blob consists of a sequence of blocks<br />Each block is identified by a Block ID<br />Size limit 200GB per blob<br />Page Blob<br />Targeted at random read/write workloads<br />Each blob consists of an array of pages<br />Each page is identified by its offset from the start of the blob<br />Size limit 1TB per blob<br />Blob Storage<br />
  165. 165. Windows Azure Queue<br />Performance efficient, highly available and provide reliable message delivery<br />Asynchronous work dispatch<br />Inter-role communication <br />Polling based model; best-effort FIFO data structure<br />Queue operations<br />Create Queue<br />Delete Queue<br />List Queues<br />Get/Set Queue Metadata<br />Message operations<br />Add Message<br />Get Message(s)<br />Peek Message(s)<br />Delete Message<br />Queue<br />
  166. 166. Windows Azure Drive<br />Provides a durable NTFS volume for Windows Azure applications to use<br />Use existing NTFS APIs to access a durable drive<br />Durability and survival of data on application failover <br />Enables migrating existing NTFS applications to the cloud<br />Drives can be up to 1TB; a VM can dynamically mount up to 8 drives<br />A Windows Azure Drive is a Page Blob<br />Example, mount Page Blob as X:<br />http://<account>.blob.core.windows.net/<container>/<blob><br />All writes to drive are made durable to the Page Blob<br />Drive made durable through standard Page Blob replication<br />Drive<br />
  167. 167. Windows Azure Content Delivery Network<br />Provides high-bandwidth global blob content delivery<br />18 locations globally (US, Europe, Asia, Australia and South America), and growing<br />Blob service URL vs. CDN URL<br />Blob URL: http://<account>.blob.core.windows.net/<br />CDN URL: http://<guid>.vo.msecnd.net/ <br />Support for custom domain names<br />Access details<br />Blobs are cached in CDN until the TTL passes<br />Use per-blob HTTP Cache-Control policy for TTL (new)<br />CDN provides only anonymous HTTP access<br />Content Delivery Network<br />
  168. 168. 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 />Data<br />
  169. 169. SQL Azure Data Sync<br />Tools for data synchronization with SQL Azure<br />Connect on-premises apps with the cloud<br />Create cached-mode clients<br />Built on Microsoft Sync Framework and ADO.NET Sync Services<br />SQL Azure Data Sync<br />
  170. 170. AppFabric Service Bus<br />Securely connect applications<br />Over the internet<br />Across any network topology<br />Across organizational boundaries<br />Primary application patterns<br />Eventing– notify applications and/or devices<br />Service Remoting– securely project on-premises services out to the cloud<br />Tunneling– app-to-app communication with NAT/Firewall traversal<br />Connectivity<br />Service Bus<br />
  171. 171. AppFabric Access Control<br />Provides outsourcing of claims-based access control for REST web services<br />Key capabilities:<br />Usable from any platform<br />Low friction way to onboard new clients<br />Integrates with ADFS v2<br />Supports OAuth WRAP / SWT<br />Enables simple delegation<br />Used today by Service Bus and “Dallas”<br />Security<br />Access Control<br />
  172. 172. “Geneva”<br />Next generation identity and access management platform<br />Claims-based access and single sign-on for on-premise and cloud-based applications in the enterprise, across organizations, and on the Web<br />“Geneva Framework“ (Windows Identity Foundation)<br />Provides .NET development tools, which includes pre-built, user-access logic that externalizes authentication from applications. It helps developers build claims-aware .NET applications, plus build custom security token services (STS)<br />“Geneva Server“<br />An STS for IT that issues and transforms claims and other tokens, manages user access and enables federation and access management for simplified single sign-on<br />“Geneva”<br />“CardSpace Geneva”<br />For helping users navigate between multiple logons for simplified single sign-on while providing complete user control and transparency for how personal information is shared<br />
  173. 173. “Velocity”<br />Distributed in-memory cache platform for developing scalable, available, and highly-performance applications<br />Caches any serializable CLR object and provides access through simple cache APIs<br />Supports enterprise scale: tens to hundreds of computers<br />Configurable to run as a service accessed over the network<br />“Velocity”<br />Supports dynamic scaling and automatic load balancing<br />Supports continuous availability of cached data by storing copies on separate cache hosts<br />Integration with administration and monitoring tools such as Event Tracing for Windows (ETW) and System Center.<br />
  174. 174. “Dublin”<br />Evolution of WAS/IIS and Windows App Server role to run and manage WF and WCF services<br />Enhances the hosting of Windows Communication Foundation (WCF) and Windows Workflow (WF) in the Windows Process Activation Service (WAS)<br />Simplified deployment and management of WCF and WF services hosted in WAS<br />Configuration of persistence for durable workflows<br />Customizable tracking profiles with dedicated, queryable storage for tracked data<br />Customizable monitoring of hosted services<br />“Dublin”<br />
  175. 175. “Dallas”<br />Information-as-a-service<br />Discover, acquire, and consume structured, blob, and real-time data to power any application – on any platform and any screen size<br />Brokerage Business – partner driven ecosystem and global reach to deliver data and functionality to developers and information workers<br />Analytics and Reporting – single click analysis to augment private data with public data<br />Built on Windows Azure and SQL Azure<br />

×