What can and cannot be clustered, what is and is not instance aware

SQL Server 2005 includes a number of different services and it is an interesting topic of discussion on what services amongst these can be clustered and what services are multi-instance aware.

Cluster aware services:

Database Engine - This includes SQL Server, SQL Server Agent and SQL Server Full Text services

SQL Server Analysis Services

Services that are not cluster aware:

SQL Server Reporting Services - Reporting Services is made up of a few different components. It relies on IIS for hosting the web service and on the SQL Server Data Engine  for hosting the metadata database. Both IIS and SQL Server Data Engine are cluster aware services and so in effect you achieve high availability by clustering those components.

A more important discussion when talking about SSRS is in it's ability to scale out. You can scale out a SSRS deployment by having multiple instances of SSRS pointing to the same SQL metadata database to provide load balancing. For more information refer to:

https://technet.microsoft.com/en-us/library/ms156453.aspx

A very common misconception is that windows clustering is thought of as a load balancing mechanism while it is not. Windows clustering and the clustering services that sit on top of it like SQL Server, SSAS etc. provide High Availability and not load balancing. To achieve load balancing, a service like WLBS (Windows Load Balancing Service) needs to used.

 

SQL Server Integration Services - This is not a cluster aware service. SSIS does not store any data internally as it is purely an ETL engine among other things. So, if you still want HA capabilities on the engine itself, then you can do so by creating a generic service wrapper around it. For more information, refer to:

https://msdn2.microsoft.com/en-us/library/ms345193.aspx

Instance aware services:

Instance aware services are services that enables us to install multiple instances of the same service on the same machine.

Database Engine, SSAS and SSRS are instance aware services while SSIS is not an instance aware service.