53
A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms Miguel Wood Eric Shupps

A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Embed Size (px)

DESCRIPTION

Building SharePoint farms for development and testing is easy. But building highly available farms to meet enterprise service level agreements that are fault tolerant, scalable and connected to the cloud? Not quite so easy. In this workshop you will learn how to plan, design and implement a highly availability farm architecture based upon proven techniques and practical guidance. You will also discover how to connect on-premise deployments to the cloud, manage security and identity synchronization, correctly configure workflow farms, and prepare your environment for app integration.

Citation preview

Page 1: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

A Real World Guide to Building Highly Available Fault Tolerant

SharePoint Farms

Miguel WoodEric Shupps

Page 2: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Agenda

IntroductionFundamentalsArchitectureImplementation

Page 3: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Introduction

Page 4: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Reminders

• Download the attendee packet at http://bit.ly/SPAloozaAttendee • Attend the “Rock Star” Sessions at the end of each day for fun, raffle

prizes, wrist bands for concert access, and your chance to win a Surface Pro 3

• Attend Nintex’s Brown Bag lunch Friday and Saturday (lunch provided for first 100 people)

• Tweet about the event using #SharePointalooza• Thank our sponsors• Have a great time!

Page 5: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Sponsors

Page 6: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Bands

What better way to unwind after a long day of working out your brain than with some great live music at the amazing outdoor stage at Branson Landing! The bands will be playing both Friday and Saturday night from 6:30 pm to 10 pm.

Page 7: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

About Miguel Wood

The “Other” SharePoint Cowboy [email protected]@go-planet.com facebook.com/miguelwood @miguelwood

Page 8: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

About Eric Shupps

CKS:DEV

TheSharePointCowboy

Patterns&

Practices

Eric Shupps

www.sharepointcowboy.com [email protected] facebook.com/sharepointcowboy @eshupps

Page 9: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Fundamentals

Page 10: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

What is High Availability?

Elimination of single points of failureFully redundant systemsSeamless continuityAutomated failoverOperational Stability

Page 11: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Why Do We Need High Availability?

Risk mitigationComplianceCustomer SatisfactionRevenue ProtectionSafetyPerformanceSecurityPublic Relations

Page 12: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Requirements

Infrastructure• Devices• Servers• Bandwidth• Storage

Software• Windows Server 2012

• Failover Clustering• File Shares

• SQL Server 2012/2014• Always On Availability Groups

Page 13: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Considerations

ResourcesCostComplexityLicensingTroubleshootingPatching & Updates

Page 14: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Architecture

Page 15: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Basic SharePoint 2013 Farm Architecture

SharePoint Server 2013Front-end Server

SQL Server 2012 SP1 PowerPivot Add-In

SQL Server 2012 SP1 Reporting Services Service ApplicationSQL Server 2012 SP1 Reporting Services Add-In

SharePoint Server 2013Application Server

Excel Services Service Application

SQL Server 2012 SP1 PowerPivot Add-InSQL Server 2012 SP1 PowerPivot Service Application

SQL Server 2012 SP1 Reporting Services Add-In

Office Web Apps 2013 Server

SQL Server 2012 SP1+

Database EngineAll Databases and Roles

SQL Server PowerPivot for SharePoint

Workflow Manager Server

Page 16: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Basic SharePoint 2013 HA Farm

• JUST SharePoint• Is everything on this diagram

‘highly available’?• What about environment?

• AD DS, AD CS/CA, ISPs, etc.

Virtual Host A Virtual Host B

SQL Server installed and configured to support SQL AlwaysOn Availability Groups.

WFE01SharePoint 2013Front-end Server

APP01SharePoint 2013

Application Server

SQL01SQL Server 2012 SP1+

All Databases and Roles

WFE02SharePoint 2013Front-end Server

APP02SharePoint 2013

Application Server

SQL02SQL Server 2012 SP1+

All Databases and Roles

F5 BigIPNetwork Load Balancer

WFM01Workflow Manager

Server

WFM03Workflow Manager

Server

WFM02Workflow Manager

Server

wfm.<domain>.com

WSFC01SQLAGL01

WAC01Office Web Apps 2013

Server

WAC02Office Web Apps 2013

Server

wac.<domain>.com

Page 17: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Azure IaaS SharePoint 2013 HA Farm

• Azure features and functionality are changing rapidly

• Currently, items you must know well (purpose, configuration, and limitations):

