The Need for Speed - EpiCenter 2010

Phil Pursglove
Phil PursgloveSoftware Developer at WSP Group
The Need for Speed - EpiCenter 2010
The Need For Speed
             A Developer’s Guide to
            Distributed Caching with
       Velocity Windows Server AppFabric

Phil Pursglove
@philpursglove
http://philpursglove.blogspot.com
Agenda
•   What is AppFabric?
•   Why a Distributed Cache?
•   Configuring a client
•   Configuring a server
•   Managing a cache
•   Concurrency
•   High availability / load balancing
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
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
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
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
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
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 
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
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
Summary
• AppFabric brings the cloud inside your
  organisation!
• Distributed caching is a powerful way to
  bring scalability to your applications
  – Throughput
  – High availability
Questions?




@philpursglove
http://philpursglove.blogspot.com
http://www.philippursglove.com/Velocity
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
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/
The Need for Speed - EpiCenter 2010
1 of 16

Recommended

The Need For Speed - NxtGen Cambridge by
The Need For Speed - NxtGen CambridgeThe Need For Speed - NxtGen Cambridge
The Need For Speed - NxtGen CambridgePhil Pursglove
413 views19 slides
Velocity - Edge UG by
Velocity - Edge UGVelocity - Edge UG
Velocity - Edge UGPhil Pursglove
377 views16 slides
The Need For Speed - NEBytes by
The Need For Speed - NEBytesThe Need For Speed - NEBytes
The Need For Speed - NEBytesPhil Pursglove
335 views17 slides
Velocity - NxtGen Oxford by
Velocity - NxtGen OxfordVelocity - NxtGen Oxford
Velocity - NxtGen OxfordPhil Pursglove
303 views15 slides
Real World Rails Deployment by
Real World Rails DeploymentReal World Rails Deployment
Real World Rails DeploymentAlan Hecht
2K views21 slides
Building & Testing Scalable Rails Applications by
Building & Testing Scalable Rails ApplicationsBuilding & Testing Scalable Rails Applications
Building & Testing Scalable Rails Applicationsevilmike
1.5K views27 slides

More Related Content

What's hot

RESTFul Tools For Lazy Experts - CFSummit 2016 by
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016Ortus Solutions, Corp
5.5K views38 slides
Microsoft ASP.NET 5 - The new kid on the block by
Microsoft ASP.NET 5 - The new kid on the block Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block Christos Matskas
1.3K views25 slides
Net coreandsimplcommerce by
Net coreandsimplcommerceNet coreandsimplcommerce
Net coreandsimplcommerceThien Nguyen Le Quynh
674 views18 slides
Ruby Setup by
Ruby SetupRuby Setup
Ruby SetupAlan Hecht
675 views12 slides
SpringPeople Introduction to MongoDB Administration by
SpringPeople Introduction to MongoDB AdministrationSpringPeople Introduction to MongoDB Administration
SpringPeople Introduction to MongoDB AdministrationSpringPeople
7.5K views18 slides
Containerizing your apps by
Containerizing your appsContainerizing your apps
Containerizing your appsJian-Wei Wang
146 views20 slides

What's hot(20)

