Session Review - Windows Azure In Depth
Simon Davies ( World Wide Technical Support Professional @ Microsoft )
Windows Azure Overview
- Is “An Operating System for the Data Center”
- Treat the data center as a machine
- Compute
- Virtualized compute environment based o Windows Server
- Storage
- Durable (Automatically Managed by Microsoft. Always have 3 copies for Disaster Recovery purposes)
- Scalable
- High Availability
- Network
- Automated network provision and management
- On Premise Connectivity
- Global Content Delivery Network (CDN)
- Management
- Automated
- Model Driven Management as a Service
- Resources
- Management
- Provisioning
- Monitoring
- Allows Developers to think their app and data only
Windows Azure In Depth
- Modeling Cloud Applications
- A could app is typically made up of different components
- Front End
- Middle Tier
- Backend storage
- Multiple instances of each for scalability and availability
- Windows Azure Service
- Windows Azure Hosts “Services”
- A service is
- An isolated boundary
- A set of component roles, each within endpoints
- At runtime numbered, identical instances of each role are created, each instance is a Virtual Machine
- All of this specified declaratively in the service model and configured at runtime using a service configuration
- What is a role?
- Definition
- Role Name
- Role Type
- VM Size
- Network Endpoints
- Code
- Web/Worker: Hosted DLL and other executable
- VM Role: VHD
- Configuration
- Number of instances
- Number of update and fault domains
- Example:
- Front-End Role
- Definition
- Type: Web
- VM Size: Small
- Endpoints: External 1
- Configuration
- Instances:2
- Update Domains: 2
- Fault Domains: 2
- Service Model Files
- Service Definition in in ServiceDefinition.csdef (Definition Part of the Role)
- Service Configuration is in ServiceConfiguration.cscfg (Configuration Part of the Role)
- CSPack, program that exists in the SDK, will zips a service binary into a package (Code Part of the Role)
- Compute Runtime Environment
- Fabric Controller talks to the Fabric Agent in order to configure and run the App
- Fabric Agent runs inside the Host OS and talks with the Windows Azure Agend in order to manage their configurations
- Each instance runs inside a Guest OS managed by the Host OS and is composed by
- Windows Azure Agent
- Windows Azure Compute
- YOUR APP
- Service Isolation
- Your Services are isolated from other services
- The Fabric Controller
- The “kernel” of the cloud operating system
- Manages datacenter hardware
- Manages Windows Azure Services
- Some of the main responsibilities
- Datacenter resource allocation
- Datacenter resource provisioning
- Managing Availability
- Upgrade Domains
- Default and Max Fault Domain is 5
- Vertical concept
- Fault Domains
- Default 2 Fault Domains
- Provisioning a role instance
- 3 VHDs are created
- Guest OS Image (D:\)
- Resource VHD (C:\)
- Role VHD (E:\ or the next available letter) = contains the package we deployed
- Fabric Controller Security
- The VM is the security boundary upon which Windows Azure security is based
- the host OS and FC agent are trusted
- The guest agent is untrusted
- Updating the OS
- Initiated by Windows Azure Team
- Goal: update all machines as quickly as possible
- Constraint: must not violate the SLA and so we need at least 2 instances in order not to have a outage of the service