Your SlideShare is downloading. ×
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Wisconsin .NET UG - Windows Azure
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Wisconsin .NET UG - Windows Azure


Published on

Presentation given to the Wisconsin .NET Users Group on Windows Azure and SQL Azure.

Presentation given to the Wisconsin .NET Users Group on Windows Azure and SQL Azure.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Wisconsin .NET Users Group<br />Sept 2009<br />
  • 2. Who Are We?<br />Joseph Paradi<br />Innovation Lead, Accenture<br /><br />Wade Wegner<br />Architect Evangelist, Microsoft<br /><br /><br />
  • 3. Cloud-Addressable Challenges<br />Facing Today’s Enterprise<br />1<br />1<br />5<br />Infrastructure costs are fixed and ongoing, and distract from the mission of reducing business process friction<br />Leveraging past investments to provide future value<br />Many data centers at limit—real estate, capacity, cooling and power<br />Matching capacity to demand<br />Maintaining security while increasing access and transparency—within and outside the organization<br />2<br />6<br />Security, access, and transparency across the value chain: suppliers, partners, etc.<br />3<br />7<br />Lack of a common platform<br />4<br />
  • 4. And in a non-Cloud view, there are inefficiencies in addressing those issues<br />Allocated IT-capacities<br />Load Forecast<br />“Under-supply“ of capacities<br />“Waste“ of capacities<br />Fixed cost of IT-capacities<br />IT CAPACITY<br />Barrier for<br />innovations<br />ActualLoad<br />TIME<br />
  • 5. However, in a Cloud View<br />Load Forecast<br />Allocated IT capacities<br />No “under-supply“<br />IT CAPACITY<br />Reduction of “over-supply“<br />Possible reduction of IT-capacities in case of reduced load<br />Reduction of initial investments<br />ActualLoad<br />Time<br />
  • 6. It has happened before<br />
  • 7. 5 key differences between legacy and cloud computing<br />Scale<br />Automated Service Management<br />High Availability<br />Multi-Tenancy<br />Considerations<br />Off Premises<br />On Premises<br />Location<br />Homogeneous<br />Heterogeneous<br />Infrastructure<br />CapEx<br />OpEx<br />Business model<br />Own<br />Lease/Rent<br />Ownership<br />Self<br />Third Party<br />Management<br />
  • 8. Introducing the Windows Azure platform<br />Web and Clouds<br />Developer Experience<br />Third party Cloud<br />Web applications<br />Use existing skills and tools.<br />Compute<br />Storage<br />Management<br />Management<br />Relational data<br />Connectivity<br />Access control<br />On-premises<br />LOB Applications<br />Composite applications<br />
  • 9. Introducing Windows AzureDelivering the Reality of Cloud Computing<br />Windows Azure delivers Cloud computing for the enterprise<br />“It’s the transformation of our software, it’s <br />the transformation of our strategy and our offerings across the board to fundamentally embrace services.”<br />–Ray Ozzie<br /> Chief Software Architect<br /> Microsoft<br />
  • 10. Comprehensive SLAs<br />Dependable performance<br />Years of Microsoft Experience<br />Faster time to market<br />Speedier development<br />Simpler deployment<br />Efficiency<br />Manage resources withless cost and effort<br />Focus<br />Concentrate on delivering solutions, not infrastructure<br />Trust<br />Rely on a solid development platform<br />Agility<br />Respond rapidly to changing needs<br />Rapid monetization <br />Scalability without complexity <br />Fewer operational hurdles<br />On-demand computing<br />Elimination of idle IT capacity<br />Lower TCO <br />Why Windows Azure<br />
  • 11. NEXT UP:<br />Windows Azure Architecture<br />
  • 12. From Managing Resources to Providing Abstraction<br />BUSINESSES<br />CONSUMERS<br />INTERNET<br />
  • 13. Defining Windows Azure Architecture<br />Fabric<br />Fabric controller<br />Compute<br />Storage<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 />
  • 14. Windows Azure<br />The Fabric Controller automates load balancing and computes resource scaling<br />Security and Control Features include storage encryption, access authentication, and over-the-wire encryption using HTTPS. Industry certification is part of the Windows Azure roadmap.<br />Computation provides application scalability. Developers can build a combination of web and worker roles. Those roles can be replicated as needed to scale the applications and computational processing power.<br />Storage Services allow customers to scale to store large amounts of data – in any format – for any length of time, only paying for what they use or store.<br />Geographically distributed, state-of-the-art data centers host your applications and data, internet-accessible from everywhere you choose to allow.<br />
  • 15. Fabric Controller<br />Interacts with a “Fabric Agent” on each machine<br />Monitors every VM, application and instance<br />Performs load balancing, check pointing and recovery<br />
  • 16. Compute in Windows Azure<br />GOAL:<br />SCALABILITY<br />Two instance types: Web Role & Worker Role<br />Windows Azure applications are built with <br />web role instances, worker role instances, <br />or a combination of both.<br />Scale out by replicating worker instances as needed.<br />Allow applications to scale <br />user and compute processing independently.<br />Each instance runs on its own VM (virtual machine), replicated as needed<br />
  • 17. Defining the Web and Worker Roles<br />WEB ROLE<br />WORKER ROLE<br />Interacts with end-user<br />or web services<br />Handles incoming<br />HTTP/HTTPS requests<br />Develop with Microsoft and<br />non-Microsoft tools:<br />ASP.NET, WCF, other .NET tools<br />Java, PHP, etc.<br />Does not accept<br />incoming requests<br />Initiates their own requests<br />for data or tasks from <br />the queue<br />Similar to a &quot;batch job&quot;<br />or Windows service<br />
  • 18. Storage in Windows Azure<br />GOAL:<br />SCALABLE, DURABLE STORAGE<br />Tables: simply structured data, accessed using ADO.NET Data Services<br />Queues: serially accessed messages or requests, allowing web-roles and worker-roles to interact<br />Blobs: large, unstructured data (audio, video, etc)<br />Windows Azure storage is an application managed by the Fabric Controller<br />Windows Azure applications can use native storage or SQL Azure<br />Application state is kept in storage services, so worker roles can replicate as needed<br />
  • 19. Blobs, Tables and Queues<br />BLOBS: <br />Provide a simple interface for storing named files along with file metadata<br />QUEUES: <br />Provide reliable storage and delivery of messages for <br />an application<br />TABLES: <br />Provide structured storage. A Table is a set of entities which contain a set of properties<br />
  • 20. Services Management in Windows Azure<br />GOAL:<br />AUTOMATED APPLICATION MANAGEMENT AND CONTROL<br />Fabric<br />The Fabric Controller automates service management<br />
  • 21. Developing Applications for Windows Azure<br />FAMILIAR DEVELOPER EXPERIENCE<br />DESIGNED FOR INTEROPERABILITY<br />PROVEN MICROSOFT TECHNOLOGIES<br />Development: Visual Studio integration, offline Cloud simulation<br />Maintenance: Local debugging, APIs for logging<br />Management: APIs for configuration management<br />SOAP and REST protocols <br />XML file formats<br />Commitment to support Java, PHP, Python and other popular programming languages<br />Visual Studio, ASP.NET, SQL Azure integration<br />Windows Azure integration<br />
  • 22. Windows Azure Skill Transfer<br />
  • 23. Providing Security with Windows Azure<br />PHYSICAL:<br /><ul><li>Microsoft data centers with modern and current security processes
  • 24. Redundant power supplies from separate providers, battery and diesel backup generators, climate control, and fire prevention and suppression</li></ul>CONTINUITY: <br /><ul><li>Multiple data centers in different geographies
  • 25. Users can choose single location or geo-distributed data centers
  • 26. Storage data is replicated multiple times
  • 27. Fabric is designed to be backed up and restored from checkpoints</li></ul>COMPLIANCE & CERTIFICATION:<br /><ul><li>Microsoft is committed to complying with all local laws
  • 28. Industry certification is a core part of the Windows Azure roadmap
  • 29. Customers are ultimately responsible for the security and compliance of their services or applications–Windows Azure is a platform</li></ul>LOGICAL:<br /><ul><li>Storage encryption and authentication
  • 30. HTTPS
  • 31. Optimized for Cloud access with no admin access to guests or applications
  • 32. Applications and users not allowed to update the underlying environment</li></li></ul><li>Building Solutions with the <br />Windows Azure Platform<br />SQL Azure: Scalable, relational, Cloud-enabled database services<br />.NET Services: Framework for access control and communication between Cloud-aware applications<br />
  • 33. NEXT UP:<br />SQL Azure Architecture<br />
  • 34. Benefits of SQL Azure database<br />SQL Azure Database delivers the value of hosted relational database with the differentiated benefits of a managed database as a utility<br />Hosted RDBMS<br />Managed RDBMS<br /><ul><li>SQL query processor
  • 35. Familiar relational model (DDL, DML, Indexes…)
  • 36. Transactions
  • 37. Ecosystem of familiar development and management tools
  • 38. Low-friction provisioning
  • 39. High scale
  • 40. Multi-tenant
  • 41. Self-management
  • 42. Automatic HA and DR</li></li></ul><li>SQL Azure Database Product Architecture overview<br />SQL Azure Database combines the bestof simple storage and hosted RDBMS<br />BrowserApplication<br />Application<br />Application<br />ODBC, OLEDB, ADO.Net PHP, Ruby, …<br /><ul><li>Flexible access to data in the cloud
  • 43. Create client applications that access data in the cloud via TDS – just like on-premise SQL Server
  • 44. Create cloud-based Web applications in Azure that use standard SQLClient libraries with ADO.NET
  • 45. Create cloud-based REST data interfaces in Azure with ADO.NET Data Services and the Entity Framework
  • 46. Low friction data storage provisioning
  • 47. Web interface for simple, database provisioning
  • 48. Scale seamlessly as needed
  • 49. Self-managing data center
  • 50. Automated maintenance
  • 51. Built in high-availability and data recoverability</li></ul>REST Client<br />SQL Client*<br />Cloud<br />REST (Astoria)<br />ADO.Net +EF<br />HTTP+REST<br />HTTP<br />TDS<br />Windows Azure<br />Web App<br />SQL Client*<br />Data Center<br />TDS + TSQL Model<br />SQL Azure<br />* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …<br />
  • 52. Data Platform Design<br />Account<br /><ul><li>Goal: A storage platform built for extreme scale and low cost
  • 53. Architecture:
  • 54. An Azure account provides access to SQL Azure
  • 55. Each account can have one or more logical server
  • 56. Implemented as multiple physical servers within a given geo-location
  • 57. Each logical server can contain one or more logical database
  • 58. Implemented as replicated partitioned data across multiple physical databases
  • 59. Azure wide
  • 60. Billing instrument</li></ul>Has one or more<br />Server<br /><ul><li>Database metadata
  • 61. Unit of authorization
  • 62. Unit of geo-location</li></ul>Has one or more<br />Database<br /><ul><li>Unit of consistency
  • 63. Contains Users, Tables, Views, etc…</li></li></ul><li>Logical User Databases<br /><ul><li>Uses shared infrastructure at SQL database and below
  • 64. Each user database is replicated to one or more servers (configurable based on SLA)
  • 65. Client requests are routed to current “primary server” for read and write operations (based on SQL session)
  • 66. Security, lockdown and isolation enforced in SQL tier
  • 67. Highly scalable and state-of-the-art HA technology
  • 68. Automatic failure detection; client request re-routed to new primary on failure
  • 69. High SLA guarantee using logical replication (hot standby replicas)
  • 70. Automatic management, self-healing and load balancing across shared resource pool
  • 71. SQL Azure Database provides provisioning, metering and billing infrastructure</li></ul>Machine 5<br />Machine 6<br />Machine 4<br />SQL Instance<br />SQL Instance<br />SQL Instance<br />SQL DB<br />SQL DB<br />SQL DB<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 />DBA role will change to focus on policy/logical management<br />Scalability and Availability: Fabric, Failover, Replication, and Load balancing<br />
  • 72. Security and Connection Models<br />Security<br /><ul><li>Uses regular SQL security model
  • 73. Authenticate logins, map to users and roles
  • 74. Authorize users and roles to SQL objects
  • 75. Supports standard SQL logins
  • 76. Logins are username + password strings
  • 77. Service enforces use of SSL to secure credentials
  • 78. Future support for AD Federation, WLID, etc as alternate authentication protocols</li></ul>Connections<br /><ul><li>Connect using common client libraries
  • 79. ADO.NET, OLE DB, ODBC, etc.
  • 80. Clients connect to a database directly
  • 81. Cannot hop across DBs
  • 82. Large surface of SQL supported within the database boundary
  • 83. Future work will relax many of these constraints</li></li></ul><li>Provisioning Model<br /><ul><li>Account and server provisioning
  • 84. Portal and API based access
  • 85. Ex: enumerate my servers, show server usage metrics, etc
  • 86. Each account has one or more servers
  • 87. Ex:
  • 88. Each server has a virtual master database
  • 89. Has subset of SQL Server master DB interface
  • 90. Each server has one or more SQL logins
  • 91. System creates sysadmin login on “server creation”
  • 92. Databases created using “CREATE DATABASE”
  • 93. Can be called by sysadmin or anyone with create DB permission</li></ul>*<br />*<br />
  • 94. Compatibility with SQL Server<br /><ul><li>SQL Server has many patterns for accomplishing tasks
  • 95. SQL Azure supports a subset of SQL Server patterns
  • 96. Focus on logical and policy based administration
  • 97. Patterns work in both SQL Azure & SQL Server
  • 98. Enables migration of on-premise application to/from SQL Azure
  • 99. SQL Azure Database is a multi-tenant service
  • 100. Throttling and load balancing policies
  • 101. Examples: limit on DB size, duration of transaction, …</li></ul>V1 Goal: Address the needs of 95% or more web and departmental applications<br />In Scope for v1<br />Out of Scope for v1<br /><ul><li>CLR
  • 102. Service Broker
  • 103. Distributed Transactions
  • 104. Distributed Query
  • 105. Spatial
  • 106. All server level DDL
  • 107. All physical DDL and physical catalog views
  • 108. Create/Alter/Drop on Database/Index/View
  • 109. Stored Procedures (Transact-SQL)
  • 110. Triggers
  • 111. Constraints
  • 112. Table variables, session temp tables (#t)
  • 113. + lots of others</li></li></ul><li>SQL Azure Database Customer Scenarios<br />Departmental Applications<br />Web Applications<br />Departmental workgroup applications with low concurrency and cyclical usage patterns<br />Small customers or start ups with Web applications of all scale that have simple RDBMS needs<br />Data Hubs<br />ISV/SaaS Offerings<br />Secure data hubs that consolidate multiple data sources and enable access from multiple locations and devices<br />Traditional ISVs extending offering or selling software hosted in the cloud (including SaaS ISVs)<br />
  • 114. SQL Data Services Roadmap<br />Internal Adoption<br />Invitation SQL Azure CTP <br />Commercial Availability<br />Invitation Azure CTP <br />MIX 2009<br />WWPC 2009<br />TechEd 2009<br />PDC<br />2009<br />Mar 09<br />May 09<br />Jul 09<br />Nov 09<br />Sep 09<br />Apr 09<br />Jun 09<br />Aug 09<br />Oct 09<br />
  • 115. Key Takeaways<br /><ul><li>SQL Azure Database is real and in production with Microsoft enterprise services
  • 116. We are accelerating delivery of relational database service – PDC ‘09
  • 117. Ecosystem of tools; existing skills and knowledge
  • 118. Majority of web and workgroup apps work as-is
  • 119. Support for open source client libraries
  • 120. Integration between on/off-premises: Extending SQL data platform to the cloud
  • 121. Relational database is key capability of the Windows Azure Platform
  • 122. Zero-friction integration with Windows Azure
  • 123. Enables compelling scenarios on the Azure platform
  • 124. SQL Azure design and architecture supports a wide range of scenarios
  • 125. SQL Azure Database platform investments deliver proven value on top of SQL engine
  • 126. From very cheap and highly-consolidated to still inexpensive and highly-isolated</li></li></ul><li>Software + Services Architecture<br />“When you combine the ever-growing power of devices and the increasing ubiquity of the Web, you come up with a sum that is greater than its parts.” <br />—RAY OZZIE<br />THREE CORE PRINCIPLES:<br />Experiences should span beyond a single device<br />Infrastructure and solutions should extend from the server to the Cloud<br />Tightly coupled systems should give way to federations of cooperating systems and loosely coupled compositions <br />
  • 127. NEXT UP:<br />Pricing<br />
  • 128. Consumption<br />Subscription<br />Volume licensing<br />“Value for a commitment”<br />“Coordinated purchasing”<br />“Pay as you go and grow”<br />Planned for post PDC<br />Select offers at PDC<br />Available at PDC launch<br /><ul><li>Discounts for commitment
  • 129. Plans for paymentpredictability
  • 130. Unified purchasing through EA
  • 131. Introduction to volumediscount
  • 132. Low barrier to entry and flexibility
  • 133. Optimized for Cloudelasticity </li></ul>Windows Azure Purchasing Models<br />
  • 134. Windows Azure Pricing Meters<br />COMPUTE<br />STORAGE<br />BANDWIDTH<br />Virtual Machine instances<br />Load balancers, routers, etc.<br />Relational DB instances<br />Automated service management <br /><ul><li>Fabric controller operations (deploy/upgrade/delete/scale)
  • 135. Load balancer programming</li></ul>Blob Storage<br />Table Storage<br />Multiple replicas<br />Ingress/Egress (to/from internet only)<br />PRICE<br />$0.12 / hour<br />PRICE<br />$0.15 / GB stored / month<br />Storage transactions: $0.01 / 10k<br />PRICE<br />Bandwidth: $0.10 IN; $0.15 OUT; / GB<br />
  • 136. Windows Azure Platform Service Guarantee<br />Storage servicewill be available/ reachable (connectivity)<br />Your storage requests willbe processed successfully<br />.NET Service Bus endpoint willhave external connectivity<br />Message operation requests willbe processed successfully<br />Serviceavailability<br />Storage availability<br />Database availability<br />Role instance monitoring and restart<br />Compute connectivity<br />Your service is connected and reachable via web<br />Internet facing roles will have external connectivity<br />Database is connected to the internet gateway <br />Availability monitoring every 5-minute interval<br />All runningroles will be continuously monitored<br />If role is unhealthy, we will detect and initiate corrective state<br />Automated Systems Management<br />&gt;99.9%<br />&gt;99.95%<br />&gt;99.9%<br />&gt;99.9%<br />
  • 137. Windows Azure Platform Roadmap<br />Rich Service Templates<br />Multiple Geo Locations<br />Multiple Languages<br />Full Trust<br />Active Directory and Web ID<br />Relational & Virtualized Database <br />Auto DB Management<br />Simple Service Templates<br />One Geo<br />ASP.NET<br />Medium Trust<br />Automated service management<br />Service Bus, Access Control<br />Admin Mode/VM Deployment<br />Geo Replication<br />Systems Center Integration<br />Enterprise ID Federation<br />Distributed Queries & CLR<br />Analytics & reporting<br />Data Synch (DataHub)<br />CTP<br />Future<br />Commercial release<br />
  • 138. Technology<br />innovation<br />Partner<br />ecosystem<br />Power<br />of choice<br />Developer<br />Why Microsoft<br />“IDC sees the launch of Windows Azure and Windows Azure platform as a first step in a long evolutionary path that customers will take moving them from today’s self-hosted IT to consuming a hybrid of both internally and externally hosted services, and if so desired, could eventually support a fully outsourced model.”<br />—IDC Insight, Microsoft Unveils Cloud Services Strategy and the Windows Azure platform: <br /> Managing Customer Expectations and Competitive Pressures as Solution Evolves Is Key, Nov 2008, Doc #215034<br />
  • 139. NEXT STEPS<br />Sign up for Windows Azure and SQL Azure:<br /><br /><br />Take a look at:<br />Windows Azure & SQL Azure access<br />Developer tools <br />White papers<br />Sample applications<br />