Microsoft cloud 101


Published on

Published in: Technology
  • 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

No notes for slide
  • From Directions on Microsoft: Chicago class. Named for the facility under way in Northlake, a suburb of Chicago, this type of data center is optimized for massive scale. Instead of using racks of servers, this facility is designed to accept shipping containers, each filled with approximately 2,500 servers, designed to a Microsoft specification and known internally as "Cblox." (For a photo of the interior of such a container, see "Inside a Data Center Container".) The building is designed like a parking garage, with spaces for semitrailers carrying containers. A single connector on the outside of the shipping container links its computers to a "spine" that contains connections for power, network, and cooling. This allows a Chicago-class facility to have hundreds of thousands of servers, with one employee on site for approximately every 30,000 servers. When a certain percentage of the servers in a particular container are offline or obsolete, Microsoft will decommission the entire container of 2,500 servers—a process that could take months in a Quincy-class facility will take approximately one hour in a Chicago-class facility. This ease of replacement will also allow Microsoft to improve energy efficiency over time, as new container designs will include more servers and more efficient cooling systems.
  • Microsoft cloud 101

    1. 1. Microsoft Cloud 101 Bill Zack, Architect Evangelist, Microsoft Blog:
    2. 2. In case we don’t get to it  learn more at the New York Windows Azure User Group Windows Azure: Application Model & Roles, Cloud Storage, Health Monitoring SQL Services: SQL Data Services, Queries, Sync .NET Services: Internet Service Bus , Access Control , Workflow Live Services: Live ID, Live Mesh Every 4th Monday
    3. 3. Additional Resources The Azure Services Portal The Documentation Library
    4. 4. Who is the Azure™ Services Platform for? Anyone building scalable available services Entrepreneurs ISVs (large and small) Web startups Hobbyists etc.
    5. 5. Why should I bet my business on it? Consumption-based model (TBA Summer 09) You pay only for what you use No minimum or long term commitment An inexpensive way to experiment Easy to grow as your business grows Managed elastic capacity and scalability Simpler operating and management environment for developers Integrates well with on-premises applications and services Leverages existing technology investments and skills
    6. 6. Sounds great! What should I do next? Download the Visual Studio tools & SDK Develop and test locally Start experimenting now Get access to the real Cloud Sign up for an account Deploy your application to the cloud Test it out Give us feedback! Help us “shape the cloud” 
    7. 7. Microsoft Cloud Services Overview Three categories: Online (+) Live Azure Services Platform
    8. 8. Online + Microsoft or partner hosted versions of onpremise software. Most carry “Online” moniker. (Some do not ) Hosted services include: Exchange Online and Exchange Hosted Services SharePoint Online Office Communications Online (not available yet) Live Meeting Dynamics CRM Online
    9. 9. Live Large set of Microsoft based services Subscribed to by an Aggregator (which could also be Microsoft as in the case of the Windows Live portal For adding functionality to web sites the Aggregators offers up to Internet clients.
    10. 10. Azure Services Platform Used to build distributed applications and data which may involve on-premise and cloud based components. It provides: Cloud based Execution of ASP.NET and batch applications Multiple Storage types, Database, Internet message relay and pub/sub Workflow
    11. 11. Azure™ Services Platform Windows® Azure™ (Cloud OS) Service Management Compute Essential Storage Developer Experience SQL Services SQL Data Services .NET Services Access Control Service Bus Workflow 12
    12. 12. Windows Azure Service Management Massive scale Compute & Storage “Fabric” Hundreds / thousands of server nodes Upward / downward scalability Availability & Durability Fault Domains Update Domains Geo-Distribution
    13. 13. Windows Azure Service Management You focus on your Business Logic We provide “Enlightened Mode” (managed) VMs We handle Automated Service Management Manage services not machines! Declarative specification (model) Image multi-cast deployment & upgrade Auto scale-out of instances Configuration, Health, Alerts, Usage/Billing, SLA Some programming limitations exist
    14. 14. Provisioning Services 15
    15. 15. Windows Azure Compute Processing Roles (Front End, Back-End) Web Worker Web + Worker Instances Scalability Distribution Lean OS & Hypervisor based Supports Managed and Unmanaged code
    16. 16. Windows Azure Web Role LB n Front End Role API Configuration Store n identical instances of a single role Ex: Highly scalable web application
    17. 17. Windows Azure Web and Worker Roles LB n Front End Role m Queue Back End Role API API Configuration Configuration Store Queue enables async, reliable processing Ex: Video encoding application
    18. 18. Windows Azure Storage Massive scale and low cost Durable, available, scalable and secure Redundant copies, commodity hardware, layered architecture Blobs: Simple interface for storing named files along with metadata for the file Tables: Structured storage. A set of entities, which contain a set of properties. Partitonable Queues: Reliable storage and delivery of messages for an application
    19. 19. Windows Azure Storage: Blobs Store Large Objects (up to 50 GB each) Account/Container/Blob/Block naming Standard REST Put/Get Interface PutBlob(BlobName, stream, size) Overwrites the existing blob by that name GetBlob(BlobName, starting offset, length) DeleteBlob(BlobName) Associate Metadata with Blob Metadata is <name, typed value> pairs Set/Get with or separate from blob data bits Up to 8KB per blob
    20. 20. Streaming a Blob via Blocks Uploading a Large Blob blobName = “MyMovie”; Benefit: • Efficient continuation and retry • Parallel and out of order upload of blocks PutBlock(blobName, blockId1, block1Bits); PutBlock(blobName, blockId2, block2Bits); Block Id N Block Id 3 Block Id 2 Block Id 1 10 GB Movie ………… PutBlock(blobName, blockIdN, blockNBits); PutBlockList(blobName, blockId1,…,blockIdN); MyMovie Windows Azure Storage 22
    21. 21. Windows Azure Storage: Tables
    22. 22. Windows Azure Storage: Tables Structured storage in the form of Tables A Table is a set of entities (rows) An Entity is a set of properties (columns) Namespace Account Name – Table Name Entity (PartitionKey, RowKey) Table Name You give a unique name to each Table, which is scoped by Account An account can create many tables Focus is to provide Scalable Structured Storage via Tables Not a relational database (e.g., no foreign keys, no joins, etc)
    23. 23. Windows Azure Storage: Tables Your table can grow to be billions of entities (rows) and TBs of data The table may need to be spread across thousands of servers to handle traffic to that table Partitioning is how we spread the table out The Table’s entities are broken into partitions
    24. 24. Scaling Tables through Partitions Partition Key Document Name Row Key Version Column 3 Modification Time Column 4 State …… …. Column N Description Examples Doc V2.0 8/2/2007 Current …… …. Committed version Partition 1 Examples Doc V2.0.1 9/28/2007 Working Alice’s working version FAQ Doc V1.0 5/2/2007 Current Current committed version FAQ Doc V1.0.1 7/6/2007 Working Alice’s working version FAQ Doc V1.0.2 8/1/2007 Working Sally’s working version FAQ Doc V1.0.3 9/6/2007 Working Bob’s working version Partition 2 Table’s entities are broken up into Partitions Partition: set of entities with same partition key value PartitionKey – unique ID for the partition within the Table RowKey – unique ID for the row within the partition All Queries are sorted by Partition Key and then by Row Key Each partition can be served by different nodes 26
    25. 25. Why Partition? Entity Locality Entities in the same partition will be stored together for efficient querying and cache locality when accessing Table Throughput Table Storage automatically performs partition load balancing based upon the partition key Scale to meet the traffic needs of your application 27
    26. 26. Windows Azure: Queues Provides reliable queued message delivery Simple, asynchronous work dispatch via queues The programming semantics ensure that a message is retrieved at least once Queue access provided via REST Account can contain Queues Queue contains Messages URL: http://<Account><QueueName> Queues contain Messages Message Size <= 8 KB Messages can contain references to blob/table storage 28
    27. 27. Queues 29
    28. 28. Windows Azure Developer Experience Extends what you already know how to do! Leverages Visual Studio 3 New Templates Focus on Business Logic, and Leave the scalability and availability to us SDK has The Cloud in a Box! Emulated cloud services Spin up multiple Roles & Instances F5 debugging & breakpoints No Breakpoints in the real cloud! Logging/tracing to cloud based log files
    29. 29. Debugging SDK includes the Cloud “In a Box”. Emulated cloud services Spin up multiple Roles & Instances F5 debugging & breakpoints No Breakpoints in the real cloud! Logging/tracing to cloud based log files 31
    30. 30. Demo: The Cloud in a Box!
    31. 31. Windows Azure Development Fabric 33
    32. 32. Windows Azure Testing Modes
    33. 33. Deployment 36
    34. 34. SQL Services: SQL Data Services Standard T-SQL over TDS Managed SQL Server Fabric Supports most of what you are used to Relational Schema (Tables, Indexes & Views) Stored Procedures Triggers & Constraints Table Variables & Session Temp Tables Non-Distributed Transactions Connection string change: local to cloud There will be a per-DB max size limit
    35. 35. If Time Permits  we will talk about .NET Services Access Control Service [Internet] Service Bus Workflow
    36. 36. .NET Services: Access Control Svc Challenge Ensuring secure transactions for systems in disparate security domains is crucial but difficult to implement COMPANY C COMPANY A ADFS COMPANY B Secure Provides hosted identity and access services for organizations while allowing them to fully control it Federated & Flexible Next-generation AD access and federation services for organization and third-party applications Standards Based Claims based access control using secure tokens Based on standards such as WS-Trust, REST and SOAP
    37. 37. .NET Services: Service Bus Challenge Applications built in the cloud will need to span systems to talk to other third party apps or applications that are on premise APPLICATION D INTERNET SERVICE BUS APPLICATION A APPLICATION B APPLICATION C Federated Applications can connect securely across firewalls and org boundaries in a loosely coupled, federated manner Powerful Request - Response, and publish subscribe with multiple senders and receivers on a single rendezvous point Simple low footprint download built using standards such as HTTP, RSS, SOAP
    38. 38. Service Bus (WCF Relay Bindings) Identity Service Trust Authenticate Connectivity Service 3 Connect Open 4 2 1 Authenticate 5 Relayed Connection Client 6 Direct Connection (optional) Service 41
    39. 39. .NET Services: Workflow Challenge As activities are offloaded to the cloud, how do you do long running multi step activities driven by events Application C Visual Studio XAML Application B Application A Agility Enables you to create workflows without worrying about deployments Simplicity Uses similar programming model as on-premises workflows Federated Enables cross-organization and cross-trust domain workflows
    40. 40. Workflow (Update) Windows Workflow in the cloud! XOML only Restricted list of allowed activities Basic “process orchestration” between parties HttpReceive HttpSend ServiceBusSend XPathRead XPathUpdate Basic copy/paste deployment Can also be done via an API 43
    41. 41. Workflow 44
    42. 42. CTP Temporary Limitations (Updt) Only in one data center Access token expiration based on inactivity Quota based account suspension, but arrangements can be made for exceptions Support limited to: Forums Limited incident support 45
    43. 43. CTP Temporary Limitations (Updt) VMs provided 1 Core 1.9GHZ 2 GB memory 160 GB local storage (non-persistent) 2 role instances 8 VMs in simultaneous use per account 2 role instances x 2 roles x 2 tenants (staging and production). This will not be a limitation of the final release.
    44. 44. CTP Temporary Limitations (Repl) 50 GB of storage across all Authorities 1000 Containers per Authority 1 GB of Blob Entities per Container 100 MB of Flexible Entities per Container Each Blob Entity will be capped at 100mb
    45. 45. Sounds great! What should I do next? Download the Visual Studio tools & SDK Develop and test locally Start experimenting now Get access to the real Cloud Sign up for an account Deploy your application to the cloud Test it out Give us feedback! Help us “shape the cloud” 
    46. 46. Microsoft ® Your Potential, Our Passion