Your SlideShare is downloading. ×
0
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CTU June 2011 - Windows Azure App Fabric

2,048

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,048
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • There’s a number of things that I’d like to point out to you before we break into a demo.First, the caching service comes with out-of-the-box ASP.NET providers for both session state and page output caching. This makes it extremely easy to quickly speed up your existing applications by leveraging these providers and updating your web.config files. You can also leverage the local cache, which stores data on the client to speed up access to data retrieved from the Caching service.You can cache any managed object, with no object size limits. Also, when you leverage the local caching option, you won’t pay any serialization costs, as the data will stay on the client. This can make for some extremely fast solutions.You will leverage the exact same APIs you have used with Windows Server AppFabric Caching, which are .NET assemblies. This makes it very easy to get going.The Caching service is secured by the Access Control Service. Through config or at runtime, you simply specific an ACS token that is used for authentication.Finally, as we move towards commercial launch, we’ll add many of the features that make Windows Server AppFabric Caching extremely popular, such as High Availability, which minimizes data loss by persisting the cache, regions for partitioning and co-locating data, the ability to emit notifications to clients when then need to refresh their local cache, and more.
  • Slide ObjectiveExplains the operation of Session state in Windows Azure multi instance rolesSpeaking NotesMust move session state off the Web Role instances In this animationFirst request hits one instanceSubsequent request hits another instanceAt the end of the animation the value of Foo is hard to determine.Is it 1, 2 or null?Will depend on which server the LB routes our request toNotes
  • Transcript

    • 1. A Lap AroundWindows Azure AppFabric<br />Wely Lau<br />Microsoft MVP, Windows Azure<br />“Cloud” Architect, NCS<br />Email : wely@ncs.com.sg<br />Blog: http://wely-lau.net/<br />
    • 2. Agenda<br />Windows Azure Platform In One Slide<br />What is Windows Azure AppFabric?<br />Identity and Access Control<br />Service Bus<br />Caching<br />
    • 3. “Windows Azure Platform” In One Slide <br />Compute<br /><ul><li>Web Role
    • 4. Worker Role
    • 5. VM Role</li></ul>Storage<br /><ul><li>Tables
    • 6. Blobs
    • 7. Queues</li></ul>Virtual Network<br /><ul><li>Connect
    • 8. Traffic Manager</li></ul>Reporting<br />Database<br />Data Sync<br />Access Control<br />Service Bus<br />Caching<br />
    • 9. Agenda<br />Windows Azure Platform In One Slide<br />What is Windows Azure AppFabric?<br />Identity and Access Control<br />Service Bus<br />Caching<br />
    • 10. Motivating Challenges<br />How do you expose your software to users outside of your organization?<br />Can they use their existing identities? Social identities?<br />How do you integrate with components outside your corporate network?<br />What about smaller, non-enterprise customers?<br />How do you reduce latency and increase performance?<br />Access Control<br />Service Bus<br />Caching<br />
    • 11. What is Windows Azure AppFabric?<br />Comprehensive building block services / middleware for developing, deploying, and managing app<br />Goals<br />Extend .NET technologies to the cloud<br />Increase developer productivity<br />Bridge existing applications to the cloud<br />Open and accessible service API<br />REST, SOAP, RSS, AtomPub, …<br />Class libraries for .NET, Java, PHP, Ruby, <br />
    • 12. Agenda<br />Windows Azure Platform In One Slide<br />What is Windows Azure AppFabric?<br />Identity and Access Control<br />Service Bus<br />Caching<br />
    • 13. Identity – Stuff to think about<br />Login / Federated Login<br />Authentication<br />Authorization<br />Username & Password<br />Membership Database<br />Identity Providers<br />Single Sign On<br />Tokens & Its Format<br />Security & Certificate<br />And the list goes on…<br />
    • 14. Single Identity Approach<br />The site is the Identity Provider<br />I have 100s of these identities<br />“island of identity”<br />It’s annoying<br />
    • 15. Using a 3rd party<br />Pick a 3rd party, rely on it<br />Somewhat limiting, but a step in the right direction<br />Typically “claim-based”<br />
    • 16. Claim-based Identity Term Definitions<br />Relying Party<br />Your application that rely on IdP for authentication and authorization<br />Identity Provider (IdP)<br />Third party service that will authenticate your users<br />Ex: GoogleID, WindowsLiveID, Yahoo!, or even your app<br />Claims<br />A statement that one subject makes about itself or another subject.<br />E.g. : name, email, groups, privilege, etc…<br />Security Token<br />A piece of token representation of claims that is cryptographically signed by the issuer <br />Security Token Service (STS)<br />A service that issues claims and packages them in encrypted security tokens<br />
    • 17. Typical Claims-based App Sequence<br />Browser<br />Identity Provider / STS<br />Application (Relying Party)<br />1. Request Resource<br />2. Redirect to Identity Provider<br />4. Authenticate &<br /> Issue Token<br />3. Login<br />5. Redirect to Relying Party<br />7. Validate<br /> Token<br />6. Send Token to Relying Party<br />8. Return resource representation<br />
    • 18. But… I want more IdP…<br />I want my user, can log-in with<br />Challenges:<br />Deal directly with different IdP<br />Deal directly with different Security Token Format?<br />Deal directly with different Protocol<br />Deal directly with different …<br />Enterprise<br />Active Directory<br />
    • 19. Access Control Service<br />Integration SSO and centralized auth into your web <br />Hides one layer of abstraction<br />Just to deal with ACS, not with many IdP<br />Access Control Service<br />Your App<br />….<br />ADFS 2.0<br />
    • 20. Access Control Website Sequence<br />Browser<br />Identity Provider / STS<br />Access Control<br />Application (Relying Party)<br />1. Request Resource<br />2. Redirect to Identity Provider<br />4. Authenticate &<br /> Issue Token<br />3. Login<br />5. Redirect to AC service<br />7. Validate Token, Run Rules Engine,<br /> Issue Token<br /> 6. Send Token to ACS<br />8. Redirect to RP with ACS Token<br />10. Validate<br /> Token<br />9. Send ACS Token to Relying Party<br />11. Return resource representation<br />
    • 21. Access Control Features<br />Integrates with Windows Identity Foundation and tooling<br />Claims-based access control<br />Support for OAuth WRAP, WS-Trust, and WS-Federation protocols<br />Support for the SAML 1.1, SAML 2.0, and Simple Web Token token formats<br />Integrated and customizable Home Realm Discovery<br />OData-based Management Service to ACS configuration<br />
    • 22. demo<br />Access Control Service- Preparing simple app- Setting up ACS account- Add STS Ref- Security Token Visualizer- Simple Authorization<br />
    • 23. Agenda<br />Windows Azure Platform In One Slide<br />What is Windows Azure AppFabric?<br />Identity and Access Control<br />Service Bus<br />Caching<br />
    • 24. Service Bus<br />Provides secure messaging and connectivity across different network topologies<br />Enables hybrid applications that span on-premises and the cloud<br />Enables various communication protocols and patterns for developers to engage in reliable messaging<br />
    • 25. … and here’s why this is interesting …<br /> Existing code, not designed for the cloud<br /> Things you can’t run in the cloud<br /> Things you might not want to run in the cloud<br />
    • 26. Enabling hybrid applications<br />Datacenter<br />Partner<br />LOB app<br />Mobile Device<br />LOB web service<br />
    • 27. Enabling hybrid applications<br />Partner<br />Datacenter<br />ACS<br />LOB app<br />SB<br />Mobile Device<br />LOB web service<br />
    • 28. Enabling hybrid applications<br />Datacenter<br />Partner<br />ACS<br />LOB app<br />SB<br />Mobile Device<br />LOB web service<br />
    • 29. Enabling hybrid applications<br />Datacenter<br />Partner<br />ACS<br />LOB app<br />SB<br />Mobile Device<br />LOB web service<br />
    • 30. Relay<br />Relay Connections<br />http://{account}.servicebus.windows.net/a/b<br />Outbound SSL TCP connection to relay rendezvous endpoint<br />Receiver can also listen over<br />HTTP to overcome port restrictionson the receiving side (“Web sockets”)<br />One-Way Messagesthrough TCP Tunnel<br />Sender<br />Receiver<br />
    • 31. Relay<br />Direct Connections<br />http://{account}.servicebus.windows.net/a/b<br />- Outbound SSL TCP connection to relay - Out-of-band protocol to negotiate Direct Connection<br />Sender<br />Receiver<br />Upgrade to direct connection when possible<br />
    • 32. Relay<br />Eventing: Publish/Subscribe<br />http://{account}.servicebus.windows.net/a/b<br />Outbound SSL TCPconnection to relay rendezvous endpoint<br />One-way messagesthrough TCP Tunnel<br />Sender<br />Receiver<br />Receiver<br />Receiver<br />Receiver<br />
    • 33. Have a Service Listen on the SB<br />Listen on SB address<br />Enable ACS Auth behavior<br />Use a ‘relay’ binding<br />
    • 34. Connect to a Service as a Client<br />Again, just use a SB address and binding<br />Use a behavior to handle ACS authorization<br />
    • 35. demo<br />Service Bus- Local Svc Hosted on IIS- Exposing WCF to Service Bus- Establishing Direct Connection- Eventing<br />
    • 36. Agenda<br />Windows Azure Platform In One Slide<br />What is Windows Azure AppFabric?<br />Identity and Access Control<br />Service Bus<br />Caching<br />
    • 37. Latency Pyramid<br />Memory<br />Windows Azure AppFabric Caching (local cache)<br />Lowest latency<br />Network<br />Windows Azure AppFabric Caching (distributed cache)<br />Lower latency<br />Disk<br />Highest latency<br />Storage<br />
    • 38. What is the Caching service?<br />A distributed, in-memory cache for applications running in Windows Azure:<br />In-memory cache located near your Windows Azure applications<br />Simple administration<br />Based on Windows Server AppFabricCaching<br />Benefits:<br />Highly scalable 64-bit caching solution with low latency and high throughput<br />Can dynamically increase and decrease as needed, without redeploying or modifying your application<br />Doesn’t have to bother with configuration, deployment, or management of their cache infrastructure<br />
    • 39. Windows Azure AppFabric Caching <br />Differentiators<br />Built-in ASP.NET providers for session state & page output<br />Extreme low latency with the local cache <br />Caches any managed object <br />(CLR objects, rows, XML, Binary Data…)<br />Only requirement is that the object should be serializable<br />Easily integrates into existing applications<br />Secured by the Access Control Service<br />
    • 40. Anatomy of A Distributed Cache<br />Cache footprint or bandwidth requirement may grow beyond a single VM<br />Distributed caches scale out<br />Multiple role instances may be cache clients<br />Clients access the cache as if it was a single large namespace<br />Unified Cache View<br />Cache layer distributes data across the various cache instances<br />
    • 41. Caching Features<br />ASP.NET providers for session state and page output caching<br />Cache any managed object<br />No object size limits<br />No serialization costs for local caching<br />Easily integrates into existing applications<br />Secured by Access Control<br />
    • 42. Windows Azure Session State<br />Windows Azure Load Balancer uses round-robin allocation. Session state must persist to client or storage on every request<br />session[“foo”] = 1;<br />session[“foo”] = 2;<br />LB<br />What is the value of session[“foo”]?<br />
    • 43. AppFabric Caching Session State<br />Session state stored using Windows Azure AppFabric Caching and an out-of-the-box session state provider<br />session[“foo”] = 1;<br />session[“foo”] = 2;<br />LB<br />What is the value of session[“foo”]?<br />AppFabric Caching<br />
    • 44. demo<br />Caching- Standard data cache API- Measuring data throughput- “built-in” Session Cache Provider<br />

    ×