180 likes | 318 Views
Components of Windows Azure - more detail. Windows Azure Components. To be more precise:. Why Windows Azure?. Azure OS tak e care about: Deployment Fail over, accessibility OS updates HW configuration … In short, Developer write application Azure run & manage application.
E N D
Why Windows Azure? • Azure OS take care about: • Deployment • Fail over, accessibility • OS updates • HW configuration • … • In short, • Developer write application • Azure run & manage application
Modeling Cloud Applications • A cloud application is typically made up of different components • Front end: e.g. load-balanced stateless web servers • Middle worker tier: e.g. order processing, encoding • Backend storage: e.g. SQL tables or files • Multiple instances of each for scalability and availability Front-End Middle-Tier Windows Azure Storage,SQL Azure Middle-Tier HTTP/HTTPS Middle-Tier Front-End Load Balancer Mark’s Cloud Application
Windows Azure The Fabric Controller automates load balancing and computes resource scaling Security and Control Features include storage encryption, access authentication, and over-the-wire encryption using HTTPS. Industry certification is part of the Windows Azure roadmap. Computationprovides application scalability. Developers can build a combination of web and worker roles. Those roles can be replicated as needed to scale the applications and computational processing power. Storage Services allow customers to scale to store large amounts of data – in any format – for any length of time, only paying for what they use or store. Geographically distributed, state-of-the-art data centers host your applications and data, internet-accessible from everywhere you choose to allow.
The Fabric Controller (FC) • The “kernel” of the cloud operating system • Manages datacenter hardware • Manages Windows Azure services • Four main responsibilities: • Datacenter resource allocation • Datacenter resource provisioning • Service lifecycle management • Service health management • Inputs: • Description of the hardware and network resources it will control • Service model and binaries for cloud applications Server Kernel Process Datacenter Fabric Controller Service Word SQL Server Exchange Online SQL Azure Windows Kernel Fabric Controller Server Datacenter
Datacenter Architecture Datacenter Routers Aggregation Routers and Load Balancers Agg Agg Agg Agg Agg Agg LB LB LB LB LB LB LB LB LB LB LB LB Top of Rack Switches TOR Nodes Nodes TOR TOR Nodes TOR Nodes TOR Nodes Nodes TOR TOR Nodes TOR Nodes Nodes TOR Nodes TOR Nodes TOR TOR Nodes Nodes TOR Nodes TOR Nodes TOR … … … … … Racks PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU Power Distribution Units
High-Level FC Architecture TOR TOR TOR TOR TOR • FC is a distributed, stateful application running on nodes (blades) spread across fault domains • Installed by “Utility” Fabric Controller • One acts as the primary and all others keep view of world in sync • Supports rolling upgrade, and services continue to run even if FC fails entirely AGG AGG LB LB LB LB LB FC1 FC2 FC4 FC5 FC3 Nodes … … … … … … … … … … Rack
Provisioning a Node Fabric Controller Image Repository • Power on node • PXE-boot Maintenance OS • Agent formats disk and downloads Host OS • Host OS boots, runs Sysprep /specialize, reboots • FC connects with the “Host Agent” Maintenance OS Windows Azure OS Maintenance OS Parent OS Role Images Role Images Role Images Role Images PXE Server Node Windows Azure OS FC Host Agent Windows Azure Hypervisor
Compute in Windows Azure GOAL: SCALABILITY Two instance types: Web Role & Worker Role Windows Azure applications are built with web role instances, worker role instances, or a combination of both. Scale out by replicating instances as needed. Allow applications to scale user and compute processing independently. Each instance runs on its own VM (virtual machine), replicated as needed.
Defining the Web and Worker Roles WEB ROLE WORKER ROLE Interacts with end-user or web services Handles incoming HTTP/HTTPS requests Develop with Microsoft and non-Microsoft tools: ASP.NET, WCF, other .NET tools Java, PHP, etc. Can only receive inbound traffic when configured properly Initiates their own requests for data or tasks from the queue Similar to a "batch job" or Windows service
Storage in Windows Azure GOAL: SCALABLE, DURABLE STORAGE Tables: simply structured data, accessed using WCF Data Services Queues: serially accessed messages or requests, allowing web-roles and worker-roles to interact Blobs: large, unstructured data (audio, video, etc) Windows Azure storage is an application managed by the Fabric Controller Windows Azure applications can use native storage or SQL Azure Application state is kept in storage services, so worker roles can replicate as needed
Windows Azure Your Service DNS LB Web Portal (API) LB Fabric Controller
Service Deployment Service Service Service Model Your Service DNS LB Web Portal (API) DNS config LB Fabric Controller
Service Scaling Your Service Service Service DNS Service Service Service Service Service LB Service Web Portal (API) LB Model Fabric Controller
Service Monitoring & Recovery Your Service Service DNS Service Service Service LB Web Portal (API) ! LB Model Fabric Controller