• Storage• Cloud Services• Availability Sets• Virtual Networks, Regional Virtual Networks*

(Affinity Groups no longer relevant!)• Load Balancer, Internal Load Balancer*, Traffic

Manager• Site-to-Site VPNs, Multi-Site VPNs*• Resource Groups*• Azure PowerShell modules*• MUCH more

* Added within last 60 days

Page 18: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Environment

Page 19: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Network

FirewallsRoutersLoad BalancersSwitchesVirtual HostsNetwork InterfacesStorage

Page 20: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Storage

Dedicated vs. Shared StorageQuorum Types

• Node Majority• Node and File Share Majority• Node and Disk Majority• Disk Only

Witnesses• Disk• File Share

Page 21: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Active Directory

Logins• Service Accounts• SQL Accounts• Computer Objects• File shares

Cluster permissions• Read all properties• Create computer objects

Page 22: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

DNS

• Configuration• Location• Availability• Replication

• Entries• Machines• Cluster• Listeners

• Permissions

Page 23: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

SSL

Encryption• Communication (SSL)• Data (TDE)

Certificate Types• SAN• Wildcard

Challenges• Cost• Complexity• Configuration

Page 24: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

SQL Server

Page 25: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Clustering

Windows Server Failover Clustering

• Required• Provides base cluster capabilities• Server level

SQL Failover Cluster Instance• Optional• Instance level• No automatic failover w/

Availability Groups

Page 26: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Availability Groups

Group of databases organized into PRIMARY (1) and SECONDARY (4 –2012, 8 – 2014)Automatic data synchronizationSynchronous and Asynchronous modesOptional read-only replicasDatabase-only redundancyListeners (Virtual Network Names)

Page 27: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Aliases

Provide flexibility and abstractionBest practiceHA aliases target AG Listeners NOT servers or instancesUse multiple listeners for scalability

Page 28: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Storage

Windows Server Failover Cluster• File Share quorum • Disk witness quorum

Failover Cluster Instances• Shared storage between cluster

members• Storage “owned” by active

member

Availability Groups• Discrete storage for each replica

Page 29: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Performance

SQL overhead ALWAYS impacts performanceEnsure adequate bandwidth for database replicationSecondary infrastructure does not have to match primary

• Beware reduced performance• Plan for rapid scale-out

Async faster than sync• Possible data loss

Page 30: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Service Applications

Page 31: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

SharePoint Databases

Database Name Sync Async

User Profile Application Yes Yes

User Profile Sync Yes No

User Profile Social Yes Yes

Word Automation Yes Yes

Managed Metadata Yes Yes

Translation Yes Yes

BDC Yes Yes

Project Server Yes Yes

PowerPivot N/A N/A

PerformancePoint Yes Yes

Database Name Sync Async

Config Yes No

Central Admin Yes No

Content Yes Yes

App Management Yes Yes

Search Admin Yes No

Search Analytics Yes No

Search Crawl Yes No

State Service Yes No

Secure Store Yes Yes

Usage and Health Yes No

Page 32: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Search

Async replication NOT supported• Risk of deltas between on-disk

indexes and databases is HIGH

Sync Replication Challenges• Administration

• Site-level configuration• Analytics• Database size• Crawl/Re-Indexing time

Page 33: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

User Profiles

Full database replication possible but can be problematic

• Synchronization is best done “live”

Options• Backup and restore• Reprovision

User Profile Service Application

ProfileDB

SyncDB

User Profile Synchronization Service

ActiveDirectory

ProfileDB

SyncDB

Forefront Identity Manager

FIM FIM Sync

Page 34: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Distributed Cache

Independent cache with no DB persistenceConfigurable memory allocation

• Max 16GB per server• Max 32GB per farm

Dedicated mode recommended for High Availability

• HA possible in collocated mode with sufficient hardware resources

Cache Dependencies

Feeds

Content Search

Web Part

Login Tokens

Access Cache

Security Trimming

App Tokens

View State

OneNote Throttling

Page 35: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Request Management

Page 36: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Access Services

Leverages “Contained Databases” feature of SQL 2012Requires changes to SQL Server protocols, settings and authentication mode

• HA requires Contained Database Authentication

Access DB’s are NOT automatically added to availability groups

Page 37: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Business Intelligence

SSAS• Can be configured for read-only

replicas

SSRS• Requires hotfix KB2654347• No automatic failover

PowerPivot • Not yet tested for Sync or Async

