olavt@microsoft.com Packaged Software Software Applications Applications Data Data Runtime Runtime Runtime Middleware Middleware Middleware Middleware O/S O/S O/S Virtualization Virtualization Servers Servers Storage Storage Networking Networking Runtime Data You manage You manage Data Applications Managed by vendor Virtualization Servers O/S Virtualization Servers Storage Storage Networking Networking Managed by vendor (as a Service) Managed by vendor (as a Service) (as a Service) Applications You manage Platform Infrastructure Your App Change Connection String SQL Azure TDS Service Definition Fabric Controller X X X Fabric IT Pro Deployment Monitoring myapp.cloudapp.net <guid>.cloudapp.net Extending SQL Server to the Cloud VIP Swap Deployment Rolling Upgrade VIP Swap myapp.cloudapp.net <guid>.cloudapp.net Fabric Controller Role instance 1 Role instance 2 Role instance 3 Rolling Upgrade Role instance 4 Fabric Controller Upgrading Role Role instance 2 Role instance 3 Role instance 4 Fabric Controller Upgraded Role 1 Upgrading Role Role instance 3 Role instance 4 Fabric Controller Upgraded Role 1 Upgraded Role 2 Upgraded Role 3 Upgraded Role 4 You can upgrade a single role, and not have to upgrade the whole service So your service remains available You can have ‘stateful’ things going on in the background TheviaInternet The Internet TCP or HTTP LB LB LB Queues WebSite Site Web Web RoleWCF) (ASPX, ASMX, Worker Role WorkerService Service Worker Managed Interface (ASPX, ASMX, WCF) IIS as Host Call Tables Storage Blobs Windows Azure Data Center Worker Role Web Role Size CPU Cores RAM Local Storage Cost Small 1 1.7GB 250GB 1x Medium 2 3.5GB 500GB 2x Large 4 7GB 1000GB 4x Extra large 8 15GB 2000GB 8x http://<account>.blob.core.windows.net/<container>/<blobname> Account Container Blob Pages/ Blocks PIC01.JPG images Block/Page PIC02.JPG contoso Block/Page videos VID1.AVI Input Queue (Work Items) Queue Account Table Entity Name =… Email = … customers Name =… EMailAdd= … contoso Photo ID =… Date =… photos Photo ID =… Date =… PartitionKey PartitionKey (Category) (Category) RowKey RowKey (Title) (Title) Timestamp Timestamp ModelYear ModelYear Bikes Super Duper Cycle … 2009 Bikes Bikes … … Canoes Canoes Canoes Canoes Quick Quick Cycle Cycle 200 200 Deluxe Deluxe … … 2007 2007 … … Whitewater Whitewater Flatwater Flatwater … … … … … … … … 2009 2009 2006 2006 PartitionKey Rafts (Category) …Timestamp ModelYear 1999 … Rafts RowKey 14ft Super Tourer (Title) … Super Tourer 14ft …… … 1999 Skis … Fabrikam Back Trackers … …… 2009 … Skis … … Tents Fabrikam Back Trackers … …… 2009 … … Super Palace Super Palace … … … … 2008 2008 Tents Poll Interval Role Instance Role Diagnostic Monitor Local directory storage