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

Scaling Out .Net

on

  • 270 views

 

Statistics

Views

Total Views
270
Views on SlideShare
268
Embed Views
2

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 2

http://www.linkedin.com 2

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…
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