Title: Developing and Deploying Your First Windows Azure Service
1Developing and Deploying Your First Windows Azure
Service
Risman AdnanDeveloper EvangelistMicrosoft
AHQrismana_at_microsoft.com
2(No Transcript)
3What's Missing In The Cloud?An operating system
for the cloud
4Windows 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
5(No Transcript)
6Core Concept
- Service package
- Service configuration
- Service definition
- Service role
- Web role
- Worker role
- Internet data stores
- EXE
- Application Configuration
- Manifest
- DLL
- Windows forms library
- Windows service
- Local data stores
7Service 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
8Web 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
9Worker Role
- No inbound network connections
- Can read requests from queue in storage
- Windows Azure specific CAS policy for managed
code
10Service Runtime API
- Every role has access to APIs for common
functionality needed for services - Read configuration setting values
- Write messages to set of standard logging
streams - Printf sitting on top of a lot of plumbing so
logs are downloadable and archived easily - Critical messages generate live alerts
- Get access to unreliable local storage for
caching - Defines interface for worker role
11Windows 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
12In this Session
- Developing an service
- Testing and debugging locally
- Deploying to the cloud
- Maintaining a running service
13We Got Scalability For Free!
LB
- Scalability
- Availability
- Zero-downtime upgrades
- All with existing tools and skills
14Horizontal Scaling
What about state? (e.g., shopping cart)
15Separating State
16Durable Storage
- Durable, scalable, available store
- Simple abstractions
- Simple interface
- REST
- ADO.NET Data Services
17Simple Storage
LB
Storage(Blobs, Tables, Queues)
18Web And Worker Roles
LB
Simple queue interface
Storage(Blobs, Tables, Queues)
19Debugging
- Remember, no surprises
- Offline, just what you would expect
- Set breakpoints
- Step into code
- Inspect variables
- What about in the cloud?
20Logging
- Debugging the cloud really means logging
- Simple logging API today
- More functionality over time
21Publishing Your Service To The Cloud
- Write code on your laptop
- Upload your package to the web portal
- Push deploy
- Monitor, upgrade, scale
22Putting All Together
23Summary
- Familiar development
- Local debugging
- Simple deployment
- Automated management