Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Scaling Out .NET<br />Scale Out your .NET applications by leveraging <br />IIS7, AppFabric, Web Farm Framework, and Web De...
Who am I?<br />Brian Ritchie<br />Chief Architect at Payformance Corporation<br />Nearly 20 years of development experienc...
Reasons to scale out<br />Increases Reliability<br />Increases Performance<br />Provides Elastic Scalability<br />
So why isn’t everyone doing it?<br />
Scale Out Challenges<br />Design Considerations<br />Management Complexities<br />Maintenance Challenges<br />
Components of a scaled out architecture<br />Load Balancing<br />Network Load Balancing<br />Queued Processing<br />Workfl...
Increase Reliability & PerformanceLoad Balancing<br />Use load balancing to spread work across multiple machines<br />Buil...
Network Load Balancing<br />NLB: Network Load Balancer<br />ARR: Application Request Routing<br />F5 BigIP Local Traffic M...
Workflow Distribution<br />Windows Server AppFabric<br />Increase Reliability & PerformanceLoad Balancing Options<br />
Increase Reliability & PerformanceLoad Balancing Options<br />Queued Processing<br />Pick a queue: MSMQ, SQL Service Broke...
Effects of Queued Processing<br />
Increase Reliability & PerformanceCaching<br />Using caching to decrease load on centralized database resources<br />Load ...
Increase Reliability & PerformanceDistribute Your Cache<br />A Distributed Cache has these benefits:<br />In-Memory for Pe...
Management & MaintenanceChallenges<br />A scaled out infrastructure presents its own set of challenges:<br />How do I prov...
The Solution…<br />
Management & Maintenance Solutions:Application Platform<br />IIS7+AppFabric: Application Platform<br />Unified application...
Management & Maintenance Solutions:Deployment Automation<br />Web Deploy 2.1 <br />Combines all build resources into one p...
Server-side service
MSBuild packaging support
Visual Studio configuration integration</li></li></ul><li>Management & Maintenance Solutions:Deployment Automation<br />We...
Management & MaintenanceSolutions<br />Web Farm Framework 2.0<br />Centralized farm management<br />Easily provision resou...
Management & MaintenanceSolutions<br />Web Farm Framework 2.0<br />synchronize<br />deploy<br />control<br />control<br />...
Management & Maintenance Solutions: Monitoring via AppFabric<br />Windows Server AppFabric Dashboard<br />
Putting it all togetherwith a sample web farm<br />DEMO<br />Hardware load balancerBigIP F5<br />Web Farm<br /><ul><li>ASP...
IIS7
Web Farm Framework 2.0
Upcoming SlideShare
Loading in …5
×

Scaling Out .NET

5,922 views

Published on

Scale Out your .NET applications by leveraging IIS7, AppFabric, Web Farm Framework, and Web Deploy. Jax Code Camp 2011.

