High availability describes the procedure you take to make your server farm resilient to hardware failures. In other words, high availability means that users can continue to access SharePoint if a single component in the farm fails. By contrast, disaster recovery refers to the processes you put in place to avoid loss of data when a hardware or software failure occurs. When designing high availability and disaster recovery strategies for a SharePoint farm, it is important to understand the various approaches required by each logical tier in the farm. High availability for the database tier requires understanding how SQL Server provides high availability and the associated requirements.
High availability for the application tier can be straightforward for some service applications, whereas other applications, such as Search, require additional planning and configuration for high availability. The Web Front End (WFE) tier will also require additional planning and configuration for high availability and architects should consider the new SharePoint 2013 request management feature. SharePoint farm disaster recovery has always required considerable planning and understanding of the necessary components and backup tools available. In this regard, SharePoint 2013 is no different and Farm Administrators should create a disaster recovery plan that states how content and configurations are backed up, how data can be restored and what backup schedules are required.
Designing for High Availability
Typically, high availability involves using additional, redundant components to avoid outages and ensure continuation of operations when primary components fail. Outages occur under normal circumstances when failures occur or when planned maintenance is required. By implementing an appropriate high-availability strategy, you can ensure that there is a significantly greater degree of service uptime. Uptime is typically measured as a percentage; for example, 99.99% uptime, sometimes referred to as four nines uptime, represents only 0.01% downtime, which is equivalent to 52 minutes downtime per year. When designing a solution to meet high availability requirements, it is important to include considerations for supporting the entire solution. There is no point in making the database servers highly available if there is only one Web Front End (WFE) server, because the WFE server becomes a single point of failure for the farm. Additionally, supporting components, such as the network infrastructure, must be considered and planned for as part of a highly available solution to avoid other single points of failure, including cables, switches and power supplies. When designing a highly available SharePoint solution, you should consider the following components.
Hardware
Protecting servers against hardware failure involves duplicating components, such as power supplies, network cards and implementing RAID storage for the operating system volume and any other critical data storage, such as databases. You can go further to protect against the loss of entire servers in the farm by duplicating server workloads or creating server clusters.
WFE servers
You can protect against the loss of a WFE server by creating and joining additional WFE servers to the farm. In order to allow for seamless failover among multiple WFE servers, you can configure Network Load Balancing (NLB).
Application servers
You can protect against the loss of application servers by creating and joining additional application servers to the farm. Some service applications may require additional configuration to support the use of additional servers.
Database servers
You can protect against the loss of database servers by adding more servers running SQL Server. You can configure multiple SQL Servers to provide high availability for databases by using SQL mirroring, SQL Server failover clustering, or Always-On Availability Groups.
Server virtualization
You may consider using your virtualization platform to provide a small or large part of your high availability strategy for SharePoint 2013. When planning to utilize high availability within your virtualization platform, it is important to understand how the virtualization platform assists availability and to plan your virtualization deployment accordingly.