Thursday, November 26, 2015

MinRole in SharePoint 2016

We all have to make some tough decisions when making larger SharePoint environments. One of the toughest is which SharePoint services shall be running on which server. We would like our servers to be busy at same levels, but it is difficult to find the correct formula most of the times. Microsoft has been running SharePoint on online servers for a few years so far and with currently over 20,000 databases over 19 databases across the world, its unlikely there is anyone better who knows which services work well together other than Microsoft.

MinRoles are predefined types of server roles that that will maximize the optimization of SharePoint workloads across the servers. The good thing about MinRoles is that you can select it at the point of installation and change at some scenarios even sometime after the provisioning. As it is the SharePoint Server 2016 Beta 2 which is the latest release available, there are six predefined MinRoles.


  • Front-End
These servers are intended to handle the user requests. Therefore they are optimized with lower latency. SharePoint Web Applications will be provisioned within the Front-End servers while Service Applications and Services are also possible.
  • Application
Optimized for processing back end services such as background processes, and some service applications. These services are optimized to provide higher performances through high throughput.
  • Distributed Cache
Service applications, services and other components that require distributed caching are stored in the Distributed Caching servers.
  • Search
Services and service applications that require search service functionality are stored in the search servers.
  • Custom
Anything that does not fit into MinRole are provisioned through custom servers. The farm administrator has full control over which service instances can run on servers assigned to the Custom role. MinRole does not control which service instances are provisioned on this role.
  • Single-server farm
A Single-Server Farm is meant for development, testing, and very limited production use. A SharePoint farm with the Single-Server Farm role cannot have more than one SharePoint server in the farm. A Single-server farm does not mean that is a Standalone server which is unavailable with SharePoint 2016. Unlike in Standalone servers, administrators must configure a separate SQL Server installations for Single-server farms.

Does this mean do I need at-least 4 servers for SharePoint installation?

No, it does not mean that. You can go with a Single-server farm or either have your own architecture with Custom servers. Its just that it will not be fitting into MinRoles as performance optimized, but who knows, you may come up with better performance depending on the services you consume. 

MinRole Deployment for SharePoint 2016

One clear change came to SharePoint with MinRole deployment is the number of required virtual machines go up. Some might look at this as a costly option but with the distribution of the servers, performance requirement for a single server may go down. Also given many organizations moving their SharePoint environments to Azure, this might be much cost effective than the Custom deployments. 

At least a single core server role is required to fulfill the minimum 100% MinRole requirement. That means 4 servers for SharePoint. If you are looking at a production environment where you may require High Availability, you need 3 servers for Distributed Cache as a cluster quorum and 2 servers each for the other core server roles. Which means 9 SharePoint Servers. 

Considering the requirement of Always On for SQL Server where you need 2 SQL Server machines and probably one or more Workflow Manager farms depending on the topology that will be chosen, the number of machines require may further go up. 

Also there are some typologies recommended by Microsoft for MinRole as follows.

Server role
Required for Content Farm ?
Required for Shared Services Farm ?
Required for Search Farm ?
Front-end web
Yes
No
No
Application
Yes
Yes
No
Distributed cache
Yes
Yes
No
Search
Yes, if hosting Search
Yes, if hosting Search
Yes
Custom
Optional
Optional
Optional
Source: MSDN

Conclusion

Having a MinRole deployment would be great, but its always better to do a strict evaluation on the expected load on the servers. If it is very low, you can survive with a Single-Server Farm. Then consider servers with Custom MinRoles. After that start with a minimum 100% MinRole and move forward. It is likely that Microsoft might put out some numbers that will help decision making in future. So till then, tryout a Beta 2 Server setup with MinRole for SharePoint 2016.

No comments:

Post a Comment