Where to Start Office Web Apps Related Services?

This question was recently asked: Where do I start the Office Web Applications in a farm with multiple web front ends (WFEs) and application servers (APPs)?

There is a TechNet article that talks about this, https://technet.microsoft.com/en-us/library/ff431687.aspx#bkmk_ins_exis_farm. This rather long article includes this sentence: Start the services on the Web front-end servers on which you want users to view and edit documents in the browser. This brief guidance is understandable, since it probably covers many simple deployments, and a more complete answer lengthen the article and make it harder to consume, but for larger farms, this simple guidance may not be optimal.

First, let’s establish some background on service instances and service applications in general. Service instances can run on any, or all, servers in a farm; both WFE and APP servers in any combination. The magic that allows this is the application topology service. The topology services makes service consumers (the WFE service proxies in this case) aware of the servers where the service instances are running. The service instances then load balance themselves through their built-in load balancer and proxies to spread the load evenly. The service consumer and the service instances DO NOT have to be on the same server. A common example is the managed metadata service, which might only have instances running on 2 APP servers. Requests for term sets are relayed from the WFEs to the appropriate APP server via the service proxies and load balancers. The key point is the service instance does not have to run on the WFE.

In the case of Office Web Apps, it is not necessary for the OWA services to run on the WFEs, although that may make sense in simple scenarios. For example, there could be just 2 WFEs running only the web application service, while there are 8 APP servers running the OWA service instances with the built-in load balancing spreading the load from the 2 WFEs across the 8 APP servers. (You will see this taken even further in SharePoint 2013 where OWA services run in an entirely separate farm from SharePoint)

Taking one example, what if Excel Services is rarely used? It does not make sense to run instances of Excel Services on all the WFEs? This just takes up WFE memory and CPU that might better be used to respond to normal page requests.

Taking another example, the other extreme is all users heavily hit Excel Services. In this case the WFEs may not be able to handle the Excel Service load, so it would be better to stand up APP servers dedicated to Excel Services, and scale out by adding additional APP servers so the WFEs are not bogged down doing Excel calculations.

So the long answer of where to put the OWA service instances is “it all depends”. Analyze the expected usage of each service (Word Viewer, PowerPoint Viewer, and Excel Services), and then start the necessary number of instances on the most appropriate servers.