Sure, I’ve extolled the virtues of SharePoint Online, and how it can make a lot of sense for organizations as opposed to On-Premise SharePoint installations. But, there are still other reasons why you should consider an On-Premise environment for Share Point. Let’s examine a few different reasons:
While SharePoint does set some hard limits for certain things whether you are On-Premise or in the cloud, some of those limitations can actually be changed if you have deployed an on-premise environment. Whether it be timeout settings, or even postbacks for InfoPath forms, these settings can be increased or decreased with an On-Premise environment. When you are deployed to SharePoint Online however, these performance limitations are locked by Microsoft to prevent you from crashing their servers 🙂
Microsoft is moving towards providing better integration between SharePoint Online, and your On-Premise LOB applications. But this technology still has a ways to go until it is more reliable, more stable, and more secure. The recent addition of ExpressRoute for Office 365 is a good (albeit highly expensive ) addition to the arsenal, and I suspect that over the next few years, they will provide even more tools to help you integrate between the platform and SharePoint Online. But if your needs are immediate, than an on-premise environment is certainly the more proven commodity.
SharePoint as a whole has come a long way to help organizations truly customize the experience without affecting the entire environment (see SharePoint App Model, now SharePoint Add-ins). But depending on your business requirements, you may be looking to leverage the platform in ways that Microsoft did not envision. This is a good thing! But, with SharePoint Online, you will lose certain controls, and like it or not, the environment belongs to Microsoft. This means they will upgrade you when they want, and that they will only allow you to customize the platform in ways that will prevent the least possible risk to the overall platform (which can also be a good thing!). I recently had a SharePoint Online deployment that had not performed the Visual Upgrade to the 2013 version. With SharePoint Online, they were presented with an option to delay the upgrade for 30 days. They submitted to get the upgrade delayed, received a message back from Microsoft that upgrade was delayed, and then Microsoft went ahead and upgraded them anyways on the original upgrade date, breaking certain functionality that could have been fixed. This is an inherent risk when your organization does not control the platform.
SharePoint Online does provide some good options for automating certain tasks, but with limited PowerShell Support, no access to Timer jobs, and no way to provide full-trust farm solutions, an On-Premise environment provides the maximum functionality for automation that SharePoint as a platform can allow.
So, sometimes an On-Prem environment can be the best option for your organization. and when in doubt, there’s always a Hybrid option!