I recently attended SPC12 with many of my colleagues from AIS. One of the sessions I really enjoyed was High Availability Solutions with SharePoint Server 2013 delivered by Bill Baer. This sessions was geared toward the ITPro (admin) audience and detailed the options when making SharePoint Highly Available.
During this session I found it interesting how much time was spent talking about mirroring. Mirroring is now considered a deprecated technology but is still supported by SharePoint 2013. Today I’d like to break down the session and talk about my thoughts on each point.
A large aspect of any High Availability plan is the establishment of a Service Level Agreement (SLA). This, in a nutshell, is an agreement between you and your customer of how available the system will be. This is usually expressed as a percentage of uptime you guarantee. The closer to 100%, the higher the availability…but also the cost.
During this session Bill stated that SharePoint 2013 can deliver four nines uptime (99.99% available). This means that the system cannot experience more than 53 minutes of unplanned downtime per year. In my experience as a SharePoint admin, this seemed idealistic, to say the least. Many of the large-scale environments I’ve worked in don’t have the budget or underlying infrastructure to even come close to this. That said, it isn’t an impossible feat. Some of the new features of AlwaysOn technology detailed below allow for this type of uptime for your SharePoint deployment.
One question that always comes up during this phase is “what do I really need to protect?” This is a very valid question with the size and scale of a SharePoint deployment. There are so many moving parts it’s hard to know what’s really important. The answer to this question, as detailed in the session, is: Your Content.
When you think about it, most other pieces of a SharePoint deployment can be replaced if absolutely necessary. Search indexes can be rebuilt, user profile data can be reimported, and the entire farm can be rebuilt if you have the configuration database. What cannot be replaced is the possibly terabytes of information your users have meticulous uploaded and tagged with delicious metadata. This is the key reason that making your databases highly available (and disaster resistant) is paramount!
Okay, so now we know what piece of our deployment is the crown jewel. What are the possible solutions we can deploy to make our content highly available?
The previous method (and still viable to a point) is SQL mirroring. This technology is a one-to-one granular method of ensuring your data is highly available. This granularity is also its downfall. In an enterprise deployment, with possibly hundreds of databases, the management of the mirroring configuration can become…sporting, to put it nicely.
Enter the new tech from Microsoft called AlwaysOn Availability Groups. This is a new feature only available on SQL Server 2012. Essentially it combines the best-of-breed features from both mirroring and failover clustering. This allows it to provide a much more robust and almost infinitely scalable high availability solution. With AlwaysOn, databases are organized in to Availability Groups. These groups can then be replicated to multiple sites via multiple methods. The key here is that your databases are now grouped and can managed on a much greater scale with ease. The other huge advantage of AlwaysOn is applications don’t need to natively support it. This is due to a single connection name rather than the multi-name connection string mirroring requires.
This decision is crucial to ensure a scalable and highly available SharePoint deployment. Too many times I have seen organizations stand SharePoint up on a “DEV” box for test, only for it to become production. Once it’s being used by the business it’s difficult to start from scratch and re-architect the solutions. This is especially true of single-server installs.
The key is to start with a server topology that is scalable from the beginning. In the SharePoint world this is known as a 3-tier farm. The first tier is your web server, second is your application server, and the final is your SQL server. Starting with this configuration makes it extremely simple to scale out your deployment down the road. You can even start with no high availability solution and add that later as your budget permits.
Take Away Points:
- It’s possible for SharePoint to deliver 99.99% uptime.
- Content is king.
- Mirroring is deprecated but still supported in SP2013.
- AlwaysOn trumps Mirroring for large deployments.
- Single server deployments are evil!
Do you need a highly available SharePoint deployment? Do you already have one but it just doesn’t play nice? Comment below and share your HA war stories!