The Windows Azure Platform: A Perspective David Chappell Chappell & Associates Copyright © 2009 David Chappell
Goals Describe the Windows Azure platform Look at some typical scenarios for using the Windows Azure platform Compare the Windows Azure platform with other cloud platforms
An Overview of the Windows Azure Platform
The Windows Azure Platform Formerly known as the Azure Services Platform SQL Azure Windows Azure Cloud Applications.NET Services On-Premises Applications OthersWindows
… Windows Azure An illustration Fabric Compute Storage Config Application SQL Azure Windows Azure Applications.NET Services OthersWindows
Fabric Storage VMs Windows Azure Compute Service A closer look … Load Balancer HTTP/ HTTPS IIS Web Role Instance Worker Role Instance Compute Application Agent
Fabric Compute Windows Azure Storage Service A closer look BlobsTables Storage HTTP/ HTTPS Queues
SQL Azure Formerly known as SQL Services Windows Azure Applications.NET Services OthersWindows SQL Azure Database SQL Azure Others (Future) SQL Azure
SQL Azure Database Others (Future) SQL Azure Database An Illustration Database SQL Azure Database TDS Application
Database Application Database SQL Azure Database SQL Azure Database Using one or multiple databases Max database size is 10 GB
.NET Services Infrastructure in the cloud.NET Services SQL Azure Windows Azure Applications OthersWindows.NET Services ? ? Service Bus Access Control.NET Services
Service Bus The problem: Exposing internal applications on the Internet isn’t easy – Network address translation (NAT) and firewalls get in the way The solution: – Service Bus provides a cloud-based intermediary between clients and internal applications – It also provides a service registry that clients can use to find the services they need
Access Control Service Bus Registry Endpoints Organization Y Organization X Application Illustrating Service Bus 2) Discover endpoints 1) Register endpoints 3) Access application
Windows Azure Platform Pricing (1) Windows Azure – Compute: $0.12/hour for each VM instance – Storage: Data: $0.15/GB per month (tables, blobs) Access: $0.01/10,000 operations (tables, blobs, queues) – Bandwidth: $0.10/GB in, $0.15/GB out .NET Services – Messages: $0.15/100,000 message operations Includes Service Bus messages and Access Control tokens – Bandwidth: $0.10/GB in, $0.15/GB out
Windows Azure Platform Pricing (2) SQL Azure Database – Web Edition Data: $9.99/month for a database up to 1 GB Bandwidth: $0.10/GB in, $0.15/GB out – Business Edition Data: $99.99/month for a database up to 10 GB Bandwidth: $0.10/GB in, $0.15/GB out
Using the Windows Azure Platform: Scenarios
Applying Azure Some characteristics of Azure-appropriate applications Apps that need massive scale Apps that need high reliability Apps with variable load Apps with an unpredictable lifetime Apps that don’t fit well in an organization’s data center – A firm with no data center – Joint ventures – A business unit that wishes to avoid its IT department Apps that can benefit from external storage
BlobsTables Building on Azure A non-Azure app using Windows Azure storage SQL Azure On-Premises or Hosted Application
Web Role Instance Tables Building on Azure A massively scalable web app exposed on the public Internet Users
BlobsQueues Tables Users Worker Role Instance Web Role Instance Building on Azure A massively scalable web app with background processing
Web Role Instance SQL Azure Users Building on Azure A web app with relational storage
Web Role Instance SQL Azure Users Building on Azure A web app using cloud and on-premises data Service Bus On-premises Database
User Blobs Web Role Instance Queues Worker Role Instance Building on Azure A parallel processing application
Building on Azure ISV perspectives (1) “This isn’t about deciding your future based on version 1 of Azure. It’s about deciding your future around cloud platforms. We think it’s very important that we get our hands dirty now.” - CEO, Business software vendor “We’re based on.NET, and we think that Microsoft will continue to have the most optimized.NET platform.” - CEO, Web 2.0 startup
Building on Azure ISV perspectives (2) “Imagine your solution five years from now. If you think you can deliver something that doesn’t include part of Azure, good luck to you. It’s like people who wouldn’t move from DOS to Windows.” - CEO, Enterprise software vendor “The only thing I’m sure of is that ISVs need to start working on this.” - CEO, Financial software vendor
Usage Scenarios ISV (1) ISV uses Windows Azure platform storage – Example: Blobs for serving up videos ISV builds a shared multi-tenant app running on Windows Azure, with usage-based pricing – This is commonly called Software as a Service (SaaS) – The customer pays the ISV, and the ISV pays Microsoft for Azure usage
Usage Scenarios ISV (2) ISV builds a single-tenant app for Windows Azure, then licenses copies to its customers – The customer runs the app on Azure and pays Microsoft directly for the costs of running the app A start-up builds a Web 2.0 application – It can fail fast or scale fast
Usage Scenarios Custom software development firm Firm builds a custom Windows Azure app for a client, and the client manages the app – The client pays Microsoft directly for Windows Azure services Firm builds a custom Windows Azure app for a client, then manages the app for the client – The client pays the firm, and the firm pays Microsoft for the costs of Azure usage
Usage Scenarios Enterprise Enterprise uses Windows Azure platform storage – Example: Blobs for archiving data – Example: SQL Azure Database for sharing data Enterprise creates a customer-facing web app – Perhaps connecting to on-premises data or apps via Service Bus Enterprise builds a new enterprise application on Windows Azure and SQL Azure
The Windows Azure Platform and Its Competitors
Hosting vs. the Windows Azure Platform A comparison Advantages of dedicated hosting – Allows full control – Resource costs might be lower Advantages of Windows Azure – No lead time and no commitment – Admin costs might be lower – Can grow and shrink resources more quickly – Provides services designed for high reliability, e.g., the Fabric, built-in data replication – Provides services designed for high scale, e.g., Windows Azure Storage tables
EC2 VM Amazon Web Services Linux or Windows Linux or Windows Amazon Web Services (AWS) AWS Elastic Compute Cloud (EC2) provides virtual machines running Linux or Windows Windows Azure Fabric VM Windows Server 2008 Windows Azure Platform Your DBMS Windows Azure Storage SQL Azure Database Your Application AWS Storage Your Application
Amazon Web ServicesWindows Azure Platform Blob storage Simple Storage Service (S3) Windows Azure Storage Blobs Scale-out storage SimpleDB Windows Azure Storage Tables Amazon Web Services Comparing storage options Queues Simple Queue Service (SQS) Windows Azure Storage Queues Relational storageRDBMS running in a VMSQL Azure
Datastore, Task Lists Google AppEngine AppEngine runs Python and Java applications Google AppEngine Python/Java Runtime Windows Azure Fabric Windows Azure Platform Windows Azure Storage SQL Azure Database Windows Server 2008 Worker Role Web Role Task App
Google AppEngineWindows Azure Platform Blob storageDatastore (Blob type) Windows Azure Storage Blobs Scale-out storage Datastore Windows Azure Storage Tables Google AppEngine Comparing storage options QueuesTask Queues Windows Azure Storage Queues Relational storageNoneSQL Azure
Force.com Database Force.com and Windows Azure Salesforce.com’s Force.com focuses on data- driven enterprise applications Force.com Force.com Runtime Enterprise Application Windows Azure Fabric Windows Azure Platform Windows Azure Storage SQL Azure Database Windows Server 2008 Worker Role Web Role
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
For Further Reading Introducing the Windows Azure Platform: An Early Look at Windows Azure, SQL Azure, and.NET Services Introducing Windows Azure Windows Azure and ISVs: A Guide for Decision Makers
About the Speaker David Chappell is Principal of Chappell & Associates ( 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.
Copyright © 2009 David Chappell Chappell & Associates SOAP/WS-*