This is the continuation of my previous article Design Factors in MOSS 2007 Part 1. To summarize that, I discussed the different topology designs based on three different layers proposed for designing a solution with MOSS. In this article, I will be discussing the various factors that can affect such a solution. We already saw in Part 1 that the three major influential factors are:
· Availability
· Performance
· Capacity
I will have a brief discussion of the first two factors and we will be leaving Capacity Analysis to Part 3 of this blog.
Availability and Performance
Most SharePoint consultants are faced with a situation where the clients ask for maximum (say 99%) uptime which is quite logical because in such enterprise level organizations, a little downtime period can result in huge loss of business activities. Some of them need the ability to fail over to a different server farm in case of a disaster. Customers also dream for a design that can considerably optimize performance of the system. Keeping all the above high end requirements in focus, they still insist that the constraints of budget, hardware and software licenses do applyJ
In cases like these, we have to think for a design which can best meet the client requirements being in limits of budget and other maintenance costs. In this blog, I have taken care of the trade-off between availability and performance design and tried to find a balance between the two.
Let’s talk about availability first. Availability, by definition is the extent to which the solution is responsive to the requests and tolerant to failure. If the availability requirements for a particular system are too high, the server farm designs (discussed in Part 1) can be modified to use redundant servers at the WFE and the database level. This is the typical criteria for deciding the number of servers in a server farm. This should normally also result in a high performing system as NLB technique on the WFE servers can result in a better performance in peak times.
Four-Server Farm
Normally, server redundancy is implemented at each layer to bring high availability in the overall system. For the WFE layer, this can be achieved by using at least two front-end web servers load-balanced and for database layer; two clustered database servers can be used. This is a typical extension of the Two Server Farm architecture.

This server farm design introduces minimum high availability features into the system. Since this is an extension of the Two Server farm where the application roles are merged in the WFE roles, the system might not perform at its best but still, the availability requirements are being met using this architecture.
Five and Six Server Farms
To add the application layer to the overall design, at least one more server would be needed to represent the application layer. This will result in a design where high availability is induced at least in the Front End Servers. In addition, releasing the responsibility of Application Roles (Excel Services, Search etc.) from the front end layer results in improved application performance in terms of response time and user experience.
To add redundancy to the application layer itself in turn, we add one more server to the application layer that results in a six-server farm. This, in my point of view, results in the best design that caters both availability and performance requirements.

It should be noted that not all application server roles can be redundant. There are limitations that restrict you from adding redundancy to some server roles. Although these application roles can be deployed to multiple servers for scalability, but they do not operate in a load-balanced manner and are not redundant. Such application roles are:
· WSS 3.0 Search Role (this is different from Office SharePoint Server Search which can be made redundant)
· Index Server Role
For a solution that has high availability and optimized performance requirements, six-server farm is a design to start with. While designing a system using MOSS for a particular customer scenario, all the above-mentioned aspects should be considered to carve a good design which is long-lasting and meets the customer expectations.