23
Windows Azure for Developers Building Block Services Wednesday, March 7 th 2012

Windows Azure for Developers - Building Block Services

Embed Size (px)

DESCRIPTION

Learn about the next generation building block services available in Windows Azure that help to create connected, secure, and reliable services.​With services such as Caching, Service Bus (relay, queues, and topics), and Access Control Services (ACS) developers can focus more on building great solutions and less on plumbing services necessary to do so. In this webcast, we will take a look at many of the additional services offered as part of Windows Azure. We'll see just how easy it can be to add scalable caching with Windows Azure Caching, create robust connected solutions with the Service Bus, and secure applications with ACS.

Citation preview

Page 1: Windows Azure for Developers - Building Block Services

Windows Azure for Developers

Building Block Services

Wednesday, March 7th 2012

Page 2: Windows Azure for Developers - Building Block Services

About Me

Michael S. Collier

National Architect,

Windows Azure

[email protected]

@MichaelCollier

www.MichaelSCollier.com

Page 3: Windows Azure for Developers - Building Block Services

Today’s Agenda

• Windows Azure Overview• Building Block Services

– Access Control Services– Caching– Service Bus

• Q & A

Page 4: Windows Azure for Developers - Building Block Services

Windows Azure Core Components

WORKERROLE

WEBROLE

VM

VMROLE

QUEUESERVICE

BLOBSERVICE

TABLESERVICE

DATABASESERVICE

DATA SYNCSERVICE

IMPORT EXPORTSERVICE

REPORTINGSERVICE

Compute

Storage Database

DataMarket Service

Windows Azure Connect

Service Bus

Access Control Service

Cache Service

