SharePoint - Basic concepts about SharePoint Farms

People often have different ways of describing what exactly a SharePoint farm is. There are different ways of describing the Application server and the Web-Front End (WFE) server. As a developer, it is very important to understand the basics concept of the term 'farm' because when a solution is developed, it will be eventually be deployed in the servers present in the 'farm'.

What is a farm?

In the context of SharePoint, the term 'farm' is used to describe a collection of one or more SharePoint servers and one or more SQL servers that come together to provide a set of basic SharePoint services bound together by a single Configuration Database in SQL.
Farms can range in size from having everything (all SharePoint roles and SQL server) on one machine to scaling out every individual SharePoint serve role onto dedicated sets of servers. A farm the highest administrative boundary for SharePoint and everything that happens inside SharePoint happens in a farm.
An easy way to conceptualize is that one configuration database stands for one farm.

Server Services

Within a farm, there are several services that run on one or more servers. Some of these services are mandatory and some are optional. These services provide the underpinning functionality for SharePoint. The decision around which services run on which servers will have a huge impact on your overall farm architecture and performance.  
  • Windows SharePoint Services Web Application (often referred to as 'Web Server' or 'WFE') - This service is responsible for serving the HTML to clients and routing requests to other services in the farm.
  • Office SharePoint Server Search in Query Mode (often referred to as 'Query Server') - This service is responsible for executing search queries against a locally stored copy of the index
  • Office SharePoint Server Search in Index Mode (often referred to as 'Index Server')  - This service is responsible for indexing all of the configured content sources, creating an index and propagating it to every Query server in the farm
  • Windows SharePoint Services Search - This service is basically a slimmed down version of the Office SharePoint Server Search service which combines both the Query and Index roles into a single service.  
  • Excel Calculation Services - This service is responsible for performing calculations on Excel workbooks that are stored in the content databases.
  • Document Conversions Load Balancer Service  - This service balances document conversion requests from across the server farm. 
  • Document Conversions Launcher Service  - This service schedules and initiates the document conversions on a server.
  • Windows SharePoint Services Incoming E-Mail - This service is responsible for receiving incoming emails and placing them in email enabled lists. 
  • Windows SharePoint Services Outgoing E-Mail  - This is not technically a SharePoint service but refers to an SMTP server which SharePoint send outbound email to
  • Central Administration - This service enables the central administration interface that is required for farm-wide administration.

What is the difference between Application server & Web Front End (WFE) server?

When SharePoint is installed, you have to select one of three installation options, they are:
  • Application Server
  • Complete
  • Web Front End
There is a lot of confusion around what these options mean. An 'Application Server' is a server that is capable of running any of the services in the table above apart from the Windows SharePoint Services Web Application service. A 'Web Front End' (sometimes called a WFE) is the opposite in that it can only run the Windows SharePoint Services Web Application service. 'Complete' means that the server can run any SharePoint service.
The reason behind these options is that in some scenarios, very 'thin' web servers may be required which have a very small installation footprint. In this case, it is not desirable to install all of the DLLs etc that are required to run any service apart from the Windows SharePoint Services Web Application – these are true web servers. In my experience, this is a relatively rare scenario and only really relevant when SharePoint is being used to host high traffic internet sites.
The problem with selecting anything other than 'Complete' is that it means if you ever change your mind about what services a server can run, you'll need to re-install SharePoint on that server. For that reason alone, I would always recommend that you choose 'Complete' unless you have a very good reason to do otherwise.
This means that the terms 'Web Front End Server' and 'Application Server' are often used incorrectly. Unless your server is only running the Windows SharePoint Services Web Application service, it is an Application server. This means that the majority of servers in the majority of farms are actually Application servers.

Post a Comment