- Understanding Scalability for SharePoint
- Scaling Logical SharePoint Components
- Utilizing and Understanding Clustering for SharePoint
- Choosing the Right Clustering Technology for SharePoint
- Scaling SQL Server with High Availability Alternatives
- Choosing the Appropriate SQL Server High Availability Alternative
- Scaling Across a SharePoint Farm
- Justifying and Deploying Business Portals
- Addressing Common Business Issues with SharePoint Features
- Deploying a Team Collaboration Solution with SharePoint
- Deploying a Corporate Intranet Solution with SharePoint
- Deploying a Customer Extranet Solution with SharePoint
- Best Practices
Scaling Across a SharePoint Farm
In addition to the logical structure of SharePoint, which can be scaled out, SharePoint includes the ability to physically spread data and content across multiple servers. This is one of the principal design changes implemented since the first versions of SharePoint, which did not scale very well beyond a single server. The concept of the SharePoint farm subsequently allows for a much greater range of flexibility and scalability of an environment because services and databases can be distributed.
Defining Farm Server Components
SharePoint farms consist of two, three, four, or more servers sharing a common configuration database. A farm provides for the distribution of processing and application power across multiple machines in addition to providing a limited degree of additional redundancy into an environment.
Each SharePoint server installed into a SharePoint farm takes on specific sets of roles in that environment. The roles for SharePoint servers in a farm are as follows:
- Web Server—This type of SharePoint server is stateless and does not contain any data. It is used to provide web-based services for end users. Part of a front-end server configuration, multiple load-balanced web servers can be deployed to scale out the distribution of SharePoint data to multiple users.
- Search Indexing Server—A designated search server is used to conduct searches against indexed data in SharePoint.
- Excel Calculation Server—An Excel Calculation Server runs the calculations required for Excel Services, which provide for spreadsheet functionality for browser clients.
- Database Server—A database server runs either SQL Server 2000 or SQL Server 2005 and houses SharePoint databases. Windows SharePoint Services can also house databases on the light version of SQL, called MSDE in SQL 2000 and SQL Server Express in 2005. Databases may be split across multiple locations, with multiple content databases in a farm split across multiple database servers.
As an organization's requirements from SharePoint scale beyond the capabilities of a single server, additional servers added into a farm become a necessity. Understanding how those servers can be designed and scaled properly into an environment is key.
Utilizing Shared Services Across SharePoint Farms
SharePoint scalability does not end at the farm level. On the contrary, SharePoint's capability to extend its resources to large deployments is supported by the concept of shared services. Shared Services is the capability to share specific functionality across multiple SharePoint farms. For example, search capability can be extended across more than one SharePoint farm utilizing the Shared Services model. Although individual items cannot be shared using this approach, the following items can be shared:
- Personal Mysites
- Single sign-on service
- Business Data Catalog
- Excel Services
- Portal Usage Reporting
- SharePoint Server Search and Indexing
- User profiles
Several limitations exist for deploying SharePoint using the Shared Services approach, however. The following are limitations of using this model:
- The parent and child farm servers must belong to the same domain or trusted domain environment.
- Server farms cannot be separated by firewalls and must have essentially full network access between each other.
- SharePoint Server editions and languages must be the same between servers in each farm.
- A child site cannot switch roles with a parent site.
- When configured to use Shared Services, a server farm cannot be removed from that functionality. In addition, some services have to be turned off in the child server farm to be able to use Shared Services.
For the largest SharePoint deployments, Shared Services allows a degree of scalability beyond the server farm itself, allowing for the sharing of resources between multiple SharePoint environments.
Microsoft Office SharePoint Server (MOSS) 2007 requires that a Shared Services instance be created for each farm, not matter what the size. Even single server instances must build a Shared Services Provider (SSP). The SSP is used for administration of specific farmwide content, and is used as a placeholder if the farm is expanded in the future.