40
Windows Azure AppFabric Building, Managing, and Connecting High-Density Cloud Applications Clemens Vasters, Technical Lead, Microsoft http://vasters.com/clemensv Twitter: @clemensv

Windows Azure AppFabric Building, Managing, and Connecting High-Density Cloud Applications

  • Upload
    taipa

  • View
    52

  • Download
    0

Embed Size (px)

DESCRIPTION

Windows Azure AppFabric Building, Managing, and Connecting High-Density Cloud Applications. Clemens Vasters, Technical Lead, Microsoft http://vasters.com/clemensv Twitter: @clemensv. This Session. The Cloud, Multi-Tenancy, and the Middle Tier Why do we need a new middle tier? - PowerPoint PPT Presentation

Citation preview

Page 1: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Windows Azure AppFabricBuilding, Managing, and Connecting High-Density Cloud Applications

Clemens Vasters, Technical Lead, Microsofthttp://vasters.com/clemensvTwitter: @clemensv

Page 2: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

This Session

• The Cloud, Multi-Tenancy, and the Middle Tier• Why do we need a new middle tier?• What are the required capabilities?

• Windows Azure and Server AppFabric• What’s in it?• When can I use it?

2

Page 3: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Server Apps are Easy, Aren’t They?

Page 4: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

DB(SQL Server,

MySQL, NoSQL)

Web Server(ASP.NET, PHP,

Ruby, …)Sessions

Browser

Page 5: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

Services(WCF, WF, …)

Sessions / State

Apps

Reference Data

Reference Data

LOB Systems

AuthN/Z

AuthN/Z

Aggregate Data

Page 6: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

… add “The Cloud” …

Page 7: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

‘Box’ ISV Business is about R&D Cost

Infrastructure

Investment(Servers, Switches,

Disks, Racks, Server

Software, Power Supply,

Cooling, …)

ISV Software License

Cust

omer

Upf

ront

Cos

t

Box

ISV Maintenance Fees

$

Cust

omer

Rec

urrin

g Co

st

$

TIncome Scales With # of CustomersMargin Widens as R&D Cost is Distributed

Per Customer R&D Cost

Margin

ISV

Recu

rring

Cos

t

Page 8: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

ISV

Recu

rring

Cos

t

‘Cloud’ ISV Business is about Ops Cost

Infrastructure

Investment(Servers, Switches,

Disks, Racks, Server

Software, Power Supply,

Cooling, …)

ISV Software License

Cust

omer

Upf

ront

Cos

t

Cloud

Cust

omer

Rec

urrin

g Co

st

T

$ $

Service Operation Fee

Service Operation Cost

Margin

Growth Opportunity within Current Customer Base - Incentive to Optimize

Service Operation Cost

Keys to lower ops cost• Deployment

Automation• Self-Healing

Architecture• Auto-Scale• High Density• Multi-Tenancy

Page 9: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

Services(WCF, WF, …)

Sessions

Apps

Reference Data

Reference Data

LOB Systems

AuthN/Z

AuthN/Z

Aggregate Data

Multiple Application

Multiple Tenant

Multiple User

Page 10: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

…. maybe not so easy, after all.

Page 11: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

But there’s middleware to help with most of this …

Page 12: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

… all sorts of middleware, in factProg.

Models & Tools

Management

Config & Scaling

Webservices

Caches

Workflows

Access Controls

Routing, MessagesTransforms

Deployment to Operating System & Physical/Virtual Environment

Prog. Models &

Tools

Prog. Models &

Tools

Prog. Models &

Tools

Prog. Models &

Tools

Management

Config & Scaling

Management

Config & Scaling

Management

Config & Scaling

Management

Config & Scaling

Page 13: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Prog. Models &

Tools

Management

Config & Scaling

Webservices

Caches

Workflows

Access Controls

Routing, MessagesTransforms

Deployment to Operating System & Physical/Virtual Environment

Prog. Models &

Tools

Prog. Models &

Tools

Prog. Models &

Tools

Prog. Models &

Tools

Management

Config & Scaling

Management

Config & Scaling

Management

Config & Scaling

Management

Config & Scaling

Programming Model & Tool (Compose Apps, Simplify Approach across ALL Tiers)

