Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 428
  • Last Modified:

How to create and maintain a web farm

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.

0
ksfok
Asked:
ksfok
  • 3
  • 3
1 Solution
 
Jesse HouwingScrum Trainer | Microsoft MVP | ALM Ranger | ConsultantCommented:
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
0
 
ksfokAuthor Commented:
What should I know and do as a developer on the above?
0
 
Jesse HouwingScrum Trainer | Microsoft MVP | ALM Ranger | ConsultantCommented:
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.
0
Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

 
ksfokAuthor Commented:
Who usually should make those architectural decisions, the lead developer, the network administrator, or the IT manager?
0
 
Jesse HouwingScrum Trainer | Microsoft MVP | ALM Ranger | ConsultantCommented:
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
0
 
ksfokAuthor Commented:
You said:"but he will have to work with all disciplines". Your mean "all team members"?
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now