Windows Azure


Published on

An overview of Windows Azure

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.
  • Windows Azure

    1. 1. Windows Azure Platform<br />John Alioto<br />Architect<br />Microsoft Corporation<br /><br />
    2. 2. What is cloud?<br />
    3. 3. Public Cloud<br />
    4. 4. Pool of computing resources offered by a vendor, typically using a “pay as you go” model<br />
    5. 5. Private Cloud<br />
    6. 6. Pool of computing resources that lives within a self-managed datacenter<br />
    7. 7. Defining Cloud<br />Application runs using cloud platform<br />Application runs <br />on-premises<br /><ul><li>Bring my own machines, connectivity, software, etc.
    8. 8. Complete control and responsibility
    9. 9. Upfront capital costs for the infrastructure</li></ul>Application runs at a hoster<br /><ul><li>Rent machines, connectivity, software
    10. 10. Less control, but fewer responsibilities
    11. 11. Lower capital costs, but pay for fixed capacity, even if idle
    12. 12. Shared
    13. 13. multi-tenant environment
    14. 14. Offers pool of computing resources, abstracted from infrastructure
    15. 15. Pay as you go</li></li></ul><li>Private<br />(On-Premise)<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<br />Types of Clouds<br />You manage<br />Applications<br />Applications<br />Applications<br />You manage<br />Runtimes<br />Runtimes<br />Runtimes<br />Security & Integration<br />Security & Integration<br />Security & Integration<br />Managed by vendor<br />Databases<br />Databases<br />Databases<br />You manage<br />Servers<br />Servers<br />Servers<br />Managed by vendor<br />Virtualization<br />Virtualization<br />Virtualization<br />Server HW<br />Server HW<br />Server HW<br />Storage<br />Storage<br />Storage<br />Networking<br />Networking<br />Networking<br />
    16. 16. Types of Clouds<br />Infrastructure as a Service (IaaS)<br />Your Application<br />Deployment<br />Runtimes<br />Web Server<br />Unit of Deployment<br />OS Services<br />Provided by<br />Windows Azure<br />Operating System<br />Provided<br />By<br />Amazon<br />EC2<br />Virtualized Instance<br />Hardware<br />
    17. 17. Types of Clouds<br />Platform as a Service (PaaS)<br />Your Application<br />Deployment<br />Unit of Deployment<br />Runtimes<br />Can swap out<br />Web Server<br />Provided by<br />Google<br />AppEngine<br />OS Services<br />Provided by<br />Windows Azure<br />Operating System<br />Virtualized Instance<br />Hardware<br />
    18. 18. Types of Clouds<br />Software as a Service (SaaS)<br />Your Application<br />Runtimes<br />Web Server<br />Provided<br />by<br />SaaS<br />OS Services<br />Operating System<br />Virtualized Instance<br />Hardware<br />
    19. 19. Control Versus Economy of Scale<br />Control<br />High<br />Low<br />Economy of Scale<br />Low<br />High<br />
    20. 20. This is Not New …<br />Build vs. Buy<br />Control<br />High<br />Low<br />Economy of Scale<br />Low<br />High<br />
    21. 21. This is New …<br />On Premises vs. In the Cloud<br />Control<br />High<br />Low<br />Economy of Scale<br />Low<br />High<br />
    22. 22. Fundamentals<br />How Microsoft Views the Cloud<br />Scale Out/In<br />Automated Service Management<br />High Availability<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 />
    23. 23. Sample Workloads for the Cloud<br />“On and Off”<br />“Growing Fast“ <br />Inactivity<br />Period <br />Compute <br />Compute <br />Average Usage<br />Usage<br />Average<br />Time <br />Time <br /><ul><li>On & off workloads (e.g. batch job)
    24. 24. Over provisioned capacity is wasted
    25. 25. Time to market can be cumbersome
    26. 26. Successful companies need to grow/scale
    27. 27. Keeping up w/ growth is big IT challenge
    28. 28. 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
    29. 29. Sudden spike impacts performance
    30. 30. Can’t over provision for extreme cases
    31. 31. Services with micro seasonality trends
    32. 32. Peaks due to periodic increased demand
    33. 33. IT complexity and wasted capacity </li></li></ul><li>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 />
    34. 34. 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 />
    35. 35. Categories of Services<br />Application Services<br />Software Services<br />Platform Services<br />Infrastructure Services<br />The Microsoft Cloud<br />
    36. 36. The Microsoft Cloud<br />~100 Globally Distributed Data Centers<br />Quincy, WA<br />Chicago, IL<br />San Antonio, TX<br />Dublin, Ireland<br />Generation 4 DCs<br />
    37. 37. Large Scale Datacenters<br />
    38. 38. The Microsoft Cloud<br />Data Center Infrastructure<br />
    39. 39. 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 />
    40. 40. 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 />
    41. 41. 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 />
    42. 42. 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 />
    43. 43. 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 />
    44. 44. 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 />
    45. 45. 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 />
    46. 46. Deeper Dive into Architectures (Future)<br />
    47. 47. Thank you<br /><br /><br />© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.<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 />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.