commit operations

Page 38: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Hybrid

Page 39: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

What is Hybrid?

+ =HybridOnline On-premises or

Azure IaaS

Page 40: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Two-way (Bidirectional) Topology

Page 41: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Infrastructure pre-requisites

Page 42: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Reverse Proxy

Only required for ‘Inbound’ or ‘Two-Way (Bidirectional)’ Hybrid topology• (e.g. Users issuing queries from a Search Center in SharePoint Online attempting to

retrieve search results from an on-premises farm)Reverse Proxy Device Requirements

• Support client certificate authentication with a wildcard or SAN SSL certificate• Support pass-through authentication for OAuth 2.0• Accept unsolicited inbound traffic on TCP port 443 (HTTPS)• Bind a SAN SSL certificate to a published endpoint• Relay traffic to an on-premises SharePoint 2013 farm without rewriting any packet headers

(Currently) Supported Reverse Proxy Devices• Windows Server 2012 R2 with Web Application Proxy (WAP)• F5 BIG-IP• Forefront Threat management Gateway (TMG) 2010 (*Deprecated*)

Page 43: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Active Directory Federation Services (AD FS)

Prepare Active Directory• Windows Server 2003 R2 functional level at a minimum• UPNs are correctly set (if public domain differs to corporate domain name)

Deploy AD FS 2.0+• AD FS 2.x is based on IIS• AD FS 3.0 is not based on IIS (PowerShell only)

Install Microsoft Online Services Sign in Assistant and Windows Azure AD PowerShell ModulesSet up a trust between ADFS and Windows Azure AD• Connect-MSOLService• Set-MSOLADFSContext• Convert-MsolDomainToFederated –DomainName <domain>

Page 44: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Directory Synchronization (DirSync)

Synchronization of objects for on-premises AD to Azure AD• Limited to 50,000 objects, can be increased by engaging Microsoft• Synchronization occurs every 3 hours by default, can be initiated manually• Can filter based on OU, Domain or User Attribute

This is a requirement for SharePoint Hybrid scenarios, including Search• When a user issues a query from on-premises to SP Online, SP Online must

rehydrate the user’s identity• The rehydration process looks up attributes in the SP Online profile store• If no or multiple profiles exist the query will fail rather than security trimmed

results being returned

Page 45: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Sample (non-HA) Hybrid Deployment

VPN

VPN

Site

-to-S

ite V

PN T

unne

l

AD DS[AZLAB-DC2]

Azure AD Sync[AZLAB-DIRSYNC1]

AD FS (3.0)[AZLAB-ADFS1]

AD FS Proxy[AZLAB-WAP1]

Windows Server 2012 R2Web Application Proxy

(WAP)(Reverse Proxy)

SharePoint Server 2013 Published

SQL Server 2012 SP1+[SQL1]

AD DSAD CS[DC1]

Web Application Companion (WAC)

[WAC1]

SP2013Web Front End

(WFE)[WFE1]

SP2013Application Server

(APP)[APP1]

Windows 8.1 Enterprise Client

[CLIENT1]

Windows Azure Workflow Manager

[WFM1]

Remote Access(VPN and NAT)

[EDGE1]

External Internet

User

Page 46: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Pop Quiz(Are you still awake?)

• What are the considerations to make this environment HA?

VPN

VPN

Site

-to-S

ite V

PN T

unne

l

AD DS[AZLAB-DC2]

Azure AD Sync[AZLAB-DIRSYNC1]

AD FS (3.0)[AZLAB-ADFS1]

AD FS Proxy[AZLAB-WAP1]

Windows Server 2012 R2Web Application Proxy

(WAP)(Reverse Proxy)

SharePoint Server 2013 Published

SQL Server 2012 SP1+[SQL1]

AD DSAD CS[DC1]

Web Application Companion (WAC)

[WAC1]

SP2013Web Front End

(WFE)[WFE1]

SP2013Application Server

(APP)[APP1]

Windows 8.1 Enterprise Client

[CLIENT1]

Windows Azure Workflow Manager

[WFM1]

Remote Access(VPN and NAT)

[EDGE1]

External Internet

User

Page 47: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Implementation

Page 48: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Failover

Page 49: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

SQL Server

Page 50: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Environment

Page 51: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Service Applications

Page 52: A Real World Guide to Building Highly Available Fault Tolerant SharePoint Farms

Review

IntroductionFundamentalsArchitectureImplementation