Inside Windows Azure (Mark Russinovich)

More From This Author
See More

Windows Phone 7 Development (Jeff Wilcox)
Windows Phone 7 Development (Jeff...

In this session, Jeff Wilcox highlights the key strategies and tactics that he uses to develop Win Phone 7 apps -- including this blockbuster app 4th & Mayor

MVC3 (Scott Guthrie)
MVC3 (Scott Guthrie)

In this session, Scott Guthrie shares some insights about MVC 3 including newly released and upcoming features.

State of the Union (Scott Guthrie)
State of the Union (Scott Guthrie)

In this session, Scott Guthrie provides an overview of new and upcoming changes to the .NET ecosystem

Transcript

  1. Inside Windows Azure:The Cloud Operating System

    Inside Windows Azure:The Cloud Operating System Mark RussinovichTechnical FellowWindows Azure

    Presenter's Notes: 1

  2. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 2

  3. What is a Cloud?

    What is a Cloud? Cloud: on-demand, scalable, multi-tenant, self-service compute resources

    Presenter's Notes: 3

  4. What is a Cloud?

    What is a Cloud? Cloud: on-demand, scalable, multi-tenant, self-service compute resources

    Presenter's Notes: 4

  5. Types of Clouds

    Types of Clouds Infrastructure as a Service (IaaS): basic compute and storage resourcesOn-demand serversAmazon EC2, VMWare vCloudHosted Hyper-VPlatform as a Service (PaaS): cloud application infrastructureOn-demand application-hosting environmentE.g. Google AppEngine, Salesforce.com, Windows AzureSoftware as a Service (SaaS): cloud applicationsOn-demand applicationsE.g. Office 365, gmail, Microsoft Office Web Companions

    Presenter's Notes: 5

  6. The Benefits of the Cloud

    The Benefits of the Cloud As you move right, you loose control, but gain efficiency Windows Azure

    Presenter's Notes: 6

  7. Windows Azure

    Windows Azure Windows Azure is an OS for the data centerModel: Treat the data center as a machineHandles resource management, provisioning, and monitoringManages application lifecycleAllows developers to concentrate on business logicProvides shared pool of compute, disk and networkVirtualized storage, compute and networkIllusion of boundless resourcesProvides common building blocks for distributed applicationsReliable queuing, simple structured storage, SQL storageApplication services like access control and connectivity

    Presenter's Notes: 7

  8. Windows Azure Application Philosophy: Design for...

    Windows Azure Application Philosophy: Design for Failure Scale out for redundancyShort-time outs with retriesIdempotent operationsStateless with persistent external storage

    Presenter's Notes: 8

  9. Windows Azure Application Platform

    Windows Azure Application Platform

    Presenter's Notes: 9

  10. Windows Azure Application Characteristics

    Windows Azure Application Characteristics

    Presenter's Notes: 10

  11. Windows Azure Application Characteristics

    Windows Azure Application Characteristics Windows Azure

    Presenter's Notes: 11

  12. Windows Azure Platform Building Blocks

    Windows Azure Platform Building Blocks Windows Azure ComputeWindows Azure StorageBLOBsTablesQueuesWindows Azure CDNSQL AzureAppFabric PaaS Middleware ServicesAppFabric CachingAppFabric Service BusAppFabric Access Control Server

    Presenter's Notes: 12

  13. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 13

  14. Modeling Cloud Applications

    Modeling Cloud Applications A cloud application is typically made up of different tiersFront end: e.g. load-balanced stateless web serversMiddle worker tier: e.g. order processing, encodingBackend storage: e.g. SQL tables or filesMultiple instances of each for scalability and availability Front-End Marks Cloud Application Front-End HTTP/HTTPS WindowsAzureStorage,SQL Azure Load Balancer Middle-Tier

    Presenter's Notes: 14

  15. The Windows Azure Service Model

    The Windows Azure Service Model A Windows Azure application is called a serviceDefinition informationConfiguration informationAt least one roleRoles are like DLLs in the service processCollection of code with an entry point that runs in its own virtual machineThere are currently three role types:Web Role: IIS7 and ASP.NET in Windows Azure-supplied OSWorker Role: arbitrary code in Windows Azure-supplied OSVM Role: uploaded VHD with customer-supplied OS

    Presenter's Notes: 15

  16. VM Role

    VM Role VM Role is a Hyper-V VHD that you uploadYou bring the OSThe application is configured and installedLike Web and Worker Roles, it is statelessFor scale-out availability and capacityConfiguration and application state stored locally can be lostSo what good is it?Long installationFragile installationManual configurationDownside: OS maintenance is your responsibility

    Presenter's Notes: 16

  17. Role Contents

    Role Contents Definition: Role nameRole typeVM size (e.g. small, medium, etc.)Network endpointsCode: Web/Worker Role: Hosted DLL and other executablesVM Role: VHDConfiguration:Number of instancesNumber of update and fault domains

    Presenter's Notes: 17

  18. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-1 Front-End-2 Update Domain 1 Update Domain 2 Middle Tier-1 Middle Tier-2 Middle Tier-3 Update Domain 3 Middle Tier-3 Front-End-2 Front-End-1 Middle Tier-2 Middle Tier-1

    Presenter's Notes: 18

  19. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-2 Update Domain 1 Update Domain 2 Middle Tier-2 Middle Tier-3 Update Domain 3 Middle Tier-3 Front-End-2 Front-End-1 Middle Tier-2 Middle Tier-1

    Presenter's Notes: 19

  20. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-1 Front-End-2 Update Domain 1 Update Domain 2 Middle Tier-1 Middle Tier-2 Middle Tier-3 Update Domain 3 Middle Tier-3 Front-End-2 Middle Tier-2

    Presenter's Notes: 20

  21. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-1 Update Domain 1 Update Domain 2 Middle Tier-1 Middle Tier-3 Update Domain 3 Middle Tier-3 Front-End-2 Middle Tier-2

    Presenter's Notes: 21

  22. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-1 Front-End-2 Update Domain 1 Update Domain 2 Middle Tier-1 Middle Tier-2 Middle Tier-3 Update Domain 3 Middle Tier-3

    Presenter's Notes: 22

  23. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-1 Front-End-2 Update Domain 1 Update Domain 2 Middle Tier-1 Middle Tier-2 Update Domain 3 Middle Tier-3

    Presenter's Notes: 23

  24. Availability: Update Domains

    Availability: Update Domains Purpose: Ensure service stays up while updating and Windows Azure OS updatesSystem considers update domains when upgrading a service1/Update domains = percent of service that will be offlineDefault and max is 5, but you can override with upgradeDomainCount service definition propertyThe Windows Azure SLA is based on at least two update domains and two role instances in each role Front-End-1 Front-End-2 Update Domain 1 Update Domain 2 Middle Tier-1 Middle Tier-2 Middle Tier-3 Update Domain 3

    Presenter's Notes: 24

  25. Availability: Fault Domains

    Availability:  Fault Domains Purpose: Avoid single points of failuresSimilar concept to update domainsBut you dont control the updatesUnit of failure based on data center topologyE.g. top-of-rack switch on a rack of machinesWindows Azure considers fault domains when allocating service roles2 fault domains per serviceWill try and spread roles out across moreE.g. dont put all roles in same rack Front-End-1 Fault Domain 1 Fault Domain 2 Front-End-2 Middle Tier-2 Middle Tier-1 Fault Domain 3 Middle Tier-3

    Presenter's Notes: 25

  26. Service Model Files

    Service Model Files Service definition is in ServiceDefinition.csdefService configuration is in ServiceConfiguration.cscfgCSPack program Zips service binaries and definition into service package file (service.cscfg)

    Presenter's Notes: 26

  27. Deploying a Service to the Cloud:The 10,000 foot...

    RDFEService Portal Service US-North Central Datacenter Deploying a Service to the Cloud:The 10,000 foot view Service package uploaded to portal FC Service

    Presenter's Notes: 27

  28. Deploying a Service to the Cloud:The 10,000 foot...

    RDFEService Portal Service US-North Central Datacenter Deploying a Service to the Cloud:The 10,000 foot view Service package uploaded to portalWindows Azure Portal Service passes service package to Red Dog Front End (RDFE) Azure serviceRDFE converts service package to native RD version FC Service

    Presenter's Notes: 28

  29. Deploying a Service to the Cloud:The 10,000 foot...

    RDFEService Portal Service US-North Central Datacenter Deploying a Service to the Cloud:The 10,000 foot view Service package uploaded to portalWindows Azure Portal Service passes service package to Red Dog Front End (RDFE) Azure serviceRDFE converts service package to native RD versionRDFE sends service to Fabric Controller (FC) based on target region FC Service

    Presenter's Notes: 29

  30. Deploying a Service to the Cloud:The 10,000 foot...

    RDFEService Portal Service US-North Central Datacenter Deploying a Service to the Cloud:The 10,000 foot view Service package uploaded to portalWindows Azure Portal Service passes service package to Red Dog Front End (RDFE) Azure serviceRDFE converts service package to native RD versionRDFE sends service to Fabric Controller (FC) based on target regionFC stores image in repository and deploys and activates service FC Service

    Presenter's Notes: 30

  31. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 31

  32. The Fabric Controller (FC)

    The Fabric Controller (FC) The kernel of the cloud operating systemManages datacenter hardwareManages Windows Azure servicesFour main responsibilities:Datacenter resource allocationDatacenter resource provisioningService lifecycle managementService health managementInputs:Description of the hardware and network resources it will controlService model and binaries for cloud applications

    Presenter's Notes: 32

  33. Sidebar: Whats with all these Fabrics?

    Sidebar: Whats with all these Fabrics? The Windows Azure Fabric Controller is totally, completely, unrelated to AppFabricAppFabric is a brand that encompasses:Windows Server AppFabric: a set of components for building composite applications based on Windows Communication Foundation and Windows WorkflowWindows Azure AppFabric: Cloud services for connecting cloud and on-premise applications AppFabric Access Control Server AppFabric Service BusAppFabric CacheBuilt as Windows Azure services

    Presenter's Notes: 33

  34. Datacenter Architecture

    Datacenter Architecture TOR LB LB Agg PDU LB LB Agg LB LB Agg LB LB Agg LB LB Agg LB LB Agg Racks Datacenter Routers Aggregation Routers andLoad Balancers TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU TOR PDU      Top of RackSwitches Power Distribution Units  Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes

    Presenter's Notes: Should there also be boxes below the 2nd from the right LB-Agg-LB unit? 34

  35. Windows Azure Datacenters

    Windows Azure Datacenters

    Presenter's Notes: 35

  36. High-Level FC Architecture

    High-Level FC Architecture FC is a distributed, stateful application running on nodes (blades) spread across fault domains Installed by Utility Fabric ControllerOne acts as the primary and all others keep view of world in syncSupports rolling upgrade, and services continue to run even if FC fails entirely Nodes Rack

    Presenter's Notes: 36

  37. Provisioning a Node (Blade)

    Provisioning a Node (Blade) Fabric Controller RoleImages RoleImages RoleImages RoleImages Image Repository Maintenance OS Parent OS Node PXEServer Maintenance OS Windows AzureOS

    Presenter's Notes: 37

  38. Provisioning a Node (Blade)

    Provisioning a Node (Blade) Power on node Fabric Controller RoleImages RoleImages RoleImages RoleImages Image Repository Maintenance OS Parent OS Node PXEServer Maintenance OS Windows AzureOS

    Presenter's Notes: 38

  39. Provisioning a Node (Blade)

    Provisioning a Node (Blade) Power on nodePXE-boot Maintenance OS Fabric Controller RoleImages RoleImages RoleImages RoleImages Image Repository Maintenance OS Parent OS Node PXEServer Maintenance OS Windows AzureOS

    Presenter's Notes: 39

  40. Provisioning a Node (Blade)

    Provisioning a Node (Blade) Power on nodePXE-boot Maintenance OSAgent formats disk and downloads Host OS Fabric Controller RoleImages RoleImages RoleImages RoleImages Image Repository Maintenance OS Parent OS Node PXEServer Maintenance OS Windows AzureOS Maintenance OS

    Presenter's Notes: 40

  41. Provisioning a Node (Blade)

    Provisioning a Node (Blade) Power on nodePXE-boot Maintenance OSAgent formats disk and downloads Host OSHost OS boots, runs Sysprep /specialize, reboots Fabric Controller RoleImages RoleImages RoleImages RoleImages Image Repository Maintenance OS Parent OS Node PXEServer Maintenance OS Windows AzureOS

    Presenter's Notes: 41

  42. Provisioning a Node (Blade)

    Provisioning a Node (Blade) Power on nodePXE-boot Maintenance OSAgent formats disk and downloads Host OSHost OS boots, runs Sysprep /specialize, rebootsFC connects with the Host Agent Fabric Controller RoleImages RoleImages RoleImages RoleImages Image Repository Maintenance OS Parent OS Node PXEServer Maintenance OS Windows AzureOS

    Presenter's Notes: 42

  43. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 43

  44. Service Deployment Steps

    Service Deployment Steps Process service model filesDetermine resource requirementsCreate role imagesAllocate compute and network resourcesPrepare nodesPlace role images on nodesCreate virtual machinesStart virtual machines and rolesConfigure networkingDynamic IP addresses (DIPs) assigned to bladesVirtual IP addresses (VIPs) allocated and mapped to sets of DIPsPrograms load balancers to allow trafficRound-robin routing1-minute timeout

    Presenter's Notes: 44

  45. Service Resource Allocation

    Service Resource Allocation Goal: allocate service components to available resources while satisfying all hard constraints HW requirements: CPU, Memory, Storage, NetFault domainsSecondary goal: Satisfy soft constraints Prefer allocations which will simplify servicing the host OS/hypervisor: pick nodes that already have instances from the same update domainOptimize network proximity: pack nodesService allocation produces the goal state for the resources assigned to the service componentsNode and VM configuration (OS, hosting environment)Images and configuration files to deployProcesses to startService allocation also allocates network resources such as LB and VIPs

    Presenter's Notes: 45

  46. Example Service Allocation

    Example Service Allocation Role BCount: 2Update Domains: 2Fault Domains: 2Size: Medium Role ACount: 3Update Domains: 2Fault Domains: 2Size: Large Fault Domain 1 Fault Domain 2 Fault Domain 3 LoadBalancer www.mycloudapp.net www.mycloudapp.net

    Presenter's Notes: 46

  47. Example Service Allocation

    Example Service Allocation Role BCount: 2Update Domains: 2Fault Domains: 2Size: Medium Role ACount: 3Update Domains: 2Fault Domains: 2Size: Large Fault Domain 1 Fault Domain 2 Fault Domain 3 LoadBalancer www.mycloudapp.net www.mycloudapp.net

    Presenter's Notes: 47

  48. Example Service Allocation

    Example Service Allocation Role BCount: 2Update Domains: 2Fault Domains: 2Size: Medium Role ACount: 3Update Domains: 2Fault Domains: 2Size: Large Fault Domain 1 Fault Domain 2 Fault Domain 3 LoadBalancer www.mycloudapp.net www.mycloudapp.net

    Presenter's Notes: 48

  49. Example Service Allocation

    Example Service Allocation Role BCount: 2Update Domains: 2Fault Domains: 2Size: Medium Role ACount: 3Update Domains: 2Fault Domains: 2Size: Large Fault Domain 1 Fault Domain 2 Fault Domain 3 LoadBalancer 10.100.0.36 10.100.0.122 www.mycloudapp.net www.mycloudapp.net

    Presenter's Notes: 49

  50. Provisioning a Role Instance

    Provisioning a Role Instance FC pushes role files and configuration information to target node host agentHost agent creates three VHDs:Differencing VHD for OS image (D:\)Host agent injects FC guest agent into VHD for Web/Worker rolesResource VHD for temporary files (C:\)Role VHD for role files (first available drive letter e.g. E:\, F:\)Host agent creates VM, attaches VHDs, and starts VMGuest agent starts role host, which calls role entry pointStarts health heartbeat to and gets commands from host agentLoad balancer only routes to external endpoint when it responds to simple HTTP GET (LB probe)

    Presenter's Notes: 50

  51. Provisioning VM Role Instances

    Provisioning VM Role Instances VM Role base and differencing VHD are stored in Windows Azure Storage blobsShadow versions are made when the originals are uploadedVHD reads all go through a VHD caching serviceReads come on-demand from the cacheWrites go to a secondary differencing VHDReimage simply deletes it and reboots Windows Azure Blob Storage Original Base VHD Original Differencing VHD Shadow Base VHD Shadow Differencing VHD RDFE VHD CachingService Base VHD Shadow Differencing VHD Secondary Differencing VHD Node

    Presenter's Notes: 51

  52. Inside a Node

    Inside a Node Fabric Controller (Primary) FC Host Agent(trusted) Host Partition Guest Partition Guest Agent Guest Partition Guest Agent Guest Partition Guest Agent Guest Partition Guest Agent Physical Node Fabric Controller (Replica) Fabric Controller (Replica)  Role Instance Role Instance Role Instance Role Instance Trust boundary 52

    Presenter's Notes: 52

  53. Inside a Role VM

    Inside a Role VM Guest Agent Role Host Role Entry Point

    Presenter's Notes: 53

  54. Fabric Controller Security

    Fabric Controller Security The VM is the security boundary upon which Windows Azure security is basedThe host OS and FC host agent are trustedThe guest agent is untrustedThe FC host agent ensures that the VM can only access IP addresses assigned to VMs of the same serviceAllows access to Internet addressesFC uses certificates and network security to authorize access to datacenter resources

    Presenter's Notes: 54

  55. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 55

  56. Update Types

    Update Types There are two update types:In-placeVIP swapIn-place update:Role instances upgraded one update domain at a timeYou can update a single roleTwo modes: automatic and manualVIP swap update:New version of service deployed, external VIP/DIP mapping swapped with old In-Place Update

    Presenter's Notes: 56

  57. Update Types

    Update Types There are two update types:In-placeVIP swapIn-place update:Role instances upgraded one update domain at a timeYou can update a single roleTwo modes: automatic and manualVIP swap update:New version of service deployed, external VIP/DIP mapping swapped with old Role AUD 1 Role BUD 1 In-Place Update

    Presenter's Notes: 57

  58. Update Types

    Update Types There are two update types:In-placeVIP swapIn-place update:Role instances upgraded one update domain at a timeYou can update a single roleTwo modes: automatic and manualVIP swap update:New version of service deployed, external VIP/DIP mapping swapped with old Role AUD 1 Role BUD 1 Role AUD 2 Role BUD 2 In-Place Update

    Presenter's Notes: 58

  59. Update Types

    Update Types There are two update types:In-placeVIP swapIn-place update:Role instances upgraded one update domain at a timeYou can update a single roleTwo modes: automatic and manualVIP swap update:New version of service deployed, external VIP/DIP mapping swapped with old Role AUD 1 Role BUD 1 Role AUD 2 Role BUD 2 LB In-Place Update VIP Swap Update

    Presenter's Notes: 59

  60. Update Types

    Update Types There are two update types:In-placeVIP swapIn-place update:Role instances upgraded one update domain at a timeYou can update a single roleTwo modes: automatic and manualVIP swap update:New version of service deployed, external VIP/DIP mapping swapped with old Role AUD 1 Role BUD 1 Role AUD 2 Role BUD 2 LB In-Place Update VIP Swap Update

    Presenter's Notes: 60

  61. Update Types

    Update Types There are two update types:In-placeVIP swapIn-place update:Role instances upgraded one update domain at a timeYou can update a single roleTwo modes: automatic and manualVIP swap update:New version of service deployed, external VIP/DIP mapping swapped with old Role AUD 1 Role BUD 1 Role AUD 2 Role BUD 2 LB In-Place Update VIP Swap Update

    Presenter's Notes: 61

  62. Update Type Characteristics

    Update Type Characteristics

    Presenter's Notes: 62

  63. In-Place Update Detail

    In-Place Update Detail FC deploys updated role files and configuration to all nodes in parallelPrepares new role instances:FC host agent creates new role VHDAttaches and mounts new role VHDStops old role instance:FC instructs guest agent to stop role instanceDismounts and detaches old role VHDStarts new role instances:Calls new role code entry pointConsiders role instance update successful when role code reports readyNote that resource volume is preserved updates of role instance

    Presenter's Notes: 63

  64. Management Protocol

    Management Protocol Allows services to coordinate with FC operationsStateful services: Windows Azure Storage, SQL AzureService may not want update to proceed until it verifies its own health and availabilityFabric informs role of update operationsWaits (with timeout) for positive response before proceedingNot available for external use at this time UD 0 UD 1 UD 2 UD 3 UD 4 Start Job Prepare UD Post UD End Job

    Presenter's Notes: 64

  65. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 65

  66. Updating the Host OS

    Updating the Host OS Initiated by the Windows Azure teamTypically no more than once per month Goal: update all machines as quickly as possibleConstraint: must not violate service SLAService needs at least two update domains and role instances for SLACant allow more than one update domain of any service to be offline at a timeNote: your role instance keeps the same VM and VHDs, preserving cached data in the resource volumeEssentially a graph coloring problemEdges exist between vertices (nodes) if the two nodes host instances of the same service role in different update domainsNodes that dont have edges between them can update in parallel

    Presenter's Notes: 66

  67. Example Allocations

    Example Allocations Both allocations are valid from the services point of viewAllocation 1 allows for 2 nodes rebooting simultaneouslyAllocation 2 allows only one node to be down at any timeHost OS upgrade rollout is 2x faster with allocation 1 Allocation 1 Allocation 2 Service BRole A-1UD 2 Service BRole A-1UD 1

    Presenter's Notes: 67

  68. Agenda

    Agenda Introduction to the CloudWindows Azure FundamentalsFabric Controller InternalsDeploying a ServiceUpdating a ServiceHost OS UpgradesService Healing

    Presenter's Notes: 68

  69. Node and Role Health Maintenance

    Node and Role Health Maintenance FC maintains service availability by monitoring the software and hardware healthBased primarily on heartbeats Automatically heals affected roles

    Presenter's Notes: 69

  70. Node Health Index

    Node Health Index Timeouts vary depending on node state and operationBased on heartbeats, which are typically 15 secondsUsed for status and recovery Health state sampler resets the index on successful pollOnce the index falls below zero, FC attempts to heal nodeFor example, host agent timeout is 10 minutesWorst-case reaction time is timeout interval + heartbeat interval NodeHealthIndex MissedHeartbeats Heartbeat Interval MissedHeartbeat RecoveryInitiated Heartbeat Timeout HealthTimeout Healthy

    Presenter's Notes: 70

  71. Guest Agent and Role Instance Heartbeats and...

    Guest Agent and Role Instance Heartbeats and Timeouts 25 min GuestAgentConnectTimeout Guest Agent Heartbeat 5s RoleInstanceLaunch Indefinite RoleInstanceStart RoleInstanceReady(for updates only) 15 min Role Instance Heartbeat 15s Guest Agent Heartbeat Timeout 10 min Role Instance Unresponsive Timeout30s Load Balancer Heartbeat 15s Load BalancerTimeout30s Guest Agent Role Instance

    Presenter's Notes: 71

  72. Moving a Role Instance (Service Healing)

    Moving a Role Instance (Service Healing) Moving a role instance is similar to a service updateOn source node:Role instances stoppedVMs stoppedNode reprovisioned On destination node:Same steps as initial role instance deploymentWarning: Resource VHD is not moved

    Presenter's Notes: 72

  73. Conclusion:

    Conclusion: Platform as a Service is all about reducing management and operations overheadThe Windows Azure Fabric Controller is the foundation for Windows Azures PaaSProvisions machinesDeploys servicesConfigures hardware for servicesMonitors service and hardware healthPerforms service healingThe Fabric Controller continues to evolve

    Presenter's Notes: 73

  74. Zero Day A Novel

    Zero Day  A Novel A novel about cyber-terrorism aimed at the WestSt. Martins Presswww.zerodaythebook.com

    Presenter's Notes: 74

Inside Windows Azure (Mark Russinovich)
In this session Mark Russinovich explains the architecture of Windows Azure and the magic that helps .NET developers scale in the cloud.