Michael Stiefel Reliable Software, Inc. Microsoft Corporation [email protected] http://www.reliablesoftware.com/dasblog/default.aspx What is the cloud? Computation can be a utility.
Download
Report
Transcript Michael Stiefel Reliable Software, Inc. Microsoft Corporation [email protected] http://www.reliablesoftware.com/dasblog/default.aspx What is the cloud? Computation can be a utility.
Michael Stiefel
Reliable Software, Inc.
Microsoft Corporation
[email protected]
http://www.reliablesoftware.com/dasblog/default.aspx
What is the cloud?
Computation can be a utility.
Azure is a cloud operating system.
An operating system:
abstracts the underlying infrastructure
manages resources
Windows Azure primary features:
Service management
Compute
Storage
Developer experience
You define rules and provide code
Platform deploys, monitors, and
manages your service according
to your rules
All of the hardware: servers; load
balancers; etc…
Virtualized and direct execution
Blobs
Tables
Queues
LB
n
Web Role
m
Worker Role
Cloud Storage (blob, table, queue)
Develop and
Model
Deploy and
Run
What’s in the model?
Service topology and size
Health constraints
Configuration settings
Maintain
Service Health
Logical resources declared in the
service model
Platform APIs map logical resources
to physical entities
Service code then uses these APIs
Operating System can replace
resources transparently:
Failures
Upgrades
Scaling
A balance between power and ease of use
Write well behaved services, reduce your TCO
Designed for a full range of scenarios, from
the hobbyist to the enterprise developer
But there is an escape hatch …
In “Raw” mode, you can build your own
VM and manage the service yourself
Simple, essential storage abstractions:
Large items of user data: Blobs,
Service state: Simple tables,
Service communication: Queues,
,…
,…
,…
With an emphasis on:
Massive scale, availability and durability
This is not a database service in the cloud
SQL Data Services for Cloud DB capabilities
A cloud environment on the desktop
Support for a variety
of programming languages
ASP.NET, .NET languages, native code, PHP
An ecosystem of tools and support
Integration with Visual Studio, Eclipse
Logging, alerts, tracing, …
Samples, documentation, MSDN, forums, …
Developer
Experience
Consistent with onpremises
Standard support - REST
& SOAP
Support for 3rd party
languages Coming soon
Service Hosting
Scalable (elastic)
Flexible
Secure & Reliable
Service
Management
Tracing & logging
Upgrade service w/o
downtime
Real-time monitoring &
metering
Azure Services Platform
Simple scenarios are simple – complex scenarios are possible
Services hosted in Microsoft’s data centers
Designed for high availability & scalability
Multiple protocol support including HTTP, REST, SOAP, AtomPub
Broad investment in open, community-based access to Azure services
Familiar tools, languages, and frameworks with .NET and Visual Studio
Provides the choice to build on-premises, cloud, or hybrid solutions
Integrate with existing assets such as AD and premises applications
Azure Services Platform
™
.NET Services
Access Control
Workflow
Service Bus
Support user identities securely
across different organizations
Model and execute business
logic and service interactions
Exchange messages between
loosely coupled, composite
applications
Claims-based identity
management
Interoperable & based on
standard protocols (WSTrust)
Manage through web page
and/or a services API
Supports CardSpace, LiveID,
Username/Password
Runtime execution
environment for XAML-based
workflows
Enables the orchestration of
services
Extension of Windows
Workflow Foundation
XAML-based models can be
uploaded to the cloud
Simple publish-subscribe
eventing
Firewall friendly messaging
Flexible connection modes
Connectivity to on-premises
applications to enable hybrid
S+S scenarios
Extension of Windows
Communication Foundation
Extending .NET technologies to the cloud
Open and accessible
REST, SOAP, RSS, AtomPub, …
Class libraries for Java, PHP, Ruby, …
Easy-to-use from .NET – skills move forward
Initial focus on three key developer challenges
Application integration
Access control in a federated world
Application extensibility
Key developer challenges
Many identity providers, many vendors, many
protocols, complex semantics – tricky to get right
Application strewn with one-off access logic
Hard to get right, not agile, not compliant, many
dead ends
Approach
Automate federation for a wide-range of identity
providers and technologies
Factor the access control logic from the application
into manageable collection of rules
Easy-to-use framework that ensures correct
token processing
These all use same approach to access control:
•
Microsoft SQL Data Services
o Accepts both a Username & Password and a token produced
by .NET Access Control Service
•
•
•
.NET Service Bus
.NET Workflow Service
The Portals
.NET ServiceBus, .NET Workflow Service
and Microsoft SQL Data Services have .NET
Access Control Service accounts.
These accounts contain scopes
and encryption preferences.
Rules are automatically added to scopes
when new customer accounts are created.
The rules are different for the .NET
Service Bus, .NET Workflow Service,
and the Microsoft SQL Data Service.
The .NET Service Bus and .NET
Workflow Service grant customer
accounts edit permissions based on the rules.
Adventure
Works
Azure™ Services
LiveID
Access
Control
Mesh
Service
Bus
Workflo
w
SQL
Data
Contoso
SAP
AD
Your Enterprise
[email protected]
Cory
ASP.NET
“Geneva”
Mail
Fabrikam
*Hosted or self-hosted
AD
[email protected]
Services
Connector
Francis
<Any ID
Provider>
Live ID Users
XYZ Domain
Users
Your Customers
What
can they
do?
Access Control
Service
Who is the
caller?
Integrate
Orchestrate
Service
Bus
UI
WF
Data
Your App
Store
Portal
A UI for creating and managing
collections of access control rules
Client API
Provides a programmatic way to
manage collections of access control rules
Secure Token Service (STS)
A hosted service that issues tokens
Developers interact with the
service via the “Geneva” Framework
Flexible, rules-driven access control
Rich support for a wide range of
identity providers
The Geneva framework is the .NET
developer experience
Easy to incorporate into
existing applications
Works with lots of other environments; e.g.
Sun’s Java Metro 1.3, …
Key developer challenges
Want to make it easy and secure for
partners to use your application
Don’t always know the characteristics or
scale of the integration
Partners / customers / users have
devices and services running behind
firewalls
Approach
Provide a high-scale, high-available
“Service Bus” that supports open
Internet protocols
Service Orchestration
Naming
Federated
Identity and
Access Control
Point Of Sale
Service Registry
Messaging Fabric
Supply Chain
CRM
POS
Integration
Product
Catalog
Inventory
Order Entry
Customers
Leads
Web Store
Returns
Purchasing
Planning
Campaigns
Trends
Service Orchestration
Naming
Federated
Identity and
Access Control
Your
Services
Service Registry
Messaging Fabric
Clients
On-Premise ESB
ESB
Desktop,
Desktop,
RIA,
RIA,
Web
&
Web
MS/3rd Party Services
The Internet Service Bus pattern
Service Registry
Connectivity (Relay & Direct Connect)
Publish/Subscribe
Nitty Gritty
Bindings
Ensuring connectivity
Integration with Access Control
[http|sb]://servicebus.windows.net/services/account/svc/…
Service Registry Root
The service registry provides a
mapping from URIs to services
Root
servicebus.
windows.
net
account
services
svc
contoso
Multi-Tenant
…
Two key capabilities
Relay
Direct connect
Relay
Ensure applications connect
Available to all via the service registry
Direct connect
Uses the relay to establish communication
Then shortcuts for efficiency
Available via HTTP / REST / ATOM
Available in .NET via WCF Bindings
sb://servicebus.windows.net/services/user/service/endpoint
Relay
Outbound SSL-Secured TCP 828
Connection to Relay Rendezvous
Endpoint
Sender
One-Way Messages
through TCP Tunnel
Receiver
sb://servicebus.windows.net/services/user/service/endpoint
Relay
- Outbound SSL-Secured TCP 828
Connection to Relay
- Out-of-Band Protocol to
negotiate Direct Connection
Sender
Receiver
Upgrade to Direct
when possible
Builds on the relay and direct connect
connectivity capabilities
Initial release is “connected multicast”
Over time will provide additional delivery
characteristics – anycast, reliable, …
sb://servicebus.windows.net/services/user/service/endpoint
Relay
Outbound SSL-Secured TCP 828
Connection to Relay Rendezvous
Endpoint
Sender
One-Way Messages
through TCP Tunnel
Receiver
Receiver
Receiver
Receiver
Service Registry
Relay and direct connect
connectivity
Publish/Subscribe
Integrated with Access Control
services
Key developer challenges
Want to easily describe long-running
processes
Want modularity and nesting
Easy to describe but in practice harder to run
▪ Hosting and scaling can be challenging
▪ Setup and installing, define scale-out approach,
ensure long-running availability, manage upgrades,
…
Approach
.NET 3.0/3.5/4.0 addresses key developer
requests
.NET Services makes it easy to deploy,
manage and run Workflows
Tooling
Easily describe
coordinated work
with minimal
ceremony
VS Designer
VS Debugger
Re-hosted
Designer
Workflow
Activity
Library
Tools/Designers
Activity Library
Runtime
Hosts
WF Runtime
Hosts
IIS/WAS+
“Dublin”
Workflow
Service
your.exe
“Direct”
A reliable, scalable, off-premises, host for workflows
A portal at workflow.ex.azure.microsoft.com
New activities for the Azure Services Platform
APIs that allow you to deploy, manage, and run
your workflows on the cloud
Enables you to orchestrate services
Connect to services in your enterprise anywhere on
the Internet – uses the connectivity services
Give you partners and customer access – uses the
access control services
1.
Design Workflows
Choose WF Model
Use a WF Designer
Use new Azure activities and a subset of WF out-
of-the box activities
2.
Deploy Workflows
Upload and validate
3.
Manage Workflow Types
Add, delete, update, view instances
4.
Manage Workflow Instances
Create, run, control, track execution
Visual Studio WF Designer
1
VS – one click deploy
2
1
Design Workflows
2
Deploy Workflows
3
Manage Workflow Types
4
Manage Workflow Instances
Your Apps & Services
http://
2
Workflow &
Rules XAML
3
4
•Workflow Portal
•WorkflowClient API
•SOAP Web Service
ServiceBus
Execute Workflows with high availability
Design Workflows using existing tools
Easily deploy and manage Workflows
Portal for easy access
Management APIs for rich automation
WINDOWS AZURE STORAGE
SQL DATA SERVICES
“Essential storage service in
the cloud”
“Premium database service in the
cloud”
Provides a core set of nonrelational storage and retrieval
abstractions at massive scale
Extends the rich capabilities of
the SQL data platform to the
cloud at scale
Relational data processing over
structured and unstructured data
Integrate with key data platform
capabilities – e.g. Data Analytics,
Reporting, ETL
SQL Services
Developer Agility
Relational queries
Blobs
XML wire format
SOAP and REST support
Scalability and
Flexibility
Reliability and
Security
Data partitioned for
throughput and unlimited
Scale
Transactional
Consistency.
Flexible data model - no
enforced schema
Built using Microsoft SQL
Server technology
Authentication &
Authorization
Backup and geodistribution for Business
Continuity
SDS is built on three key pillars:
1. Storage for all data types from
birth to archival
2. Rich data processing services
3. Operational excellence
Reporting
We’ll focus on
Data model/access
Occasionally
connected
Business intelligence
Analysis
Integration
Query
FILE
RDBMS
OLAP
XML
Mobile/
Desktop
Server
Sync
Search
DataServices
Line of Business Applications
Delivered as a Service
Collaborative Web Applications
Shared Data Hub
Data Warehousing and
Business Intelligence
Authority
Unit of geo-location and billing
Server, Tied to DNS Name
uthority
Container
Unit of consistency/query (DB)
Collection of entities
No schema required (no metadata)
ontainer
Entity
Property bag of name/value pairs
Unit of update/change (rows)
Flexible shape and types
ntity
Entity properties may differ in type and instance:
Different
Instance
Types
Additional Property
SDS Front End
SDS apps are container-aware
Requests include a target container
Implementation is opaque to users
Containers – unit of consistency
Replicated for reliability and HA
Reconfigured during failover
Used for load balancing
Rich SQL-like operations within
a container
Some operations crosscontainers
Container size limitations
SDS Back End
Container X
SQL Data Services (SDS) has been architected for
flexible use within your future software+service
application architectures
SDS is being extended in many important directions,
revealing the full power of SQL Server and the SQL
Server data platform in the cloud
Relational capabilities
Data model
Alignment to ADO.NET Data Services conventions
Data Synchronization
SQL Server platform capabilities like BI
Azure Services Management Tools:
http://code.msdn.microsoft.com/AzureManagementTools
… are a set of building blocks for handling user
data and application resources which can
connect your application to hundreds of
millions of users.
Live Services
Mesh Services
1.2B
367M
460M
30B
nnPB
320M
Live Services
Jump Start Traffic
460+ Million people
on Windows Live
Embed Social
Building Blocks
Comprehensive
Windows Live services
API’s (incl. Messenger,
feeds, contacts, search)
Developer Tooling with
integrated Live Services
Connect across
Devices
Open, interoperable
programming interface
and resource model
across PC, Phone and
Web
Data synchronization
and local accessibility
across many end points
Cloud/Client/Device reach
Access to user-data
Application ecosystem
Easy to get started
Live fx is the uniform way
to program Live Services
Any platform,
Any programming language
Any application or device
Live fx makes it easy to build
software + service applications
.NET developers can use the Live
fx API kit to build applications
Integrate Live Services
into your applications
Opt in to as much of the
Live Framework as you like
Expose your application
as Mesh Applications
World of
Devices
Social and
Community
Sites
Bring exciting new devices into the Mesh, integrate with core
infrastructure and experience
Seamlessly integrate social applications across invites, news feeds,
local devices experiences, and more
Web-tothe Client
Take your web application and content to the client, enable a rich
and seamless offline experience
Client-tothe Web
Service-enable client applications, make them Mesh-aware,
enable multi-user sharing-based experiences
Live fx is the uniform way to program Live
Services
Any platform,
Any programming language
Any application or device
Live fx makes it easy to build software +
service applications
.NET developers can use the Live
fx API kit to build applications
Operating system for the cloud
Designed for utility computing
Four primary features:
Automated service management
A powerful service hosting environment
Scalable, available cloud storage
A rich, familiar developer experience
Designed to encourage best practices:
Stateless compute + durable storage
Co-location of computation and data
Queues for asynchronous processing
An open platform
Connect outbound to any server
Open protocols and APIs on all components
It’s about “The Power of Choice…”
Extend existing
On-Premise Application
Deploy Complete
Application in the Cloud
Compose New
Application
from Cloud Services
PDC
• Compute
• Simple Storage
• Developer Tools
2009
• Native Code Support
• Advanced logging and
tracing
• Dynamic Scaling
• Variable VM sizes
• Query support for
Joins, Top, OrderBy
• Simple Data Model
• Transactional
Consistency
• Data Protection
• Rich data types
• Relational queries
• Business Intelligence as
a Service
• Access Control
• Workflow
• Service Bus
• Message Queuing
• Live Services
• Live Framework for
developers
• Live Mesh Experience
• Live Mesh services in
next major release of
Windows Live
• Additional data elements
via Live Framework
Future
• Global datacenter
presence
• Support for Windows
Server VM’s
• 3rd party open
standards support,
e.g. PHP, Ruby ,
Python, Eclipse
• Services Library/
Marketplace
Capital Expen$e vs. Operating Expen$e
And all the financial & operational implications that
entails….
Consumption-based business model
You pay only for what you use
No minimum or long term commitment
An inexpensive way to experiment
Easy to grow as your business grows
Elastic capacity and scalability
Simpler operating and management environment for
developers
Integrates well with on-premises applications and
services
Leverages existing technology investments and skillsets
Hurricanes! DRP! Geo-location!
Register for a .NET Services account & download the SDK
http://www.azure.com
Download the Azure Services Training Kit and HOLs:
http://www.microsoft.com/azure/trainingkit.mspx
Review the PDC Content at:
http://channel9.msdn.com/pdc2008
+
Robot Pack - Lego NXT Robot Kit + WROX Robotics
Developer Studio book
Mobility Pack - LifeCam NX-6000 & Wireless
Notebook Laser Mouse 6000
Gamer Pack - Gears of War 2, PGR4, Mass Effect,
Xbox 360 Wireless Headset & 3-month XBOX Live
Card
MSDN Subscription - one-year VSTS 2008 Team
Suite w/MSDN Premium Subscription
SoftLayer: Free WS 2008 Web Edition and
SQL Web Edition with any server order over
$179
Giveaways will happen at the end of the last session in each breakout room.
You must fill out page 1 completely and you must be present to win.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT
MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.