Microsoft Cloud Computing - Windows Azure Platform


Published on

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

Published in: Technology
  • Be the first to comment

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

No notes for slide
  • Microsoft sees four fundamental requirements for any cloud computing offering. First it must have the ability to scale as customer demand requires. Second, it must provide automated service management, delivering more than just disk space and processors; it must have but the to seamlessly failover scale up scaled down and optimize management of the applications and services it hosts. Third must be highly available, with the highest level of reliability as well as redundancy and fail-over. Finally a must for multi-tenancy, concurrent hosting of multiple customers to optimize utilization and control costs.Beyond these fundamental requirements, there are also a number of considerations -- variables -- for cloud computing platforms. They may be located on premises (within IT data center) or remotely hosted by the provider and accessed over the Internet. The infrastructure they provide may support a single type of technology, or have the ability to host heterogeneous, interoperable technologies. The business model costs might be optimized for operating expenses or towards capital investment. The hardware and networking resources might be leased or owned. And the management of the IT systems might be self directed by the business or performed by a third party, perhaps cloud computing platform provider.
  • From the customer’s perspective, SQL Azure provides logical databases for application data storage. In reality, each customer’s data is actually stored in multiple SQL Server databases, which are distributed across multiple physical servers. Many customers may share the same physical database, but the data is presented to the customer through a logical database that abstracts the physical storage architecture and uses automatic load balancing and connection routing to access the distributed data. Security and isolation is managed automatically.The key impact of this model for the customer is a move from managing physical servers to focus on logical management of data storage through policies.
  • 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>; 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.</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 /><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 /><br /><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><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><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><br />CDN URL: http://<guid> <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 />