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

Scaling Out .Net






Total Views
Views on SlideShare
Embed Views



1 Embed 2

http://www.linkedin.com 2



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.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    Scaling Out .Net Scaling Out .Net Presentation Transcript

    • Brian RitchieChief ArchitectPayformance CorporationEmail: brian.ritchie@gmail.comBlog: http://weblog.asp.net/britchieWeb: http://www.dotnetpowered.comScale Out your .NET applications by leveragingIIS7, AppFabric, Web Farm Framework, and Web Deploy
    • 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 sourceprojects
    • » Increases Reliability» Increases Performance» Provides Elastic Scalability
    • » Design Considerations» Management Complexities» Maintenance Challenges
    • » Load Balancing˃Network Load Balancing˃Queued Processing˃Workflow Distribution» Distributed Caching
    • » Use load balancing to spread work across multiplemachines˃Building out instead of building up uses lower costresources˃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
    • » Workflow Distribution˃ Windows Server AppFabric
    • » Queued Processing˃ Pick a queue: MSMQ, SQL Service Broker, SQL Table, etc.˃ Process it with a multi-threaded Always-On ServicesQueueWorkersEnqueue
    • 01020304050607080901001 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21NormalQueued
    • » Using caching to decrease load oncentralized database resources» Load balanced web servers requiredshared session
    • » 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
    • » A scaled out infrastructure presents its own set ofchallenges:˃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?
    • » IIS7+AppFabric: Application Platform˃ Unified application platform: web sites, web services, always-on services˃ Move your Windows Services to IIS7 with AppFabric to improvemanagement & deployment
    • » Web Deploy 2.1˃Combines all build resources into one package andmakes deploying applications to the host server easy˃Components• Command-line tools• Server-side service• MSBuild packaging support• Visual Studio configuration integration
    • » Web Deploy 2.1Build/Deploy ServerDeployIISServerIIS MMC – Import ApplicationPackageBuild Server(using MSBuild)DeploymentPackageIIS MMC – Export Application
    • » Web Farm Framework 2.0˃Centralized farm management˃Easily provision resources˃Distribute updates across the farm˃Ease maintenance with rolling upgrades & automaticload balancer control˃Extensible: Plug-ins for managing 3rd party loadbalancers
    • » Web Farm Framework 2.0controlPrimarycontrolsynchronizedeploy
    • » Windows Server AppFabric Dashboard
    • Hardware load balancerBigIP F5Web Farm• ASP.NET Web Application• IIS7• Web Farm Framework 2.0• Windows Server AppFabric• ASP.NET AppFabric Session Provider• Web DeployCache Cluster• AppFabric Cache ServiceDeployer• Web Deploy
    • » System Center Operations Manager withWindows 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
    • » Automate using:» Automation tools cover:• AppFabric• IIS7• Web Farm FarmworkPowershellAPI
    • » 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