If you plan to scale out to a farm, be sure to install SharePoint products first on the server that is destined to host the Central Administration Web application. This server could also host other applications such as Document Conversion or content indexing. You should also plan your network infrastructure in advance to provide the best level of service possible. A Gigabit Ethernet (Gig-E) network infrastructure should be considered the minimum in most enterprise farm scenarios, but 100 Base-T network speeds are sufficient in smaller farms. In addition, having multiple switches and using Network Interface Card (NIC) teaming, when possible, can add fault-tolerance to your solution.
When planning for a farm, be sure to include the SQL Server installation in the planning process because it will be the foundation for your new farm. If you have database administrators (DBAs) on staff, include them in the planning from the beginning. A poorly designed and implemented SQL Server installation can easily be the bottleneck in a SharePoint products server farm.
There are fewer limitations on scaling a Windows SharePoint Services 3.0 server farm than existed in SharePoint Services 2.0. This latest version gives you the ability to add servers in single-server increments and in many different configurations. Most implementations function quite nicely when one of the following farm topologies is used. Choosing another topology is quite possible, but give close attention to scaling out limitations of such services as search servers or Windows SharePoint Services Web application servers.
A small server farm consists of a WFE server that hosts all applications except SQL Server. This is one step up from a Basic or Standalone installation and usually adds performance because the SQL Server utilization is moved to a dedicated server. It also provides the foundation for scaling out at a later date. Depending on the number of processors, processor speed, the amount of memory in the server, and how many Web applications are running on the server, you should be able to service several hundred to several thousand users with a small farm topology. The minimum hardware for a small farm Web server or SQL Server is a dual 2.5-GHz processor, but dual 3.0-GHz processors are recommended. The WFE server should have at least 1 GB of memory, but this amount of memory only supports one or a very few Web applications. If you require multiple Web applications, 2 GB is the minimum amount of memory needed. Likewise, your SQL Server hardware should have at least 2 GB of memory, with 4 GB recommended. Figure 13-1 shows an example of a small farm.
Figure 13-1: A small farm consists of a single server hosting all applications, except SQL Server.
In a medium farm topology, you may scale out further by adding additional WFE servers by installing an additional physical server into the farm and starting the Windows SharePoint Services Web application service from Central Administration > Operations > Services On Server. Be aware that simply adding another WFE server to the farm usually does not increase fault-tolerance. To increase fault-tolerance, you must implement load balancing using the Windows Server 2003 Network Load Balancing (NLB) service or install a hardware load-balancing solution. Scaling WFE servers is covered later in this chapter. In addition to adding WFE servers to a medium farm, you can also add multiple search servers to a farm. Figure 13-2 shows an example of a medium farm.
Figure 13-2: A medium farm has multiple WFE servers.
A large Windows SharePoint Services farm usually has multiple search servers and two SQL Server instances, as shown in Figure 13-3. Large server farms can service well over 100,000 users and complex collaborative implementations. Be careful when creating Windows SharePoint Service farms, however, because there are no automated publishing or content deployment features. In addition, there is no centralized search capability, and this search limitation in conjunction with the lack of content management and deployment functionality often forces organizations to upgrade to SharePoint Server 2007.
Figure 13-3: A large farm could have multiple SQL Server installations for performance.
When purchasing SharePoint Server you gain several additional application services, also called server roles, such as Excel Calculation Services, Document Conversions, and separated Indexing and Query services. With this added functionality and flexibility, however, you can create a topology that functions poorly or not at all. Therefore, it is a wise idea to start with one of the following tested server farm topologies and modify as necessary.
A small SharePoint Server farm is identical to a small Windows SharePoint Services farm, except that additional service demand could be placed on the hardware, as is the case with Excel Calculation Services or Document Conversions. For environments other than development and testing, you should consider a medium farm or larger if you require such services as Excel Calculation Services or Document Conversions. A small SharePoint Server farm can be a good starting place for departments or small organizations. Remember, only use the services you need, and only scale out with additional servers when necessary.
A medium farm should be considered the minimum configuration for those desiring a highly available solution. A medium farm provides at least two WFE servers, one application server hosting any combination of SharePoint Server applications, and a dedicated SQL Server. If you require high availability for your applications servers as well, you should have an additional application server hosting Excel Calculation Services, Document Conversions, and Indexing. In a medium farm, you might dedicate one server to a specific SharePoint Server role, such as Excel Calculation Services. If possible, clustering your SQL Server installation is also advisable when building a medium server farm topology. Figure 13-4 shows an example of a beginning medium farm server topology when using two WFE servers. Web Applications and Query Service
As seen in Figure 13-4, the Query role is enabled on both WFE servers. Although scaling out Search and Indexing is covered in more detail later in this chapter, an important design feature is that the Index server copies the indexes to the Query servers. The Query servers, and not the Index server, actually answer user requests for searches. Therefore, the Index server could fail in this example, yet user searches would continue to function. Note that if you did not replace or repair the Index server, user searches results would eventually become inaccurate. In addition, you might have to move the Central Administration service in this example if Indexing or another application service impedes your ability to manage your server farm. This is often the case when Indexing CPU usage slows the Central Administration Web application to the point that Central Administration is unusable.
Figure 13-4: Placing the Query service on both WFE servers provides redundancy for searching should the Index server fail.
If you require dedicated servers for application services, such as Document Conversions, Indexing, Query, or Excel Calculation Services, you will need to implement some variation of a large SharePoint Server farm. There are many options available when scaling out, but be sure to test in a lab environment, rather than merely depending on your design in production. Figure 13-5 shows an example of a large server farm with dedicated Excel Calculation Services servers.
Figure 13-5: When moving Excel Calculation Services from the WFE servers, the WFE servers automatically proxy requests to the application servers.
You could also reverse the Query Services and Excel Calculation Services server roles in Figure 13-5 if you require dedicated Query Services. If you were to do this, then the search proxy service would send requests from the WFE servers to the Query servers. In addition, you cannot host Query Services on an Index server if you have more than one server hosting the Query Services role.
The maximum ratio of WFE servers to SQL Server cluster is 8:1. Although it is possible to scale out beyond this point, doing so is neither recommended nor supported by product support services. This essentially limits you to eight WFE servers per Web application. However, you are not limited to eight WFE servers in a farm because you can have multiple SQL Server installations, each with a set of eight WFE servers. When you require throughput greater than that possible with eight WFE servers, you can add additional SQL Server clusters as required. But don't forget: only one SQL Server cluster can host your configuration database. The SQL Server cluster that hosts the configuration database should be monitored constantly for failure.
To add additional SQL Server clusters to your server farm, simply select a different SQL Server when creating a new content database. However, include a second SQL Server cluster only when absolutely necessary. Having more than one SQL Server clusters creates complexity in your server farm performance, disaster recovery, and troubleshooting. Figure 13-6 shows an example of a large server farm using two SQL Server clusters, with extreme scaling of all SharePoint Server services.
Figure 13-6: Although you can have multiple SQL Clusters in a single farm, you should only do so when absolutely necessary.
In the previous example, all WFE servers proxy Excel Calculation Services requests and search queries. In addition, there is a dedicated SQL Server cluster for Shared Services and the configuration database.