Saranya Sriram Developer Evangelist | Microsoft saranyas@microsoft.com
Azure™ Services Platform
Azure™ Services Platform
This Talk Windows Azure basics Windows Azure core programming concepts Model and architecture Demo: Basic cloud program Demo: Cloud on your desktop Windows Azure core programming concepts Web and worker applications Storage capabilities Demo: Media library application
What is the cloud ? A set of connected servers On which developers can: Install and run services Store and retrieve data
Desktop And Cloud Hardware Desktop Hardware Cloud Hardware Infrequent catastrophic system failures Ability to scale limited by CPU/disk/ memory slots Frequent component failures infrequent system failure Ability to scale limited by power/real estate/opex
Windows Azure The Windows Azure provides core technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud operating system) Provides features that mask common sources of failures to greatly simplify programming Supports building applications that scale Programming tools and interfaces are designed to be familiar to traditional desktop programmer However, introduce new concepts that are similar to existing ones at a different abstraction level
What is Windows Azure? It is an operating system for the cloud It is designed for utility computing Main Features being Service Management Compute Storage Developer Experience
Desktop And Related Azure Concepts Windows Azure EXE Service Package Application Configuration Service Configuration Manifest Service Definition Service Role Web Role Worker Role DLL Windows Forms Library Windows Service Desktop Data Store Internet Data Store
Windows Azure Basics Fabric Controller Owns all the data center hardware Uses the inventory to host services Similar to what a per machine operating system does with applications The FC provisions the hardware as necessary Maintains the health of the hardware Deploys applications to free resources Maintains the health of those applications
Modeling Simple Services Public Internet Template automatically maps to service model Frontend Web Role Background Process Role Load Balancer Fundamental Services
Windows Azure Basics Service Concepts Service definition Defines aspects of a service that cannot be changed without redeployment Types of roles and static role configuration Set of configuration settings for a role Contract with the environment code runs Service configurations Defines values for properties that can be dynamically updated for a running deployment Values of a configuration parameter Number of running instances
Accessing Windows Azure End Users Your Cloud Application Microsoft Visual Studio Development Environment Coming Soon Developers
- Basic Cloud Applictaion - The cloud on your desktop demo - Basic Cloud Applictaion - The cloud on your desktop
Web Role Web farm that handles request from the internet IIS7 hosted web core Hosts ASP.NET XML based configuration of IIS7 Integrated managed pipeline Supports SSL Windows Azure code access security policy (CAS) for managed code Public Internet Web Role Load Balancer Storage Services
Worker Role No inbound network connections Can read requests from queue in storage Windows Azure specific CAS policy for managed code Public Internet Worker Role Storage Service
Windows Azure Storage Abstractions Blobs – provide a simple interface for storing named files along with metadata for the file Tables – provide structured storage. A table is a set of entities, which contain a set of properties Queues – provide reliable storage and delivery of messages for an application
Blob Storage Concepts Key concepts account, container, blob, and blocks Pictures IMG001.JPG IMG002.JPG Movies MOV1.AVI Block AAAA Block AAAB Block AAAC Block
Queue Storage Concepts Account, queue, and message Thumbnail Jobs 128x128, http://… 256x256, http://… Indexing Jobs http://…
Table Storage Concepts Account, table, and entity Users Name=…hash=… PhotoIndex Tag=…id=… Tag=…,id=…
- Media (Picture / Video) library demo - Media (Picture / Video) library
Share Photos/Videos Service Architecture Public Internet Web Role (Blob) Worker Role (Queue) Load Balancer Storage Service
Key Take Aways Reliable and scalable Familiar Open platform Most faults masked from the developer Supports partitioning of data and stateless programming model for building scalable systems Familiar Existing technologies like ASP.NET interoperate well with Windows Azure Open platform Connect outbound to any server Open protocols and APIs on all components
References Environment: http://www.Azure.Com/windows SDKs: Windows Vista SP1 (when installing on Windows Vista) .NET Framework 3.5 SP1 IIS 7.0 (with ASP.NET and WCF HTTP Activation) Microsoft SQL Server Express 2005 or Microsoft SQL Server Express 2008 Windows PowerShell (optional) Microsoft .NET Framework 3.5 Service Pack 1 Microsoft Visual Studio 2008 Service Pack 1 (Installer) SDKs: Windows® Azure™ Software Development Kit (October 2008 CTP) Windows Azure Tools for Microsoft Visual Studio October 2008 CTP SQL Data Services (SDS) SDK (CTP) Microsoft .net Services(Nov 2008 CTP) SDK
Feedback & QnA Your Feedback is Important! Please take a few moments to fill out our online feedback form at the vtd site. Use the Question Manager on LiveMeeting to ask your questions now!