microsoft cloud-services-architecture-1226619291360503-8
TRANSCRIPT
Microsoft Cloud Services Architecture
David Chou
Architect, Microsoft
Courtesy – wordle.net
Which is better?
1 gallon of fuel -> ¼ ton of „freight‟; 20 miles 1 gallon of fuel -> 1 ton of freight; 436 miles
Economy of ScaleLow High
ControlHigh Low
Can mostly go from A to BLeaves 2x day at 9.12am and 11.14pm
Can goes anywhere there is a roadReady to go anytime
This is not new…
Economy of ScaleLow High
ControlHigh Low
Build vs. Buy
This is new…
Economy of ScaleLow High
ControlHigh Low
On premises vs. in the cloud
Application runs
on-premises
Buy my own hardware, and
manage my own data center
On premises vs. in the cloud
Application runs
at a hoster
Co-locationor
Managed servers
Application runs
using cloud services
“cloud fabric”(elastic,
infini-scale)
Economy of ScaleLow High
ControlHigh Low
“Packaged”Application
An application that I buy “off the shelf” and
run myself
“Home Built”Application
An application that I develop and run myself
Bu
ild v
s. B
uy
Bu
ildB
uy
Hosted “Home Built”
An application that I develop
myself, but run at a hoster
Hosted “Packaged”
An application that I buy “off the shelf” and run at a hoster
Cloud Platform
An application that I develop
myself, but run in the cloud
“Software as a Service”
A hosted application that
I buy from a vendor
On premises Cloud
On premises vs. in the cloud
Hosted “Home Built”
An application that I develop
myself, but run at a hoster
Cloud Platform
An application that I develop
myself, but run in the cloud
“Packaged”Application
An application that I buy “off the
shelf” and run myself
Hosted “Packaged”
An application that I buy “off the
shelf” and then run at a hoster
“Home Built”Application
An application that I develop and run myself
Bu
ild v
s. B
uy
Bu
ildB
uy
On premises vs. CloudOn premises Cloud
Maximum Economy of Scale
All acceptable options (trade off)
Maximum Control
“Software as a Service”
A hosted application that
I buy from a vendor
“Packaged”Application
“Home Built”Application
A Sample Enterprise
Hosted “Home Built”
Hosted “Packaged”
“Software as a Service”
Cloud Platform
Clinical Trial
Molecule Research
HR System
Issue Tracking
ERP
Bu
ild v
s. B
uy
Bu
ildB
uy
On premises vs. CloudOn premises Cloud
A Sample Enterprise
Hosted “Home Built”
Hosted “Packaged”
ERP
“Packaged”Application
“Home Built”Application
“Software as a Service”
Cloud Platform
Clinical Trial
Molecule Research
Issue Tracking
HR System
Bu
ild v
s. B
uy
Bu
ildB
uy
On premises vs. CloudOn premises Cloud
More than “build vs. buy” and hosting location
Economy of ScaleOn-Premises High
ControlHigh Cloud
Customizability
Ease of Provisioning
Global Reach
Security & Privacy
Share & Reuse
Partitioning & Redundancy
Data Availability
Data Consistency
Consistency vs. Availability (ACID vs. BASE)
BASE– Basically Available
– Soft state
– Eventually consistent
• Availability first; best effort
• Aggressive (optimistic)
ACID– Atomicity
– Consistency
– Isolation
– Durability
• Focus on “commit”
• Conservative (pessimistic)
CAP (Consistency, Availability, Partition) Theorem
At most two of these properties for any shared-data system
“Towards Robust Distributed Systems”, Dr. Eric A. Brewer, UC Berkeley
C A
P
Consistency + Availability
• High data integrity
• Single site, cluster database, LDAP, xFS file system, etc.
• 2-phase commit, data replication, etc.
C A
P
Consistency + Partition
• Distributed database, distributed locking, etc.
• Pessimistic locking, minority partition unavailable, etc.
C A
P
Availability + Partition
• High scalability
• Distributed cache, DNS, etc.
• Optimistic locking, expiration/leases, etc.
Spectrum of Choices
Extend existing On-Premise Application
Deploy Complete Application in the Cloud
Compose New Application from Cloud Services
™
ServiceBus
AccessControl
Workflow Database
Reporting
Analytics
Compute Storage Manage
Identity
Devices
Contacts
™
Compute ServicesScalable and reliable Web applications 64-bit hosting service in the cloud
.NET 3.5 SP1, managed code, ASP.NET, IIS 7, SOAP/REST/XML, PHP, Ruby, Python
Security supported by flexible Code Access Security policies
Small runtime API supports logging and local scratch storage
Storage ServicesSimple data storage for cloud-based applications
Blobs, tables, and queues; local and remote REST-based access to data
Authenticated access and triple replication
Management ServicesManage the applications, not infrastructure
Advanced tracing & logging – monitor compute, storage, and bandwidth
Dynamically upgrade applications without downtime
Resource usage and performance insights; monitoring & metering
Development ToolsModel and execute business logic and service interactions
Complete offline environment, including compute and storage services
Visual Studio add-in enables local debugging (Eclipse soon)
Cloud services operating system that provides on-demand compute and storage
capabilities to host, scale, and manage applications
Service BusExchange messages between loosely coupled, composite applications
Connectivity to on-premises applications; secure, federated firewall-friendly messaging;
simple, connected pub-sub eventing; extension of WCF
Federated namespace – shared, hierarchical, Internet-accessible URL
Service registry – publish service endpoints, lightweight, hierarchical, RSS-based discovery
Relay and connectivity – NAT traversal, pull-mode message delivery, Web service
intermediary, WS-*/SOAP, REST
Access Control ServiceRules-driven application access control to users across organizations
Security Token Service (STS) – User name/password, Windows CardSpace, X.509 certificate,
3rd-party STS-issued SAML token, WS-Security, WS-Federation
Each .NET Services solution has a private, isolated STS; backing identity infrastructure for all
services published within that solution’s Service Bus namespace
Claims-based rules-driven authorization – configured via claim mappings
Workflow ServiceModel and execute business logic and service interactions
Reliable and scalable cloud runtime environment for user-defined declarative workflows
Extends Windows Workflow Foundation (.NET 3.5) to the cloud
Activities optimized for sending, receiving, and manipulating HTTP and Service Bus messages
Deploy, manage and track running workflow instances using tools and APIs
Highly scalable and Internet-facing distributed database services in the cloud for
storing structured and unstructured data, and processing relational queries
SQL Data ServicesInternet-facing database built on SQL Server relational database
Data storage – blobs, flexible, structured, birth to archival, multiple consistency levels
Data Processing – filters, aggregates, user-defined logic, online-offline indexing
Data Delivery – network proximity aware, locate closest static-content copies, spanning trees
for live-content, failure resiliency
Scalable, Flexible, Reliable, and SecureHigh-availability database, scale as needed and without limits
Data partitions limited to single node on cluster – efficient replication and load balancing
Geo-replication and transactional consistency of data across multiple copies
Geo-location configuration helps protect against latency and improve response time
HTTPS/SSL support; built on SQL Server security infrastructure
Developer AgilityStandards-based interface and familiar language support
Access runtimes through standards-based interfaces and Web services – SOAP and REST
Perform CRUD operations with authorities, containers, and entities
Relational queries via text-based queries, LINQ, typed data in XML wire format
Simple filtering, retrieval of complete entities, full-text search, paging queries
Flexible data model, no schema required
Highly scalable and Internet-facing distributed database services in the cloud for
storing structured and unstructured data, and processing relational queries
Live FrameworkExtensible components to build rich consumer services
Mesh Services – build applications that span across the web, devices, apps, and services
o User – Mesh management and sharing resources across multiple users
o Device – facilities for managing the collection of heterogeneous devices; relationship, status, security
o Synchronization – data and metadata synchronization framework across applications, devices, and cloud
o Application – facilities for managing the configuration, deployment, and versioning of applications
Identity Services – manage identities with associated services; delegated authentication
Directory Services – manage relationships between identities, data, devices, and apps
User-Data Storage Services – manage user-centric information; extensible data types
Communication and Presence Services – transport infrastructure for transient and persistent
state management between applications and devices
Search Services – facilities for building search capailities for web sites and applications
Geospatial Services – geocoding/reverse geocoding, routing, search, mapping data
Development PlatformUniform way for programming Live Services from any platform, language, application or device
Exposes RESTful programming model for live resources
Protocol based – open standards usage: HTTP, XML, ATOM, RSS
Resource Model: unified model across Live
Symmetric client/cloud programming model
CRUD/Query, triggers and SPROC based interaction model
Libraries: Rich client libraries (.NET, Silverlight, JavaSript etc.)
A set of building blocks for handling user data and application resources, and
extensible components to build rich social applications and consumer experiences
Azure & .NET FrameworkBuild, test, debug, and deploy using a single familiar toolset
On-premises & Hosted Servers
Desktop & Mobile Experiences
Client Server Services
data process security management
Design Considerations
stateless
idempotent
isolation
loosely-coupled
asynchronous IPC
fault-tolerant (expect failures)
read-only
public / share-able
reference data
primary key access
Not all data is equal
claims-based authentication
identity federation
end user idntities
leverage automation
plan for average load
aware of application lifecycles
rolling changes to live services
handle dynamic data schema and configuration changes
Potential Scenarios
Parallel and distributed processing
– Image processing and rendering
– Media content transcoding and publishing)
– Finding extra-terrestrials
Voting systems
Share-able reference data
– Search indexes
– Catalogs
– Maps, profiles, blogs, files, documents, etc.
Composite services, mashups
Agent architectures
Multi-enterprise business applications (MEBA)
– Inter-organizational (B2B) business processes
– Extend enterprise SOA to other enterprises
Scenario – NBC Olympics
1.3 billion page views
50 million unique visitors
70 million videos watched
27 minutes of viewing per session
600 million minutes of video delivery
5,000 unique clips viewed per day during the final week
35 million mobile views
130,000 peak streams
3.4 petabytes of video delivered
Scenario – NBC Olympics
NBC (New York and Beijing)
Microsoft (Redmond)
DeltaTre (Italy)
Schematic (New York, Atlanta, Costa Rica)
Limelight Networks
Level3
Digital Rapids
Anystream
Signiant
DoubleClick
Omniture
Keynote
Sliq
Scenario – NBC Olympics
Live Event(Beijing)
International Broadcast
Center (Beijing)
30 Rock(New York)
DMZs (New
Jersey, Burbank)
Video Production WorkflowCDN
DistributionVideoPlayer
Limelight & Level3
Scenario – Next-Generation B2B Collaboration
Characteristics
• Near-time collaboration between many partners
• Many-to-many relationships
• Physically distributed locations
• Complex workflows managing processes that span organizations
• Shared data
• Network effect – whole > sum of its parts
• Agile implementation
Emerging Patterns
• De-perimeterization
• Democratization of industries
• Dynamic business models
• Relationship networking core competencies
• Shifting process centers of gravity
• Plug-and-play IT architectures
• Model-driven development, DSL
© 2008 Microsoft Corporation. All rights reserved. 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.
Thank you!
blogs.msdn.com/dachou