• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Scaling Out .NET
 

Scaling Out .NET

on

  • 4,838 views

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

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

Statistics

Views

Total Views
4,838
Views on SlideShare
4,820
Embed Views
18

Actions

Likes
2
Downloads
98
Comments
1

3 Embeds 18

http://www.linkedin.com 12
https://www.linkedin.com 5
http://twitter.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • 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 )
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Scaling Out .NET Scaling Out .NET Presentation Transcript

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