Scaling Out .NET
Upcoming SlideShare
Loading in...5
×
 

Scaling Out .NET

on

  • 5,071 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
5,071
Views on SlideShare
5,052
Embed Views
19

Actions

Likes
2
Downloads
102
Comments
1

3 Embeds 19

http://www.linkedin.com 12
https://www.linkedin.com 6
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
  • 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
    View slide
  • So why isn’t everyone doing it?
    View slide
  • 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