![Page 1: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/1.jpg)
The Azure Services Platform: A PerspectiveLisbon, November 17, 2008
David ChappellChappell & Associateswww.davidchappell.com
![Page 2: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/2.jpg)
Agenda
Cloud Platforms: The Big Picture
The Azure Services PlatformWindows Azure
.NET Services
SQL Services
Live Services
Application Platforms Today
![Page 3: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/3.jpg)
Cloud Platforms:The Big Picture
![Page 4: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/4.jpg)
What is Cloud Computing?
Today, applications commonly run:On-premises, i.e., within an organization
At a hoster
Cloud computing adds another option
Cloud services are provided by an outside organization
Examples: Microsoft, Google, Amazon
How those services are used can sometimes have advantages over on-premises or hosted computing
![Page 5: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/5.jpg)
Categorizing Cloud ServicesA simple taxonomy
Software as a Service (SaaS)The application runs in the cloud
Example: Salesforce.com
Attached servicesThe application runs on-premises, with extra functions provided in the cloud
Example: Exchange Hosted Services
Cloud platformsProvide cloud-based support for applications running in the cloud or on-premises
Examples: Microsoft Azure Services Platform, Amazon Web Services
![Page 6: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/6.jpg)
Browser/
Client
Application
Software as a
Service (SaaS)
Users
Extra
Functions
Application
Attached
Services
Users
Application
Application
Cloud
Platforms
Developers
Platform
Cloud
On-
premises
Categorizing Cloud ServicesAn Illustration
![Page 7: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/7.jpg)
Evaluating SaaS ApplicationsPotential benefits
Less financial riskNo large up-front investment required
Can often try before you buy
Lower costs (initially, at least)No license to buy; pricing is usage-based
Fixed capital expenses become variable operating expenses
Faster deployment
Higher reliability (sometimes)
Easier upgrades
![Page 8: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/8.jpg)
Evaluating SaaS Applications Potential challenges (1)
TrustCan this service provider be trusted?
Will they protect my data?
Regulatory and compliance issuesCan the provider ensure compliance with any relevant regulations?
CustomizationHow much is possible?
![Page 9: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/9.jpg)
Evaluating SaaS Applications Potential challenges (2)
IntegrationHow can a SaaS application be connected with applications in the enterprise?
IdentityIs identity federation supported?
ManagementHow can a SaaS application be monitored?
Supporting usersWho runs the help desk?
![Page 10: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/10.jpg)
The Role of Cloud Platforms
SaaS applications must run on some cloud platform
Why should each SaaS vendor have to build its own platform?
Enterprise applications can also take advantage of cloud platforms
A variety of cloud platforms are appearingOne example is the Azure Services Platform
![Page 11: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/11.jpg)
The Azure Services Platform
![Page 12: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/12.jpg)
Windows Azure
Applications
.NET Services
Live Services
SQL Services
Applications
OthersWindows
Mobile
Windows
Vista/XP
Windows
Server
The Azure Services PlaformAn illustration
![Page 13: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/13.jpg)
.NET Services
Windows AzureLive Services
Applications
Applications
SQL Services
OthersWindows
Mobile
Windows
Vista/XP
Windows
Server
Fabric
Storage
Config
Compute
Application
Windows AzureWindows in the cloud
![Page 14: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/14.jpg)
.NET Services
Windows AzureLive Services
Applications
Applications
SQL Services
OthersWindows
MobileWindowsVista/XP
WindowsServer
Service Bus
Access Control ?
Workflow
.NET ServicesInfrastructure in the cloud
![Page 15: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/15.jpg)
SQL Services
.NET Services
Windows AzureLive Services
Applications
Applications
OthersWindows
MobileWindowsVista/XP
WindowsServer
SQL Data
Services
Others
(Future)
SQL ServicesDatabase services in the cloud
![Page 16: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/16.jpg)
.NET Services
Windows AzureLive Services
Applications
Applications
SQL Services
OthersWindows
MobileWindows
Vista/XP
WindowsServer
Live Operating
Environment
Live
Services
Live ServicesAnd the Live Framework
Live Operating
Environment
Data
Sync
Application
![Page 17: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/17.jpg)
The Azure Services Platform:Windows Azure
![Page 18: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/18.jpg)
Windows Azure Basics
The goal of Windows Azure is to provide a platform that is scalable and available
Windows Azure can potentially provide various kinds of Windows-based environments
The November 2008 Community Technology Preview (CTP) supports only .NET applications
More will appear before general availabilitySuch as support for unmanaged code
![Page 19: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/19.jpg)
…
Fabric
Compute Storage
Application
Windows Azure Fabric
Windows Azure Compute Service A closer look
VM
Web Role Worker Role
Agent Agent
main()
{ … } Load
Balancer
HTTP
IIS
ASP.NET,
WCF, etc.
![Page 20: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/20.jpg)
Windows Azure Compute ServicePoints of interest
The VMs are provided by a cloud-optimized hypervisor
They run 64-bit Windows Server 2008
Each VM has a one-to-one relationship with a processor core
For developers:It’s mostly standard .NET
A few things require accessing the Windows Azure Agent, e.g., logging
A desktop replica of Windows Azure in the cloud is provided for development
![Page 21: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/21.jpg)
…
Fabric
Compute Storage
Application
Blobs QueuesTables
HTTP
Windows Azure Storage ServiceA closer look
![Page 22: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/22.jpg)
Windows Azure StoragePoints of interest
Storage types:Blobs: a simple hierarchy of binary data
Tables: hierarchical storage (not relational tables)
Queues: allow communication among web and worker role instances
Access:Data is exposed via a RESTful interface
With a query language based on the LINQ C# syntax
Data can be accessed by:Windows Azure applications
Other on-premises or cloud applications
![Page 23: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/23.jpg)
Table . . .Table Table
Windows Azure StorageA closer look at tables
Entity . . .Entity Entity
Property PropertyProperty
Name Type Value
Storage
Accounts
![Page 24: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/24.jpg)
Queue
Using QueuesThe suggested application model
Web Role
ASP.NET,
WCF, etc.
Worker Role
main()
{ … }
1) Receive work
2) Put work in queue
3) Get work from queue
4) Do work
To scale, add more of either
![Page 25: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/25.jpg)
Using Windows AzureSome examples
A start-up might create a new Web application on Windows Azure
They can fail fast or scale fast
An ISV might create a SaaS version of an existing .NET application on Windows Azure
It’s .NET, so porting the code is doable
An enterprise might build a new application on Windows Azure
It’s .NET, so developers are plentiful
![Page 26: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/26.jpg)
VM
EC2
Alternative PlatformsAmazon Elastic Compute Cloud (EC2)
Provides VMs that can run Linux or Windows
Linux or Windows
Windows Azure Fabric
VM
Windows Server 2008
Windows Azure Storage
Windows Azure CTP
Your
ApplicationYour Storage
Your
Application
![Page 27: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/27.jpg)
Alternative PlatformsGoogle AppEngine
Supports Python Web applicationsProvides non-relational storage
Google AppEngine
Windows Azure Fabric
Windows Server 2008
Windows Azure Storage
Windows Azure CTP
Worker
Role
Web
Role
AppEngineStorage
GQL
Python Runtime
Web
Application
![Page 28: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/28.jpg)
Alternative PlatformsSalesforce.com Force.com
A data-driven platform for enterprise business applications
Uses Apex, a Salesforce.com-defined language
Provides non-relational storage
Force.com Storage
Force.com Runtime
SOQLEnterprise
Application
![Page 29: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/29.jpg)
PricingAn example: Amazon EC2
Linux VMVaries based on VM memory and processing power
$0.10/hour to $0.80/hour
Windows VM$0.125/hour to $1.20/hour
With Authentication Services: $0.25/hour to $2.00/hour
Required for more than 5 Windows accounts
With SQL Server Standard Edition:$1.10/hour to $2.40/hour
With authentication services: $1.35/hour to $3.20/hour
![Page 30: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/30.jpg)
PricingMore examples
Google AppEngine: Not yet announced
Salesforce.com Force.com:Enterprises: $25 per user per month
Public internet: $1,000/month for 1 million page views
$3,000/month for 5 million page views
Microsoft Windows Azure:Not yet announced
Microsoft says it will be usage-based and competitiveMight vary with your service level agreement (SLA)
![Page 31: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/31.jpg)
Evaluating Cloud App PlatformsPotential benefits
Pay only for the computing resources you use
No financial commitment
Can quickly grow on demandAnd handle spikes in load
Can provide a specialized platform designed for scalability and availability
![Page 32: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/32.jpg)
Evaluating Cloud App PlatformsPotential challenges
Vendor lock-inA cloud platform vendor can shut down your app if you don’t pay whatever they demand
May require learning a new programming model
With a limited developer ecosystem
Choosing a safe platformWhich ones will survive?
![Page 33: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/33.jpg)
Categorizing the OptionsA simple taxonomy
HostingPhysical machines run by a service provider
Example: Many
VMs in the cloudVirtual machines run by a service provider
Example: EC2
Cloud-specific platformsSoftware run by a service provider that’s designed to support highly scalable and available applications
Example: Windows Azure
![Page 34: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/34.jpg)
Categorizing the OptionsComparing some aspects
Hosting
VMs in the
Cloud
Cloud-Specific
Platforms
Customer
commits to
resources
Yes No No
New resources
deployed
immediately
No Yes Yes
Support for high
scalability and
availability
No No Yes
Can run on-
premises apps
unchanged
Yes Yes No
![Page 35: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/35.jpg)
The Azure Services Platform: .NET Services
![Page 36: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/36.jpg)
The Access Control Service
The problem:Different organizations identify users with tokenscontaining different claims
Applications can be faced with a confusing mess
The solution: The Access Control Service implements a security token service (STS) in the cloud
It accepts one token and issues anotherThe claims in the outgoing token can differ from those in the incoming token
An administrator can define rules for how this claims transformation is done
![Page 37: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/37.jpg)
Access Control
Service Bus
Workflow
2) STS creates new token according to
rules
User
ApplicationClient
Access Control Service
?
STSRules
Access Control
1) Present token
3) Return new token
4) Present new token
5) Use new token to determine what this
user can do
![Page 38: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/38.jpg)
The 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
![Page 39: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/39.jpg)
Access Control
Service Bus
Workflow
Service Bus
Registry
Endpoints
Organization YOrganization X
Application Application
Service Bus
2) Discover endpoints
1) Register endpoints
3) Access application
![Page 40: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/40.jpg)
The Workflow Service
The problem:Where should workflow logic that coordinates cross-organizational composite apps run?
The solution:The Workflow Service runs WF-based workflows in the cloud
There are some limits on what WF activities can be used
No Code activities, for example
![Page 41: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/41.jpg)
Access Control
Service Bus
Workflow
HTTP
Workflow Service
Application Application
Service Bus
Workflow
![Page 42: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/42.jpg)
Using .NET ServicesSome examples
An app that’s accessed over the Internet from different organizations might rely on Access Control to rationalize the identity information it receives
And to do access control
An enterprise might expose an internal application to its trading partners via Service Bus
A group of trading partners might use Workflow to automate their cross-organizational business process
![Page 43: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/43.jpg)
The Azure Services Platform: SQL Services
![Page 44: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/44.jpg)
SQL Services
Today:SQL Data Services
Formerly known as SQL Server Data Services (SSDS)
Data syncUsing the Sync Framework
In the future: Reporting
Analysis
Extract/Transform/Load (ETL) services
More
![Page 45: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/45.jpg)
Data Center
SQL Data
Services
Container . . .Container Container
HTTP/
SOAP
SQL Data Services
Entity . . .Entity Entity
Property PropertyProperty
Name Type Value
Authorities
![Page 46: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/46.jpg)
An AsideSQL Data Services and Windows Azure storage
The way SDS structures data is similar to tables in Windows Azure storage
Although there are differences, too
Yet the two have different goalsWindows Azure storage: Support Windows Azure applications
SQL Data Services: Provide a full range of database services in the cloud
It’s built on SQL Server
![Page 47: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/47.jpg)
Querying SQL Data Services
SDS data can be accessed via:SOAP
REST Optionally, using an ADO.NET Data Services client
SDS provides a query language based on the LINQ C# syntax
Available operations include ORDER BY and JOIN
![Page 48: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/48.jpg)
Using SQL ServicesSome examples
An application might archive older data to SQL Data Services
For lower-cost availability
An organization might make data available to both in-house and partner apps through SQL Data Services
Such as a company with a far-flung dealer network
A Web application might divide its data between SQL Data Services and on-premises storage
Storing only proprietary data inside the firewall
![Page 49: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/49.jpg)
CompetitorsToday's most visible alternatives
Amazon Simple Storage Services (S3)Provides blob storage
Primarily competes with Windows Azure storage blobs
Although SDS can also store blobs
Amazon SimpleDBProvides hierarchical structured storage
Competes with Windows Azure storage tables and with SQL Data Services
![Page 50: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/50.jpg)
The Azure Services Platform: Live Services
![Page 51: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/51.jpg)
What the Live Framework Allows
Accessing Live Services data
Creating a mesh of devicesWith Live Services data synchronized across them
Creating mesh-enabled Web applicationsThat can run in your browser or on your desktop
![Page 52: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/52.jpg)
Hotmail
. . .
Messenger
Contacts
Calendar
Windows Live
Applications
Search
. . .
Maps
Other Live
Applications
Your
Applications
Live Mesh
Live Services
Users
Communications
and Presence
Devices
Applications
Synchronization
Identity
Directory
Storage
Search
Geospatial
Live Services and the Live Framework
Live Framework
Live Operating
Environment
![Page 53: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/53.jpg)
Live Framework
Live Operating
Environment
HTTP
(AtomPub)
Your
Applications
Java
JavaScript
Silverlight
.NET
Other
Live Services
Users
Communications
and Presence
Devices
Applications
Synchronization
Identity
Directory
Storage
Search
Geospatial
Accessing Live Services DataAn illustration
![Page 54: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/54.jpg)
Accessing Live Services DataPoints of interest
Applications can use direct RESTful HTTP calls
Applications can also use a Live Framework Toolkit
Provides a language-specific API to Live Services data
Microsoft provides toolkits for:.NET
Silverlight
JavaScript
Anyone else can create other toolkits
![Page 55: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/55.jpg)
Windows
Vista/XP
Desktop
Windows
Mobile
Device
Macintosh OS X
Desktop
1) Add system to user’s mesh
User
Creating a Mesh
Windows Vista/XP
Laptop
2) Download and install
Live Operating
Environment
Live
Desktop
![Page 56: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/56.jpg)
Mesh
Live Operating
Environment
Desktops/Devices
Live Operating
Environment
Cloud
HTTP
HTTP Application
Data
Sync
Live Services
Users
Communications
and Presence
Devices
Applications
Synchronization
Identity
Directory
Storage
Search
Geospatial
Using a Mesh
![Page 57: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/57.jpg)
Mesh-Enabled Web Applications
They’re rich Internet applications (RIAs) built using:
Silverlight
JavaScript
Other RIA technologies
A mesh-enabled Web application can run:In a browser via the Live Desktop
On the desktop in a Live Services-provided host
![Page 58: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/58.jpg)
Cloud
Live Operating
Environment
Desktops/Devices
Mesh
3) Synchronize application
Live Services
Application
Catalog
Mesh-
Enabled Web
Application
Live Operating
Environment
Silverlight, others
Mesh-
Enabled Web
Application
4) Run application
1) Find application
User
Mesh-Enabled Web ApplicationsInstalling one on a mesh
2) Install application
![Page 59: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/59.jpg)
Using Live ServicesSome examples
A Java application running on Linux might access Live Services data
A .NET Framework application might rely on the mesh to synchronize data between the cloud and devices
Letting the application work on a local copy of data when it’s disconnected
A mesh-enabled Web application could let people keep up to date with their friends
Using Live Services data feeds and more
![Page 60: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/60.jpg)
Industry ContextA perspective
Google Data APIs (GData)Allow AtomPub-based access to Google application data
Google GearsProvides synchronized local/cloud data
Adobe Integrated Runtime (AIR)Allows running Flash/Flex RIAs on the desktop
![Page 61: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/61.jpg)
Application Platforms Today:A Summary
![Page 62: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/62.jpg)
. . .
Integration
Identity
Storage
Operating System
Foundation
Application
Local Support
Applications
Users
Development
Tools
Infrastructure Services
Application Services
Defining an Application PlatformA general model
![Page 63: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/63.jpg)
Dynamics
CRM
platform
BizTalk
Server, MSMQ
. . .
Active
Directory
File shares, SQL Server, SharePoint libraries
Windows
Foundation
Application
Visual Studio
Infrastructure Services
Application Services
The Microsoft Application PlatformA server-oriented perspective
.NET
Framework
SQL Server
SharePoint
Other
Applications Users
Microsoft
Dynamics
![Page 64: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/64.jpg)
On-Premises
Foundation
On-Premises
Application
Cloud
Foundation
Cloud
Application
Cloud
Infrastructure
Services
Cloud
Application
Services
On-Premises
Infrastructure
Services
On-Premises
Application
Services
On-Premises and Cloud Platforms
![Page 65: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/65.jpg)
File shares, SQL Server,
SharePoint Libraries
On-Premises Infrastructure Services
BizTalk Server, MSMQ
Active Directory
SQL Services, Windows Azure
Storage, SharePoint Online
Libraries
Cloud Infrastructure Services
.NET Services Workflow/
Service Bus
Windows Live ID,
.NET Services Access Control
Cloud Application Services
Windows Live Contacts
Windows Live Photo Gallery
Virtual Earth
Live Search
CRM Online
Cloud
Application
Cloud Foundation
CRM Online
platformWindows
Azure
SharePoint
Online
On-Premises Application Services
Dynamics CRM
…
Microsoft
SQL Server
Windows
On-Premises Foundation
.NET
Framework
Dynamics
CRM platformSharePoint
On-Premises
Application
Live
ServicesWindows Azure
![Page 66: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/66.jpg)
On-Premises Application Services
On-Premises Infrastructure Services
Cloud Infrastructure Services
Amazon Identity
Cloud Application Services
On-Premises Foundation
Cloud
Application
Cloud Foundation
Elastic Compute Cloud (EC2)
Amazon
On-Premises
Application
Simple DB, Simple Storage
Service (S3)
Simple Queue Service (SQS)
![Page 67: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/67.jpg)
Cloud Infrastructure Services
Google Accounts
Contacts
Picasa
Cloud Application Services
Maps
Search
On-Premises Foundation
Cloud
Application
Cloud Foundation
AppEngine
On-Premises
Application
Data
APIs
On-Premises Application Services
On-Premises Infrastructure Services
![Page 68: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/68.jpg)
Cloud Infrastructure Services
Salesforce.com
Identity Services
Cloud Application Services
Salesforce.com
On-Premises Foundation
Cloud
Application
Cloud Foundation
Force.com
Salesforce.com
On-Premises
Application
On-Premises Application Services
On-Premises Infrastructure Services
![Page 69: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/69.jpg)
Oracle DBMS
Oracle DBMS
On-Premises Infrastructure Services
Oracle ESB, BPEL Process
Server, etc.
Oracle
Beehive
Cloud Infrastructure Services
Cloud Application Services
Oracle On Demand
Applications
On-Premises Application Services
Oracle Applications
…
Oracle
On-Premises Foundation
On-Premises
Application
Oracle Identity ManagementOracle
WebLogic
Server
Cloud
Application
Cloud Foundation
Elastic Compute Cloud (EC2)
Oracle DBMS
![Page 70: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/70.jpg)
DB2
On-Premises Infrastructure Services
WebSphere ESB, MQ,
WebSphere Process Server
IBM
Tivoli Identity Management
On-Premises Application Services
Cloud Infrastructure Services
Cloud Application Services
Cloud
Application
Cloud Foundation
DB2
AIX, Z/OS, etc.
WebSphere
Portal,
Domino
On-Premises Foundation
On-Premises
Application
WebSphere
Application
Server
![Page 71: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/71.jpg)
Conclusions
Cloud platforms are hereMicrosoft is placing a big bet with the Azure Services Platform
A new world is unfoldingPrepare to be part of it
![Page 72: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/72.jpg)
References
Introducing the Azure Services Platform: An Early Look at Windows Azure, .NET Services, SQL Services, and Live Services
http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.pdf
A Short Introduction to Cloud Platforms: An Enterprise-Oriented View
http://www.davidchappell.com/CloudPlatforms--Chappell.pdf
![Page 73: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications](https://reader031.vdocuments.mx/reader031/viewer/2022022500/5aa08d6d7f8b9a76178e2506/html5/thumbnails/73.jpg)
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 dozens of 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 translated into ten 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.