Yousef A. Khalidi, Distinguished Engineer Windows Azure presents.
Main Takeaways
How to architect Windows Azure Services ?
Cloud Computing is based on Scale-Out not scale-up. You can add / remove capacity on demand. Pay for what you use as you go. Automation is key to reducing costs.
Design considerations
Failure of any given node (or role) should be expected : view each node (or role) as a cache, state has to be replicated (don’t assume your state is safe)
No one-time install step : applications need to reinitialize on restarts. Do not assumre previous local state is available (If a node fails, we will try to restart you)
Configuration changes due to load or failures : handle dynamic configuration changes
Services are always running (there is no maintenance window) : your code has to handle upgrades or downgrades + your code must handle data schema changes
Services are built using multiple nodes / roles : document service architecture, document communication paths of elements
Services can grow very large : state management will become difficult
=> Those issues are not new : you have tried to be as stateless as possible.
If you have good design, Windows Azure will manage your services, nodes and network. Windows Azure automates life cycle management (Model Driven Automation).
Service Lifecycle Management
Process :
How do we do it ? through a Service Model which describes services as distributed entities (authored by the service developer and configured by service deployer). It is a logical description in a declarative language.
Models Elements
Modeling Simple Services
In the CTP, we have a few templates which map to a service model. It is the assembly language we consume.
It is possible to model complex services : see conference ES25 during lunch time tommorow. Video Conferencing Service. The Windows Azure Storage service is dogfodding.
Fault Domains
You should avoid single points of failure. A fault domain can be a compute node, a rack of machines. If you ask for 10 nodes on 2 domains, we will put 5 in each domain.
Update Domains
Ensure service stays up while updating. Allocation is across update domains.
This concepts are hidden from you, yet, you need to be conscious if you want to do complex scenarios.
Dynamic Configuration Settings
In the cloud there is not registry.The dynamic configuration settings communicate settings to service roles. Application configuration settings and System configuration settings (pre-declared, same kinds for all roles : instand id, fault domain id, update domain id.
Settings are accessible at run time
Windows Azure Automation
The Fabrik Controller (FC) is the brain of the system. It is the entity responsible for monitoring and ensuring your goals.
Windows Azure push button deployment
Managing Runnning Services
Adding Capacity, removing capacity, rolling services upgrades / downgrades
Behind the cover, we do a lot of things : we distribute the software through VM (multi-cast deployment), separate OS and service images. Boot from a VM image. Images are copied not installed. Multiple images are cached (version caching allows quick updates).
Monitoring and events
log collection, alerts, usage metering, data available through portal
Isloation and security
Your services can access resources that are delcared in its model, local node resources / temporary storage, network end-points declared.
Isolation is ensured using multiple
Automatic windows update
Data Center Management
Provisionning, monitoring, hardware lifecycle management, capacity planning, internal security measures
Roadmap
TO DO : incomplete
CTP
2009
FAQ
Q : Is it possible to provision automatically ?
A : not in CTP, will come later may be.
Q : Can we get automatic adaptation to load ? I do not want to define a precise configuration but limit (minimum / maximum). You talked about capacity planning.
A : not exposed by CTP
Q : Which version of windows is it ? and .Net ? Can I add SDK’s ?
A : Windows Server 2008, .Net 3.5 SP1, not provisioning of .Net SDK is exposed. Should come later.
PingBack from http://mstechnews.info/2008/10/pdc2008-%e2%80%93-architecting-services-for-windows-azure/
[© Nacsa Sándor, 2008. november 10.] A teljes Azure szolgáltatási platform legalapvetőbb része a Windows
Normal 0 false false false EN-PH X-NONE X-NONE MicrosoftInternetExplorer4 Architecting services for Windows