Published in: Technology
  • Ritchie,
    its really a very well explained and easy to understand presentation. being a user of distributed cache, there is no doubt that it can enhance the performance ans scalability of your app. I've evaluated a couple of third party distributed cache providers during one of my projects but I personally recommend NCache by Alachisoft( http://www.alachisoft.com/ncache/index.html )
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Scaling Out .NET

  1. 1. Scaling Out .NET<br />Scale Out your .NET applications by leveraging <br />IIS7, AppFabric, Web Farm Framework, and Web Deploy<br />Brian Ritchie<br />Chief ArchitectPayformance Corporation<br />Email: brian.ritchie@gmail.com<br />Blog: http://weblog.asp.net/britchie<br />Web: http://www.dotnetpowered.com<br />
  2. 2. Who am I?<br />Brian Ritchie<br />Chief Architect at Payformance Corporation<br />Nearly 20 years of development experience<br />Developing on .NET since 1.0 Beta 1<br />Contributed to Mono and other open source projects<br />
  3. 3. Reasons to scale out<br />Increases Reliability<br />Increases Performance<br />Provides Elastic Scalability<br />
  4. 4. So why isn’t everyone doing it?<br />
  5. 5. Scale Out Challenges<br />Design Considerations<br />Management Complexities<br />Maintenance Challenges<br />
  6. 6. Components of a scaled out architecture<br />Load Balancing<br />Network Load Balancing<br />Queued Processing<br />Workflow Distribution<br />Distributed Caching<br />
  7. 7. Increase Reliability & PerformanceLoad Balancing<br />Use load balancing to spread work across multiple machines<br />Building out instead of building up uses lower cost resources<br />Elastic scaling for extra capacity<br />Prevent single point of failure<br />
  8. 8. Network Load Balancing<br />NLB: Network Load Balancer<br />ARR: Application Request Routing<br />F5 BigIP Local Traffic Manager<br />Increase Reliability & PerformanceLoad Balancing Options<br />
  9. 9. Workflow Distribution<br />Windows Server AppFabric<br />Increase Reliability & PerformanceLoad Balancing Options<br />
  10. 10. Increase Reliability & PerformanceLoad Balancing Options<br />Queued Processing<br />Pick a queue: MSMQ, SQL Service Broker, SQL Table, etc.<br />Process it with a multi-threaded Always-On Services<br />Queue<br />Workers<br />Enqueue<br />
  11. 11. Effects of Queued Processing<br />
  12. 12. Increase Reliability & PerformanceCaching<br />Using caching to decrease load on centralized database resources<br />Load balanced web servers required shared session<br />
  13. 13. Increase Reliability & PerformanceDistribute Your Cache<br />A Distributed Cache has these benefits:<br />In-Memory for Performance<br />Replicated for Reliability<br />ASP.NET providers for easy integration<br />Doesn’t add a single point of failure<br />Options<br />Windows Server AppFabric Cache (“Velocity”)<br />MemCached<br />
  14. 14. Management & MaintenanceChallenges<br />A scaled out infrastructure presents its own set of challenges:<br />How do I provision resources easily?<br />Do I need to manage each machine individually?<br />How do I deploy application updates?<br />How do I automate the manual tasks?<br />
  15. 15. The Solution…<br />
  16. 16. Management & Maintenance Solutions:Application Platform<br />IIS7+AppFabric: Application Platform<br />Unified application platform: web sites, web services, always-on services<br />Move your Windows Services to IIS7 with AppFabric to improve management & deployment<br />
  17. 17. Management & Maintenance Solutions:Deployment Automation<br />Web Deploy 2.1 <br />Combines all build resources into one package and makes deploying applications to the host server easy<br />Components<br /><ul><li>Command-line tools
  18. 18. Server-side service
  19. 19. MSBuild packaging support
  20. 20. Visual Studio configuration integration</li></li></ul><li>Management & Maintenance Solutions:Deployment Automation<br />Web Deploy 2.1 <br />Deploy<br />Package<br />Build/Deploy Server<br />Build Server<br />(using MSBuild)<br />Deployment<br />Package<br />IIS<br />Server<br />IIS MMC – Export Application<br />IIS MMC – Import Application<br />
  21. 21. Management & MaintenanceSolutions<br />Web Farm Framework 2.0<br />Centralized farm management<br />Easily provision resources<br />Distribute updates across the farm<br />Ease maintenance with rolling upgrades & automatic load balancer control<br />Extensible: Plug-ins for managing 3rd party load balancers<br />
  22. 22. Management & MaintenanceSolutions<br />Web Farm Framework 2.0<br />synchronize<br />deploy<br />control<br />control<br />Primary<br />
  23. 23. Management & Maintenance Solutions: Monitoring via AppFabric<br />Windows Server AppFabric Dashboard<br />
  24. 24. Putting it all togetherwith a sample web farm<br />DEMO<br />Hardware load balancerBigIP F5<br />Web Farm<br /><ul><li>ASP.NET Web Application
  25. 25. IIS7
  26. 26. Web Farm Framework 2.0
  27. 27. Windows Server AppFabric
  28. 28. ASP.NET AppFabric Session Provider
  29. 29. Web Deploy</li></ul>Deployer<br /><ul><li>Web Deploy</li></ul>Cache Cluster<br /><ul><li>AppFabric Cache Service</li></li></ul><li>Management & Maintenance Solutions: Monitoring via Operations Manager<br />System Center Operations Manager with Windows Server AppFabric Management Pack<br />AppFabric Event Collection service<br />AppFabric Workflow Management service<br />AppFabric Caching Service<br />AppFabric SQL monitoring databases<br />AppFabric SQL Workflow Instance Stores<br />AppFabric database connections<br />IIS Hosted WCF and WF services<br />
  30. 30. Management & Maintenance Solutions: Task Automation<br />Automate using: <br />Automation tools cover:<br /><ul><li>AppFabric
  31. 31. IIS7
  32. 32. Web Farm Farmwork</li></ul>Powershell<br />API<br />
  33. 33. Questions?<br />
  34. 34. Web Farm Framework<br />Web Farm Frameworkhttp://www.iis.net/download/WebFarmFramework<br />Scott Gu’s Introduce to WFF 2.0http://weblogs.asp.net/scottgu/archive/2010/09/08/introducing-the-microsoft-web-farm-framework.aspx<br />WFF Documentation (including API & Powershell)http://learn.iis.net/page.aspx/905/microsoft-web-farm-framework-20-for-iis-7/<br />Windows AppFabric<br />AppFabric Architecture Guidehttp://blogs.msdn.com/b/yasserabdelkader/archive/2010/09/12/release-of-windows-server-appfabric-architecture-guide.aspx<br />AppFabric Management Pack for Op Mgr 2007http://blogs.technet.com/b/appfabric/archive/2010/06/14/appfabric-management-pack-available-for-operations-manager-2007.aspx<br />AppFabric Presentationhttp://rstonkus.wordpress.com/2010/10/28/partner-conference-windows-server-appfabric/<br />Other<br />Memcached ASP.NET Providershttp://memcachedproviders.codeplex.com/<br />SQL Table Queueshttp://www.mssqltips.com/tip.asp?tip=1257<br />Azure Scalability using Queueshttp://www.cloudbook.net/resources/stories/-azure-scalability--use-queues-as-your-bridges<br />Web Deploy Team Bloghttp://blogs.iis.net/msdeploy/default.aspx<br />Application Request Routinghttp://www.iis.net/download/ApplicationRequestRoutinghttp://learn.iis.net/page.aspx/486/http-load-balancing-using-application-request-routing/http://blogs.iis.net/mailant/archive/2010/03/25/how-iis-application-request-routing-arr-powers-elastic-scale-for-maximumasp.aspx<br />Learn More<br />

×