The Need For Speed
             A Developer’s Guide to
            Distributed Caching with
       Velocity Windows Server...
Agenda
•   What is AppFabric?
•   Why a Distributed Cache?
•   Configuring a client
•   Configuring a server
•   Managing ...
Caching Review
• .NET 1.1
  – ASP.NET Cache
• .NET 2.0
  – SqlCacheDependency
  – Enterprise Library Caching Application B...
What is AppFabric?
• A combination of two projects:
   – A distributed cache
       • One logical cache shared across a nu...
Why a Distributed Cache?
• Bigger cache
  – Many physical servers contribute to one
    logical cache
• Increased throughp...
What Data Can I Cache In
            AppFabric?
• Any serializable .NET object
  – Reference Data (Shared Read)
     • e.g...
Configuring the AppFabric Client
 • Two assembly references to add:
   – Microsoft.ApplicationServer.Caching.Client.dll
  ...
Using AppFabric
• Add/Remove

• Concurrency
   – Optimistic
       • Version-based
   – Pessimistic
       • Lock-based

•...
Configuring an AppFabric Server
• Cluster configuration can be held:
  – On a network share (XML Provider)
  – In a SQL Se...
Managing An AppFabric
          Cluster
• Powershell integration
  – Can start/stop a whole cluster or individual
    serv...
Summary
• AppFabric brings the cloud inside your
  organisation!
• Distributed caching is a powerful way to
  bring scalab...
Questions?




@philpursglove
http://philpursglove.blogspot.com
http://www.philippursglove.com/Velocity
References
•   V1 Download
     – http://tinyurl.com/appfabricdownload
•   Documentation on MSDN
     – http://tinyurl.com...
References
• AppFabric coverage on StackOverflow
    – http://tinyurl.com/stackoverflowvelocity
    – http://tinyurl.com/s...
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
Upcoming SlideShare
Loading in …5
×

The Need for Speed - EpiCenter 2010

692
-1

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
692
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

The Need for Speed - EpiCenter 2010

  1. 1. The Need For Speed A Developer’s Guide to Distributed Caching with Velocity Windows Server AppFabric Phil Pursglove @philpursglove http://philpursglove.blogspot.com
  2. 2. Agenda • What is AppFabric? • Why a Distributed Cache? • Configuring a client • Configuring a server • Managing a cache • Concurrency • High availability / load balancing
  3. 3. Caching Review • .NET 1.1 – ASP.NET Cache • .NET 2.0 – SqlCacheDependency – Enterprise Library Caching Application Block • .NET 4.0 – System.Runtime.Caching assembly – AppFabric
  4. 4. What is AppFabric? • A combination of two projects: – A distributed cache • One logical cache shared across a number of physical servers • Already being used by: – MSDN Forums. Xbox Live, MSN • An ASP.NET session state provider • In .NET 4.0, a cache provider – A workflow host • V1 released to web 4th June – Servers must be .NET 4.0, clients can be .NET 3.5/4.0
  5. 5. Why a Distributed Cache? • Bigger cache – Many physical servers contribute to one logical cache • Increased throughput – Many servers available to fulfil requests • High availability – Multiple servers = fault tolerance
  6. 6. What Data Can I Cache In AppFabric? • Any serializable .NET object – Reference Data (Shared Read) • e.g. Product categories – Activity Data (Exclusive Write) • e.g. Shopping Basket – Resource Data (Read and Write) • e.g. product stock data
  7. 7. Configuring the AppFabric Client • Two assembly references to add: – Microsoft.ApplicationServer.Caching.Client.dll – Microsoft.ApplicationServer.Caching.Core.dll • Cache hosts can be hard-coded or in web.config/app.config • Clients – Routing vs Simple – Local caches
  8. 8. Using AppFabric • Add/Remove • Concurrency – Optimistic • Version-based – Pessimistic • Lock-based • Tags • Regions – Live inside a cache – Use for a set of logically related cached items e.g. Products – Tie a group of cached objects to a specific node 
  9. 9. Configuring an AppFabric Server • Cluster configuration can be held: – On a network share (XML Provider) – In a SQL Server DB (SQL Provider) • Integrated Security only  – AppFabric servers must be inside a domain
  10. 10. Managing An AppFabric Cluster • Powershell integration – Can start/stop a whole cluster or individual servers – Create new named caches • But not regions  – Get cache statistics • MDCAdmin tool – WPF app sitting on top of Powershell
  11. 11. Summary • AppFabric brings the cloud inside your organisation! • Distributed caching is a powerful way to bring scalability to your applications – Throughput – High availability
  12. 12. Questions? @philpursglove http://philpursglove.blogspot.com http://www.philippursglove.com/Velocity
  13. 13. References • V1 Download – http://tinyurl.com/appfabricdownload • Documentation on MSDN – http://tinyurl.com/msdnappfabric • Velocity team blog – http://blogs.msdn.com/velocity – http://blogs.msdn.com/endpoint • AppFabric blog for IT Pros – http://blogs.technet.com/appfabric/ • TechEd videos – http://tinyurl.com/velocityteched • Mix 09 video – http://tinyurl.com/velocitymixvideo • Mix 10 video – http://tinyurl.com/velocitymix10video • ARCCast Video – http://tinyurl.com/velocityscotthavideo • ScottHa on Velocity – http://tinyurl.com/velocityhanselminutes • Deep Fried Bytes on AppFabric – http://tinyurl.com/deepfriedappfabric
  14. 14. References • AppFabric coverage on StackOverflow – http://tinyurl.com/stackoverflowvelocity – http://tinyurl.com/stackoverflowappfabric • DotNetRocks – http://tinyurl.com/dotnetrocksappfabric • Other .NET distributed caches – NCache - http://tinyurl.com/ncache – Memcached - http://tinyurl.com/smoe – Oracle Coherence – http://tinyurl.com/oraclecoherence – SharedCache – http://codeplex.com/sharedcache • Extensions Project – http://tinyurl.com/mscacheext • Admin Tool – http://mdcadmintool.codeplex.com/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×