Streamlining Python Development: A Guide to a Modern Project Setup
The Windows Azure Platform: A Perspective - David Chappell
1. The Windows Azure Platform:
A Perspective
David Chappell
Chappell & Associates
2. Illustrating Cloud Computing
Two broad categories
Cloud
Application
Cloud Platform
Users Developers
Cloud applications
– Often called Software as a Service (SaaS)
Cloud platforms
– Such as the Windows Azure platform
4. The Windows Azure Platform
SQL Azure
Cloud
Applications
Windows Azure
Windows Azure Platform AppFabric
On-Premises
Applications
Windows Others
5. Windows Azure
An illustration
Application
Compute Storage
Config Fabric
…
SQL Azure
Applications
Windows Azure
Platform AppFabric
Windows Azure
Applications
Windows Others
6. Windows Azure Compute Service
A closer look
VMs VMs
HTTP/
HTTPS
Web Worker
Load Role Role
Balancer
IIS Instance Instance
Agent Agent
Application
Compute Storage
Fabric
…
7. Windows Azure Storage Service
A closer look
HTTP/
HTTPS
Blobs Tables Queues
Application
Compute Storage
Fabric
…
8. Developing for Windows Azure
Visual Studio
Windows Azure Development Fabric
Web Role Worker Role
Instance Instance
Storage
Fabric
Windows Server 2008/ SQL Server
Windows 7/Windows Vista Express
9. SQL Azure
SQL Azure
SQL Azure Database
Others (Future)
SQL Azure
Applications
Windows Azure
Platform AppFabric
Windows Azure
Applications
Windows Others
11. SQL Azure Database
Using one or multiple databases
SQL Azure Database
Database
Application
Database
Database
Application
Database
12. Windows Azure Platform AppFabric
Infrastructure in the cloud
Windows Azure
Platform AppFabric
Service Bus
Access Control ?
SQL Azure
Applications
Windows Azure
Platform AppFabric
Windows Azure
Applications
Windows Others
14. Applying Azure (1)
Some characteristics of Azure-appropriate applications
Apps that need massive scale
– Example: A Web 2.0 application
Apps that need high reliability
– Example: A Software as a Service (SaaS) application
Apps with variable load
– Example: An on-line ticketing application
Apps with a short or unpredictable lifetime
– Example: An app created for a marketing campaign
Apps that do parallel processing
– Example: A financial modeling application
15. Applying Azure (2)
Some characteristics of Azure-appropriate applications
Apps that must fail fast or scale fast
– Example: Start-ups
Apps that don’t fit well in an organization’s data
center
– Example: A firm with no data center
– Example: A joint venture
– Example: A business unit that wishes to avoid its IT
department
Apps that can benefit from external storage
– Example: An application that archives data
16. Building on Azure
A non-Azure app using Windows Azure storage
Blobs SQL Azure
On-Premises
or Hosted
Application
17. Building on Azure
A massively scalable web app exposed on the public Internet
Tables
Web Role
Instance
Users
18. Building on Azure
A massively scalable web app with background processing
Tables Queues Blobs
Web Role Worker Role
Instance Instance
Users
19. Building on Azure
A web app with relational storage
SQL Azure
Web Role
Instance
Users
20. Building on Azure
A web app using cloud and on-premises data
SQL Azure
Web Role
Service Bus
Instance
On-premises
Database
Users
21. Building on Azure
A parallel processing application
Queues Blobs
Worker Role
Web Role Instance
Instance
User
23. Amazon Web Services (AWS)
AWS Elastic Compute Cloud (EC2) provides
virtual machines running Linux or Windows
Amazon Web Services Windows Azure Platform
EC2 VM VM
Relational
Database SQL Azure
Your Service Your Database
Your
Application Application
DBMS
AWS Windows
Linux or Storage Windows Azure Storage
Windows Server
Windows Azure Fabric
24. Amazon Web Services
Comparing storage options
Amazon Web Services Windows Azure Platform
Simple Storage Service Windows Azure Storage
Blob storage
(S3) Blobs
Scale-out storage Windows Azure Storage
SimpleDB
Tables
Queues Simple Queue Service Windows Azure Storage
(SQS) Queues
RDBMS running in a VM,
Relational storage Relational Database SQL Azure
Service (RDS)
25. Google AppEngine
AppEngine runs Python and Java applications
Google AppEngine Windows Azure Platform
Web
App Role
SQL Azure
Worker Database
Task
Role
Python/Java Datastore, Windows Windows Azure
Runtime Task Lists Storage
Server
Windows Azure Fabric
26. Force.com
Salesforce.com’s Force.com focuses on data-
driven enterprise applications
Force.com Windows Azure Platform
Web
Role SQL Azure
Enterprise Database
Application Worker
Role
Force.com Force.com Windows Windows Azure
Runtime Database Server Storage
Windows Azure Fabric
27. Conclusions
Cloud platforms are here
– Microsoft is placing a big bet with the Windows
Azure platform
A new world is unfolding
– Prepare to be part of it
28. For Further Reading
Introducing the Windows Azure Platform
http://go.microsoft.com/fwlink/?LinkId=158011
Introducing Windows Azure
http://go.microsoft.com/?linkid=9682907
Windows Azure and ISVs: A Guide for Decision Makers
http://go.microsoft.com/fwlink/?LinkID=157857
29. About the Speaker
David Chappell is Principal of Chappell & Associates
(www.davidchappell.com) in San Francisco, California. Through
his speaking, writing, and consulting, he helps people around the
world understand, use, and make better decisions about new
technology. David has been the keynote speaker for many events
and conferences on five continents, and his seminars have been
attended by tens of thousands of IT decision makers, architects,
and developers in forty countries. His books have been published
in a dozen languages and used regularly in courses at MIT, ETH
Zurich, and other universities. In his consulting practice, he has
helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford
University, and Target Corporation adopt new technologies,
market new products, train their sales staffs, and create business
plans. Earlier in his career, David wrote networking software,
chaired a U.S. national standards working group, and played
keyboards with the Peabody-award-winning Children’s Radio
Theater. He holds a B.S. in Economics and an M.S. in Computer
Science, both from the University of Wisconsin-Madison.