Windows Azure Traffic ManagerWindows Azure graphics courtesy of David Pallmann (http://davidpallmann.blogspot.com/)

Page 5: Windows Azure for Developers - Building Block Services

Building Block Services

• Additional platform services for advanced functionality• Use with “core” services or own their own• Enhance developer productivity• Consume cloud services – initial move to the cloud• Services

– Access Control Services – federated identity management service

– Caching – distributed caching service– Service Bus – messaging and routing service

Page 6: Windows Azure for Developers - Building Block Services

Access Control Services

• No need to build your own identity management – Another component to maintain– Likely not a distinguishable part of your application– Deal with user management

• User support• Password management (including resets)

Page 7: Windows Azure for Developers - Building Block Services

Federated Identity Management

• Authenticate– Windows Identity Foundation (WIF)– OAuth and WS-Federation

• Authorize– Claims-based

• Identity Providers– Corporate via Active Directory (ADFSv2)– Social

• Windows Live, Yahoo!, Google, Facebook

– Build your own using membership (identityserver.codeplex.com)

• Write to ACS and let Microsoft worry about the rest

Page 8: Windows Azure for Developers - Building Block Services

ACS – How Does It Work?

BrowserIdentity Provider

Access Control

Application

6. Login

8. Redirect to AC service

12. Validate Token

1. Request Resource

2. Redirect to ACS

7. Authenticate & Issue Token

9. Send Token to ACS10. Validate Token, Run Rules Engine, Issue Token

11. Redirect to RP with ACS Token

13. Send ACS Token to Relying Party

14. Return resource representation

3. Auth/N

5. Redirect to IdP

4. Home-realmDiscovery

Dia

gram

cou

rtes

y of

Win

dow

s Az

ure

Boot

Cam

p

Page 9: Windows Azure for Developers - Building Block Services

DEMOWindows Azure Access Control Service

Page 10: Windows Azure for Developers - Building Block Services

ACS – Final Tips

• Update session cooking handling– WIF uses Data Protection API (DPAPI) by default.– DPAPI not support in Windows Azure.– Encrypt cookies with RSA using a certificate (SSL or self-signed (dev))– Windows Azure Training Kit has full example– http://

davidpallmann.blogspot.com/2011/12/mobile-global-with-html5-mvc-windows_27.html

• Put WIF configuration params in ServiceConfiguration– WIF uses web.config– Read in params from ServiceConfiguration.cscfg on role start and

rewrite web.config– http://

blogs.msdn.com/b/vbertocci/archive/2011/05/31/edit-and-apply-new-wif-s-config-settings-in-your-windows-azure-webrole-without-redeploying.aspx

Page 11: Windows Azure for Developers - Building Block Services

Caching

• Distributed, in-memory caching for Windows Azure apps• Scalable, low latency, and high throughput• Very similar to Windows Server AppFabric Caching• Ability to enable a local cache• Limits

– 8MB per object– No serialization for local caching

• Security via ACS

Page 12: Windows Azure for Developers - Building Block Services

Caching

• Easy to plug in as provider for ASP.NET session state and page output

• Sample client configuration XML provided in portal

Page 13: Windows Azure for Developers - Building Block Services

Caching

• Add the following assemblies– Microsoft.ApplicationServer.Caching.Client.dll– Microsoft.ApplicationServer.Caching.Core.dll– Microsoft.WindowsFabric.Common.dll– Microsoft.WindowsFabric.Data.Common.dll– Microsoft.Web.DistributedCache.dll (for ASP.NET web projects)

• Write the code

Page 14: Windows Azure for Developers - Building Block Services

Service Bus

• Robust messaging and routing services• Ability to connect services across networks

– Defeats NATs and firewalls– Great for hybrid application scenarios!

• Uses ACS for security

Page 15: Windows Azure for Developers - Building Block Services

Message Relay

Sender Receiver

Service Bus

sb://namespace.servicebus.windows.net/service

Upgrade connection – NAT traversal connection

Page 16: Windows Azure for Developers - Building Block Services

Message Relay

• Use SB addressing and bindings• Simply use new ‘relay’ bindings• Behavior for ACS authorization

• Not new . . . Been in Service Bus for a while!

Page 17: Windows Azure for Developers - Building Block Services

Service Bus Message Queues

• Reliable and durable – backed by SQL Azure• Store up to 1GB per queue• No TTL – unlike Windows Azure queues• 256KB maximum message size• Messaging API, WCF, and REST interfaces

Publisher ReceiverQueue

Page 18: Windows Azure for Developers - Building Block Services

Service Bus Topics (pub/sub)

• Takes SB Queues to the next level• 2,000 subscriptions on a single Topic• Subscription is a virtual queue – gets a copy of each message• Filters

– Use SQL92 syntax to configure Subscription to receive only messages with matching properties

• Actions– Modify message properties as they’re selected

Publisher

Subscription

Topic

Receiver

Receiver

ReceiverSubscription

Page 19: Windows Azure for Developers - Building Block Services

SHOW ME THE CODE!Windows Azure Service Bus Queues & Topics

Page 20: Windows Azure for Developers - Building Block Services

Summary

• Compute roles, storage, and SQL Azure get a lot of attention.

• Don’t forget about the building block services

Service Bus

Access Control Service

Cache Service

Robust service relay and messaging

Easy to configure Cache-as-a-Service

Federated identity management (authentication and authorization)

Page 21: Windows Azure for Developers - Building Block Services

Resources

• How To Guides for .NET– http://www.windowsazure.com/en-us/develop/net/

• Managing Caches in Windows Azure– http://msdn.microsoft.com/en-us/library/windowsazure/gg618005.aspx

• Windows Azure Service Bus Best Practices– http

://windowsazurecat.com/2011/09/best-practices-leveraging-windows-azure-service-bus-brokered-messaging-api/

• Service Bus Explorer– http://code.msdn.microsoft.com/windowsazure/Service-Bus-Explorer-f2abca5a

• Rick Garibay – “Azure AppFabric Service Bus Brokered Messaging GA & Rude CTP Diffs”– http://

www.rickgaribay.net/archive/2011/09/14/azure-appfabric-service-bus-brokered-messaging-ga-amp-rude-ctp.aspx

• Vitorrio Bertocci’s Blog– http://blogs.msdn.com/b/vbertocci /

Page 22: Windows Azure for Developers - Building Block Services

Q &

A

Ask your questions

Page 23: Windows Azure for Developers - Building Block Services