Deploy & Management (As ONE)

Multi-Tenant, Elastic, Horizontal Scale, Perf, Resilience

Appliance Box Cloud

AppFabric

Page 14: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Programming Model & Tools Compose Apps, Simplify Approach across all Tiers

AppFabric - The New Middle-Tier

Deploy & Management (As ONE)

Webservices

Caches

Workflows

Access Controls

Routing, MessagesTransforms

Appliance Box Cloud

Databases

Web ServersNE

T +

AppF

abric

Com

posit

ion

Mod

el

& To

ols

AppF

abric

Man

agem

ent

Multi-Tenant, Elastic, Horizontal Scale, Perf, ResilienceAppFabric Container

AppFabric Services

Access Control

Cache

Workflow

Web Services

Service Bus

Integration

Page 15: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

AppFabric

Access Control

Cache

Workflow

Web Services

Service Bus

Integration

Page 16: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Cache

• How do you linearly scale your application to handle increasing load?• How do you get better performance and reduced data access latencies?• How do you store data mash-ups from multiple data repositories?• How do you manage ASP.NET session state and page output caching?• How do you reduce data-tier pressure without complex partitioning?• How do you do all this with a predictable cost model?

Access Control

Workflow

Web Services

Service Bus

Integration

Page 17: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Cache ServiceCommercial Availability

End of April 2011**Scheduled Release Date.

Page 18: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Windows Azure AppFabric Cache

• A distributed, in-memory cache for applications running in Windows Azure:– In-memory cache located near your Azure applications– Based on Windows Server AppFabric Caching

• Benefits:– Highly scalable with low latency and high

throughput– Can dynamically increase and decrease as needed,

without redeploying or modifying your application– User doesn’t have to bother with configuration,

deployment, or management of their cache infrastructure

Cache

Page 19: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Key Capabilities & Benefits

• Easily integrates into existing apps– Cache-Aside Model– One API for Server and Cloud– ASP.NET Session State Provider– ASP.NET Page Output Caching

Provider• Very low latency with Local Cache• Caches any serializable CLR object

– No serialization costs for local caching

• Secured w/ Access Control Service

Cache Web Role

DB

SessionsReference DataActivity

DataResource

Data

Output

Local Cache

Page 20: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Cache Capacity• Available in multiple sizes– 128 MB, 256 MB, 512 MB, 1 GB, 2 GB, 4 GB

• Use combination of these sizes or multiple of these to create your desired cache capacity

• Increase/decrease cache capacity dynamically– Data preserved when increasing capacity– Eviction policy followed when decreasing

capacity

Cache

Page 21: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

Services(WCF, WF, …)

Sessions

Apps

Reference Data

Reference Data

LOB Systems

AuthN/Z

AuthN/Z

Aggregate Data

Page 22: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Cache

• How do you achieve load-decoupling between subsystems?

• How do you balance work across scale-out workers?• How do you distribute events to dynamic subscribers? • How do you transfer messages reliably and

transactionally?• How do you reach into on-premise systems across

firewalls?• How do you organize and discover service endpoints?

Access Control

Workflow

Web Services

Service Bus

Integration

Page 23: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Service BusCommercially Available since January 2010

Brand-New Community Technology PreviewComing May 2011

Page 24: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Windows Azure AppFabric Service Bus

• Interconnect services across networks– Naming and Discovery– Connectivity w/ NAT and Firewall Traversal– Access Control Integrated Authorization

• Cloud-Based Message-Oriented Middleware– Next Generation Message Queue Technology– Rich Publish/Subscribe with Filtering– Transaction Integration

Service Bus

Page 25: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

New: Queues

Producer

In-Memor

yConsumer

Durable Storage

2MB

100MB

CapacityMessages60KB

256KB

Storage TTL10 min

No limit

REST/HTTP

SOAP/TCP

AMQP/TCP

Queue/Topic

Message Buffer

• Durable, Replicated• Rich Functionality• Grouping• For most decoupled

scenarios

• Volatile, not replicated• Simple REST interface • Light online/offline

scenarios

Page 26: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

New: Topics

• Multiple independent (durable) subscriptions

• Multiple rules per subscription, each with one or more filters.

Producer

1234567

Topic

2

4

6

8

Consumer