Microsoft ASP.NET 5 - The new kid on the block by Christos Matskas
Microsoft ASP.NET 5 - The new kid on the block Microsoft ASP.NET 5 - The new kid on the block
Microsoft ASP.NET 5 - The new kid on the block
Christos Matskas1.3K views
SpringPeople Introduction to MongoDB Administration by SpringPeople
SpringPeople Introduction to MongoDB AdministrationSpringPeople Introduction to MongoDB Administration
SpringPeople Introduction to MongoDB Administration
SpringPeople7.5K views
Containerizing your apps by Jian-Wei Wang
Containerizing your appsContainerizing your apps
Containerizing your apps
Jian-Wei Wang146 views
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis by Exove
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Exove741 views
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress by Maurice De Beijer [MVP]
Surati Tech Talks 2022 / Build reliable Svelte applications using CypressSurati Tech Talks 2022 / Build reliable Svelte applications using Cypress
Surati Tech Talks 2022 / Build reliable Svelte applications using Cypress
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber by WSO2
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO25.7K views
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers by David vonThenen
ContainerCon EU 2016 - Software-Defined Storage and Container SchedulersContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
ContainerCon EU 2016 - Software-Defined Storage and Container Schedulers
David vonThenen208 views
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change... by David vonThenen
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
SCaLE 15x - How Container Schedulers and Software-Defined Storage will Change...
David vonThenen90 views
Serverless Summit India 2017: Fission by Vishal Biyani
Serverless Summit India 2017: FissionServerless Summit India 2017: Fission
Serverless Summit India 2017: Fission
Vishal Biyani5.7K views
ServiceNow-Box Integration by Nagendra B
ServiceNow-Box IntegrationServiceNow-Box Integration
ServiceNow-Box Integration
Nagendra B924 views
Debugging your Way through .NET with Visual Studio 2015 by Ido Flatow
Debugging your Way through .NET with Visual Studio 2015Debugging your Way through .NET with Visual Studio 2015
Debugging your Way through .NET with Visual Studio 2015
Ido Flatow473 views
Solving Enterprise Integration with Apache Camel by Christian Posta
Solving Enterprise Integration with Apache CamelSolving Enterprise Integration with Apache Camel
Solving Enterprise Integration with Apache Camel
Christian Posta3.5K views
How to extend WSO2 Carbon for your middleware needs by WSO2
How to extend WSO2 Carbon for your middleware needsHow to extend WSO2 Carbon for your middleware needs
How to extend WSO2 Carbon for your middleware needs
WSO22.9K views
BizTalk ALM by BizTalk360
BizTalk ALMBizTalk ALM
BizTalk ALM
BizTalk3602.1K views

Similar to The Need for Speed - EpiCenter 2010

Upgrading to Alfresco 6 by
Upgrading to Alfresco 6Upgrading to Alfresco 6
Upgrading to Alfresco 6Angel Borroy López
5K views40 slides
Cloud Foundry: Hands-on Deployment Workshop by
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopManuel Garcia
2.8K views49 slides
Short-Training asp.net vNext by
Short-Training asp.net vNextShort-Training asp.net vNext
Short-Training asp.net vNextBetclic Everest Group Tech Team
1.8K views21 slides
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the... by
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Jason Himmelstein
1.5K views54 slides
Apache CloudStack 4.2: A First Look by
Apache CloudStack 4.2: A First LookApache CloudStack 4.2: A First Look
Apache CloudStack 4.2: A First LookShanker Balan
1.6K views26 slides
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni... by
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
544 views46 slides

Similar to The Need for Speed - EpiCenter 2010(20)

Cloud Foundry: Hands-on Deployment Workshop by Manuel Garcia
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia2.8K views
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the... by Jason Himmelstein
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Navigating the turbulence on takeoff: Setting up SharePoint on Azure IaaS the...
Jason Himmelstein1.5K views
Apache CloudStack 4.2: A First Look by Shanker Balan
Apache CloudStack 4.2: A First LookApache CloudStack 4.2: A First Look
Apache CloudStack 4.2: A First Look
Shanker Balan1.6K views
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni... by Nicole Szigeti
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti544 views
Structure and Opinions - Software Deployments with Cloud Foundry by Andrew Ripka
Structure and Opinions - Software Deployments with Cloud FoundryStructure and Opinions - Software Deployments with Cloud Foundry
Structure and Opinions - Software Deployments with Cloud Foundry
Andrew Ripka271 views
NetflixOSS for Triangle Devops Oct 2013 by aspyker
NetflixOSS for Triangle Devops Oct 2013NetflixOSS for Triangle Devops Oct 2013
NetflixOSS for Triangle Devops Oct 2013
aspyker2.2K views
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI by Thomas Daly
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Thomas Daly1.3K views
Red Hat Storage Day LA - Persistent Storage for Linux Containers by Red_Hat_Storage
Red Hat Storage Day LA - Persistent Storage for Linux Containers Red Hat Storage Day LA - Persistent Storage for Linux Containers
Red Hat Storage Day LA - Persistent Storage for Linux Containers
Red_Hat_Storage521 views
Alfresco overview EDM by sang nguyen
Alfresco overview EDMAlfresco overview EDM
Alfresco overview EDM
sang nguyen621 views
Managing Multisite: Lessons from a Large Network by William Earnhardt
Managing Multisite: Lessons from a Large NetworkManaging Multisite: Lessons from a Large Network
Managing Multisite: Lessons from a Large Network
William Earnhardt2.3K views
RESTful web APIs (build, document, manage) by Cisco DevNet
RESTful web APIs (build, document, manage)RESTful web APIs (build, document, manage)
RESTful web APIs (build, document, manage)
Cisco DevNet1.7K views
SPS Dakar 2018 - I developed a SharePoint framework solution, what to do next... by aOS Community
SPS Dakar 2018 - I developed a SharePoint framework solution, what to do next...SPS Dakar 2018 - I developed a SharePoint framework solution, what to do next...
SPS Dakar 2018 - I developed a SharePoint framework solution, what to do next...
aOS Community181 views
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr... by HostedbyConfluent
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
Kafka for Microservices – You absolutely need Avro Schemas! | Gerardo Gutierr...
HostedbyConfluent652 views
Getting Started with PaaS by CloudBees
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
CloudBees703 views
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t... by aOS Community
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
aOS Monaco 2019 - B7 - I Developed a SPFx solution, what to do next and how t...
aOS Community173 views
The Greatest Introduction to SharePoint Framework (SPFx) on earth! by Małgorzata Borzęcka
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!

