How to create and maintain a web farm

Posted on 2010-11-19
Last Modified: 2012-05-10
Given this statement:"We require operational excellence to continue to exist. As of 2010, we're operating several hundred servers in two locations, and we're adding a third location for additional redundancy. While our global traffic continues to grow, our aim is to provide the best possible site experience to everyone in the world, to maximize uptime, and to ensure that all the information in our projects is safe and secure.", what and how can we make use of ASP.NET (including AJAX, WPF, WCF, and MVC) and any relevant MS technologies to create and maintain such a web farm? Please provide general technical setup info with patterns an practices. Thanks for any help.

Question by:ksfok
  • 3
  • 3
LVL 17

Expert Comment

by:Jesse Houwing
ID: 34179386
This isn't that much related to ASP.NET, but more related to infrastructure.

You will require multiple servers, multiple locations, load balancing, routing, such, which are all infrastructure parts for the most parts.

Your challenge lies in how to partition your data and how to make sure the different nodes in your cluster are in sync. And that is something which you will need to take into account when building your application. Any of the technologies named here will fit the bill.

Microsoft has published a number of articles on this subject:

Author Comment

ID: 34182111
What should I know and do as a developer on the above?
LVL 17

Accepted Solution

Jesse Houwing earned 500 total points
ID: 34182764
You'll have to be careful when using session state. And prefer not to use session state when not absolutely needed, as session usually stics you to a specific cluster or even a specific node in a cluster.

You'll want to have a good look at different caching options available. I recommend you look at AppFabric Caching.

You'll want to define a strategy in which you describe how authentication and authorization works across the different layers an tiers of your application.

You'll want to split your application into easily manageable and easily configurable and easily scalable components

You'll want to keep in mind that you'll probably want to roll out new features and updates to existing features node by node, so that you won't have to bring down the whole system while doing so.

You'll want to use at least some unit testing and you'll want to make sure you can test different parts of your application without the other parts. Which means you'll probably want to invest in Dependency Injection and Mocking/Stubbing frameworks.

Those are the things you're going to have to start with. As you can see, these are mostly architectural decisions to be made. After that the actual developing will be mostly as any other .NET application.
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.


Author Comment

ID: 34183358
Who usually should make those architectural decisions, the lead developer, the network administrator, or the IT manager?
LVL 17

Expert Comment

by:Jesse Houwing
ID: 34183731
They should all agree :). Usually if the team gets big enough, someone will be appointed Architect, but he will have to work with all disciplines

Author Comment

ID: 34201779
You said:"but he will have to work with all disciplines". Your mean "all team members"?

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Get Reply from SSIS to intranet site when finished 3 34
Tool Box 2 35
Syntax error 9 45
How can my static class become undefined?? 8 13
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
If you are a web developer, you would be aware of the <iframe> tag in HTML. The <iframe> stands for inline frame and is used to embed another document within the current HTML document. The embedded document could be even another website.
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now