microsoft cloud-services-architecture-1226619291360503-8

29
Microsoft Cloud Services Architecture David Chou Architect, Microsoft

Upload: llc-newlink

Post on 13-May-2015

633 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Microsoft cloud-services-architecture-1226619291360503-8

Microsoft Cloud Services Architecture

David Chou

Architect, Microsoft

Page 2: Microsoft cloud-services-architecture-1226619291360503-8

Courtesy – wordle.net

Page 3: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 4: Microsoft cloud-services-architecture-1226619291360503-8

This is not new…

Economy of ScaleLow High

ControlHigh Low

Build vs. Buy

Page 5: Microsoft cloud-services-architecture-1226619291360503-8

This is new…

Economy of ScaleLow High

ControlHigh Low

On premises vs. in the cloud

Page 6: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 7: Microsoft cloud-services-architecture-1226619291360503-8

“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

Page 8: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 9: Microsoft cloud-services-architecture-1226619291360503-8

“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

Email

Issue Tracking

ERP

Bu

ild v

s. B

uy

Bu

ildB

uy

On premises vs. CloudOn premises Cloud

Page 10: Microsoft cloud-services-architecture-1226619291360503-8

A Sample Enterprise

Hosted “Home Built”

Hosted “Packaged”

ERP

“Packaged”Application

“Home Built”Application

“Software as a Service”

Cloud Platform

Clinical Trial

Molecule Research

Email

Issue Tracking

HR System

Bu

ild v

s. B

uy

Bu

ildB

uy

On premises vs. CloudOn premises Cloud

Page 11: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 12: Microsoft cloud-services-architecture-1226619291360503-8

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)

Page 13: Microsoft cloud-services-architecture-1226619291360503-8

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.

Page 14: Microsoft cloud-services-architecture-1226619291360503-8

Spectrum of Choices

Extend existing On-Premise Application

Deploy Complete Application in the Cloud

Compose New Application from Cloud Services

Page 15: Microsoft cloud-services-architecture-1226619291360503-8

Page 16: Microsoft cloud-services-architecture-1226619291360503-8

ServiceBus

AccessControl

Workflow Database

Reporting

Analytics

Compute Storage Manage

Identity

Devices

Contacts

Page 17: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 18: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 19: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 20: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 21: Microsoft cloud-services-architecture-1226619291360503-8

Azure & .NET FrameworkBuild, test, debug, and deploy using a single familiar toolset

On-premises & Hosted Servers

Desktop & Mobile Experiences

Client Server Services

Page 22: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 23: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 24: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 25: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 26: Microsoft cloud-services-architecture-1226619291360503-8

Scenario – NBC Olympics

Live Event(Beijing)

International Broadcast

Center (Beijing)

30 Rock(New York)

DMZs (New

Jersey, Burbank)

Video Production WorkflowCDN

DistributionVideoPlayer

Limelight & Level3

Page 27: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 28: Microsoft cloud-services-architecture-1226619291360503-8

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

Page 29: Microsoft cloud-services-architecture-1226619291360503-8

© 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!

[email protected]

blogs.msdn.com/dachou