More from Phil Pursglove

CosmosDb for beginners by
CosmosDb for beginnersCosmosDb for beginners
CosmosDb for beginnersPhil Pursglove
444 views9 slides
Glimpse by
GlimpseGlimpse
GlimpsePhil Pursglove
3.7K views7 slides
Crystal MEF by
Crystal MEFCrystal MEF
Crystal MEFPhil Pursglove
695 views10 slides
Innovation at WSP by
Innovation at WSPInnovation at WSP
Innovation at WSPPhil Pursglove
250 views7 slides
ASP.NET Scalability - VBUG London by
ASP.NET Scalability - VBUG LondonASP.NET Scalability - VBUG London
ASP.NET Scalability - VBUG LondonPhil Pursglove
544 views23 slides
ASP.NET Scalability - WebDD by
ASP.NET Scalability - WebDDASP.NET Scalability - WebDD
ASP.NET Scalability - WebDDPhil Pursglove
999 views22 slides

More from Phil Pursglove(8)

Recently uploaded

Scaling Knowledge Graph Architectures with AI by
Scaling Knowledge Graph Architectures with AIScaling Knowledge Graph Architectures with AI
Scaling Knowledge Graph Architectures with AIEnterprise Knowledge
38 views15 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
25 views26 slides
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
92 views32 slides
Microsoft Power Platform.pptx by
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
53 views38 slides
Uni Systems for Power Platform.pptx by
Uni Systems for Power Platform.pptxUni Systems for Power Platform.pptx
Uni Systems for Power Platform.pptxUni Systems S.M.S.A.
56 views21 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
300 views20 slides

Recently uploaded(20)

Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson92 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10300 views
"Running students' code in isolation. The hard way", Yurii Holiuk by Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays17 views
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab21 views
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive by Network Automation Forum
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLiveAutomating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Automating a World-Class Technology Conference; Behind the Scenes of CiscoLive
Voice Logger - Telephony Integration Solution at Aegis by Nirmal Sharma
Voice Logger - Telephony Integration Solution at AegisVoice Logger - Telephony Integration Solution at Aegis
Voice Logger - Telephony Integration Solution at Aegis
Nirmal Sharma39 views
Powerful Google developer tools for immediate impact! (2023-24) by wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Future of AR - Facebook Presentation by ssuserb54b561
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
ssuserb54b56115 views
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views

The Need for Speed - EpiCenter 2010

  • 2. The Need For Speed A Developer’s Guide to Distributed Caching with Velocity Windows Server AppFabric Phil Pursglove @philpursglove http://philpursglove.blogspot.com
  • 3. Agenda • What is AppFabric? • Why a Distributed Cache? • Configuring a client • Configuring a server • Managing a cache • Concurrency • High availability / load balancing
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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 
  • 10. 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
  • 11. 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
  • 12. Summary • AppFabric brings the cloud inside your organisation! • Distributed caching is a powerful way to bring scalability to your applications – Throughput – High availability
  • 14. 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
  • 15. 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/