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.