What is the difference between Services and Service Applications in SharePoint with regards to Distributed Cache? Why is Distribution Cache Service applicable only on Services Level and not as a Service Application level?
2 Answers
What Is It?
The SharePoint Distributed Cache service provides additional caching support beyond the options that already exist and have been carried over from SharePoint 2010 and SharePoint 2007 before it (i.e., the Object Cache, BLOB Cache, and Page Output Cache).
The Distributed Cache service is actually built on top of the Windows Server AppFabric Cache. You don’t know anything about the Windows Server AppFabric Cache, you say? No worries: SharePoint 2013’s prerequisites installer takes care of installing the Windows Server AppFabric and configuring it for cache operations on your behalf. There is no initial action required on the part of administrators to get the Distributed Cache service installed and operational in their SharePoint 2013 environment.
If for some reason you’ve already installed the Windows Server AppFabric on one or more of your SharePoint servers, it is recommended that you uninstall it and let the prerequisite installer take care of installation and configuration for you as part of the SharePoint 2013 setup process. If for some reason you really want (or need) to set up the Windows Server AppFabric manually, be sure to follow the steps laid-out on TechNet to ensure that the it is configured correctly for SharePoint’s usage.
This is very different from Service Applications, where the most common ones isn’t preconfigured or setup by installing SharePoint. The SharePoint Administrator/Architect/Business Analyst have to decide whether or not to use a Managed Metadata Service Application, a User Profile Service Application or a Search Service Application.
A SharePoint farm can live without the above mentioned applications, but it can’t live well and prosper without a Distributed Cache. And (in the best of worlds) you should not have to care about the Distributed Cache (services on server page), AppFabric Caching Service (services.msc) or the Get-CacheClusterHealth (PowerShell).
To conclude very general (and not always true): Services live and function by themselves, Service Applications need to be configured.
**Services:**Perform a single or a few specialized operations.Most often accessed by other programs.Often (but not always) targets part of a larger problem domain.
Service Application: Services that are deployed are named service applications. A service application provides a resource that can be shared across sites throughout a farm, and can be accessed by users through a hosting web application. Service applications are associated to web applications by service application connections. Some services can be shared across farms.
What i think why DC is not service application, because it is not giving anything directly to user rather other Service Applications use DC to giving the information to end user. i.e User profile Service's Social feature totally depend upon the DC.