Consumer

Consumer

Service Bus <Topic>

…</Topic >

<Subscribe> <Rule>…</Rule></Subscribe>

=

Page 27: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Windows Azure AppFabric Service Bus

• More on Service Bus in Christian Weyer’s session tomorrow at 13:00

Service Bus

/svcA

/svcA2

/svcA3

/svcA

/msgB

/svcC

/svcC

/svcC NAT

Public

Direct

/msgB

Page 28: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

Services(WCF, WF, …)

Sessions

Apps

Reference Data

Reference Data

LOB Systems

AuthN/Z

AuthN/Z

Aggregate Data

Page 29: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Cache

Access Control

Workflow

Web Services

Service Bus

Integration

• How do you secure the edge of your system?• How do you authorize users based on roles or groups?• How do you federate with corporate Active Directory?• How do you leverage Facebook or Google or Live ID or

Yahoo ID?• How do you manage service identities?• How do you dynamically grant or revoke access?• How do you obtain access tokens to other systems?• How do you provide secure extensibility for applications?

Page 30: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Access Control “v2”Commercial Availability

Released April 2011

Page 31: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Windows Azure AppFabric Access Control

• Federated Identity and AuthZ for any Application– Web, Desktop, Mobile– Identity Providers:

• Facebook, Google, Yahoo, Live ID• Active Directory Federation Services 2.0• OAuth 2, Oauth WRAP• WS-Trust 1.3

– Tokens Formats• OAuth WRAP SWT• SAML 1.1, SAML 2.0

• Authorization Rules

Access Control

WS-*

Google, Yahoo

OAuth 2.0

FacebookWebsites and web servicesLive ID

OAuth WRAP

Access Control ServiceOpen ID Rule

s

Page 32: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

Services(WCF, WF, …)

Sessions

Apps

Reference Data

Reference Data

LOB Systems

AuthN/Z

AuthN/Z

Aggregate Data

Page 33: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

• How do you deploy your applications?• How do you add resources to scale your app?• How do you manage configuration as you scale?• How do you handle stateful and stateless comps?• How do you perform no-downtime upgrades?• How do you manage the app execution lifecycle?• How do you make your app highly available?• How do you monitor usage?• How do you isolate tenants?

Access Control

Workflow

Web Services

Service Bus

Integration

Cache

Page 34: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Windows Azure AppFabric “Container”

• Application Server Infrastructure– Deployment and Placement– Execution Lifecycle– Scale Out– High Availability– Isolation– Resource Management– Routing– Usage Monitoring

Workflow

Web Services

Page 35: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Browser

Web Server(ASP.NET, PHP,

Ruby, …)

DB(SQL Server,

MySQL, NoSQL)

Sessions

Services(WCF, WF, …)

Sessions

Apps

Reference Data

Reference Data

LOB Systems

AuthN/Z

AuthN/Z

Aggregate Data

Page 36: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

AppFabric RoadmapH2 2011

General AvailabilityCaching

CTP RefreshComposite App

General AvailabilityAccess Control

ReleaseService Bus enhancements

Q2 2011

General AvailabilityCaching

CTPComposite App

General AvailabilityAccess Control

CTP RefreshService Bus enhancements

Q1 2011

CTP RefreshCaching

CTP RefreshAccess Control

CTPIntegration

Page 37: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Questions?

Find me after this session outside the room.

Page 38: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

Stay up to date with MSDN Belux

• Register for our newsletters and stay up to date:http://www.msdn-newsletters.be• Technical updates• Event announcements and registration• Top downloads

• Follow our bloghttp://blogs.msdn.com/belux

• Join us on Facebookhttp://www.facebook.com/msdnbehttp://www.facebook.com/msdnbelux

• LinkedIn: http://linkd.in/msdnbelux/ • Twitter: @msdnbelux

Download MSDN/TechNet Desktop Gadget

http://bit.ly/msdntngadget

Page 39: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

TechDays 2011 On-Demand

• Watch this session on-demand via Channel9http://channel9.msdn.com/belux

• Download to your favorite MP3 or video player• Get access to slides and recommended resources by the speakers

Page 40: Windows Azure  AppFabric Building, Managing, and Connecting High-Density Cloud Applications

THANK YOU