At Ignite, Microsoft dropped a lot of great announcements on us. New versions of Windows, new Security offerings, and new functionality for on-premises SharePoint Server 2016. Although there were several things announced, the improvements made to MinRole are some of the most significant.
MinRole was functionality that made its debut in SharePoint 2016 as a way for your SharePoint 2016 farm to manage its own health by making sure services were running where they were supposed to be, and unexpected services were not running where they shouldn’t be. You could assign one of four roles — Web Front End, Application, Search, or Distributed Cache — to a SharePoint server and once a day SharePoint would run a timer job to make sure all of the appropriate services were running on that server to ensure they could do the jobs you expected them to do. Also, as long as you had one of each of the four roles assigned to a server in your farm, you knew you had 100 percent of SharePoint’s functionality covered.
MinRole was another in a long list of features that have been added to SharePoint in part from Microsoft’s own experience hosting SharePoint Online. When farms are as large and numerous as SharePoint Online’s are, you need all the help you can get keeping the lights on, and MinRole helped make that possible. Microsoft could spin up a bunch of servers in each roll and as it was doing maintenance or cycling machines out it could verify in a glance that everything was covered. What a great idea!
Like many technologies, MinRole was better in design than execution. One of the most common complaints about it was the sheer number of servers it required. A farm needed four servers at a minimum to use it, and that’s before you did anything with scaling and redundancy. A highly available farm started at eight servers and likely would require more to have enough during patching and other maintenance. When you’re running farms the size of SharePoint Online’s that’s manageable, but when you’re a small shop it’s a different story entirely.
Because of that, many SharePoint 2016 farms opted for the Custom MinRole Role, which essentially means you can run whatever you want on the server. When you implement this role, MinRole and its watchdog timer jobs have washed their hands of you, which puts your farm in the same boat it was in with SharePoint 2013 and SharePoint 2010. Not a bad boat, for sure, but not as cool of a boat as one that fixes itself as you’re sailing across the ocean.
When we’re blessed with Feature Pack 1 (FP1) in November, one of the various and sundry new features it will include is the next revision of MinRole. In FP1 and later farms, we still get the original six MinRoles (i.e., Application, Custom, Distributed Cache, Search, Single Server, and Web Front End), but we also get two more roles that allow us to combine the Web Front role with the Distributed Cache role, and combine the Search Role with the Application Role. Post FP1, when the Config Wizard is run to add a server to a farm we get these options:
The Shared Roles are a welcome addition. MinRole maintains its complete flexibility in FP1, so if you want to shuffle around the roles in an established farm you have that option. You can do it in Central Administration, or using the Set-SPServer PowerShell cmdlet, which is, of course, much cooler and gives you more nerd cred.
Although these additions are quite exciting, they should be tested in a test environment before you deploy FP1 to your production farms and before you start trying out the new MinRole roles.