the azure services platform: a...
Post on 08-Mar-2018
220 Views
Preview:
TRANSCRIPT
The Azure Services Platform: A PerspectiveLisbon, November 17, 2008
David ChappellChappell & Associateswww.davidchappell.com
Agenda
Cloud Platforms: The Big Picture
The Azure Services PlatformWindows Azure
.NET Services
SQL Services
Live Services
Application Platforms Today
Cloud Platforms:The Big Picture
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
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
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
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
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?
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?
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
The Azure Services Platform
Windows Azure
Applications
.NET Services
Live Services
SQL Services
Applications
OthersWindows
Mobile
Windows
Vista/XP
Windows
Server
The Azure Services PlaformAn illustration
.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
.NET Services
Windows AzureLive Services
Applications
Applications
SQL Services
OthersWindows
MobileWindowsVista/XP
WindowsServer
Service Bus
Access Control ?
Workflow
.NET ServicesInfrastructure in the cloud
SQL Services
.NET Services
Windows AzureLive Services
Applications
Applications
OthersWindows
MobileWindowsVista/XP
WindowsServer
SQL Data
Services
Others
(Future)
SQL ServicesDatabase services in the cloud
.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
The Azure Services Platform:Windows Azure
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
…
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.
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
…
Fabric
Compute Storage
Application
Blobs QueuesTables
HTTP
Windows Azure Storage ServiceA closer look
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
Table . . .Table Table
Windows Azure StorageA closer look at tables
Entity . . .Entity Entity
Property PropertyProperty
Name Type Value
Storage
Accounts
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
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
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
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
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
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
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)
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
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?
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
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
The Azure Services Platform: .NET Services
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
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
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
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
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
Access Control
Service Bus
Workflow
HTTP
Workflow Service
Application Application
Service Bus
Workflow
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
The Azure Services Platform: SQL Services
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
Data Center
SQL Data
Services
Container . . .Container Container
HTTP/
SOAP
SQL Data Services
Entity . . .Entity Entity
Property PropertyProperty
Name Type Value
Authorities
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
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
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
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
The Azure Services Platform: Live Services
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
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
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
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
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
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
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
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
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
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
Application Platforms Today:A Summary
. . .
Integration
Identity
Storage
Operating System
Foundation
Application
Local Support
Applications
Users
Development
Tools
Infrastructure Services
Application Services
Defining an Application PlatformA general model
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
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
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
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)
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
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
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
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
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
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
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.
top related