Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

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:
- http://msdn.microsoft.com/en-us/magazine/cc500561.aspx
- http://msdn.microsoft.com/en-us/library/ff650667.aspx

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.
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.


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

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.

Question has a verified solution.

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

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
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.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

792 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