SlideShare a Scribd company logo
Building the ‘Perfect’ SharePoint 2010 FarmMichael NoelConvergent ComputingTwitter: @MichaelTNoel
Michael NoelAuthor of SAMS Publishing titles “SharePoint 2010 Unleashed,” “SharePoint 2007 Unleashed,” “SharePoint 2003 Unleashed”, “Teach Yourself SharePoint 2003 in 10 Minutes,” “Windows Server 2008 R2 Unleashed,” “Exchange Server 2010 Unleashed”, “ISA Server 2006 Unleashed”, and many other titles .Partner at Convergent Computing (www.cco.com / +1(510)444-5700) – San Francisco Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security
What we will coverExamine various SharePoint 2010 farm architecture best practices that have developed over the past yearExamine SharePoint Best Practice Farm ArchitectureUnderstand SharePoint Virtualization OptionsExplore SharePoint DR and HA strategies using Database MirroringExplore other common best practices (IPv6, SSL, NLB)Learn how to Enable Kerberos for Best Practice SecurityA large amount of best practices covered (i.e. Drinking through a fire hose), expectation is that you can take away 2-3 useful pieces of information that can be used in your environment
Architecting the Farm
SharePoint 2010 ArchitectureSmall Farms‘All-in-One’ (Avoid)DB and SP Roles Separate
SharePoint 2010 Architecture“Smallest Highly Available Farm”2 SharePoint Servers running Web and Service Apps2 Database Servers (Clustered or Mirrored)1 or 2 Index Partitions with equivalent query componentsSmallest farm size that is fully highly available
SharePoint 2010 Architecture“The Six Server Farm”2 Dedicated Web Servers (NLB)2 Service Application Servers2 Database Servers (Clustered or Mirrored)1 or 2 Index Partitions with equivalent query components
SharePoint 2010 ArchitectureLarge FarmMultiple Dedicated Web ServersMultiple Dedicated Query ServersMultiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelization of the crawl processMultiple distributed Index partitions (max of 10 million items per index partition)Two query components for each Index partition, spread among servers
SharePoint 2010 Virtualization Architecture
Virtualized Farm ArchitectureCost-effective Virtual Environment / No HAAllows Organizations that wouldn’t normally be able to have a test environment to run one
Allows for separation of the database role onto a dedicated server
Can be more easily scaled out in the futureVirtualized Farm ArchitectureHighly Available Farm with only Two ServersHigh-Availability across Hosts
All components Virtualized
Uses only two Windows Ent Edition LicensesVirtualized Farm ArchitectureBest Practice Virtual/Physical with HA/PerfHighest transaction servers are physical
Multiple farm support, with DBs for all farms on the SQL clusterVirtualized Farm ArchitectureLarge Virtual Farms
Content Database and Site Admin Architecture
Content Database and Site Collection PlanningStart with a distributed architecture of content databases from the beginning, within reason (more than 50 per SQL instance is not recommended)Distribute content across Site Collections from the beginning as well, it is very difficult to extract content after the faceAllow your environment to scale and your users to ‘grow into’ their SharePoint site collections
Building the Perfect SharePoint 2010 Farm; A Walkthrough of Best Practices from the Field
SQL Database Mirroring
SQL Database MirroringHA Solutions using Mirrored Copies of SharePoint DatabasesNew in SQL 2005, available in both Standard and Enterprise editions, improved in SQL 2008Works by keeping a mirror copy of a database or databases on two serversCan be used locally, or the mirror can be remoteCan be set to use a two-phase commit process to ensure integrity of data across both serversCan be combined with traditional shared storage clustering to further improve redundancy
SQL Database MirroringSQL Mirroring ModesHigh Performance (Enterprise Edition only)Asynchronous MirroringSafety level = OFFFailure of principal server may result in data lossHigh AvailabilitySynchronous MirroringSafety level = ONDual-commit process ensures no data lossThird witness server requiredHigh ProtectionSynchronous MirroringSafety level = ONManual failover, no witness server
SQL Mirroring DesignsVarious SharePoint Mirrored DB OptionsSingle Site HA Mirrored FarmSynchronous ReplicationAll Servers in one Physical LocationCross Site Mirrored HA FarmSynchronous ReplicationServers split across highly connected physical sitesTwo Farm / Mirrored Content DBsAsynchronous ReplicationContent Databases Mirrored OnlyManual Failover Process
Single Site HA Mirrored FarmSingle SiteSynchronous ReplicationUses a SQL Witness Server to Failover AutomaticallyMirror all SharePoint DBs in the FarmUse a SQL Alias to switch to Mirror Instance
Cross-Site Mirrored HA FarmTwo Sites1 ms Latency1GB BandwidthFarm Servers in each locationAuto Failover
Two Farm / Mirrored Content DBsTwo SitesTwo FarmsMirror only Content DBsFailover is ManualMust Re-indexMore details…
Hardware/Software
Hardware Planning ConsiderationsDisk, Memory, and ProcessorSQL Database role requires a great deal of space, especially if versioning is turned on in Document Libraries.  Don’t underestimate!Servers running the Search Service Application Index or Queryneed hard drive space to store  the Index  files, which can be 5%-30% of the size of the items being indexed.The more memory and processor cores that can be given to SharePoint the better, in the following priority:Database RoleSearch Service Application RoleOther Service Application RolesWeb Role
Operating System Best practicesVersionsHighly recommended: Windows Server 2008 R2 for security, performance (client/server traffic improvements), and ease of setup.Windows Server 2008 SP1 is also possible, but requires some custom configuration (Kerberos, etc.)Enterprise Edition of Windows only required for very large SQL instances (More than two cluster nodes, high transaction volume, etc.)  Standard edition of Windows is adequate in nearly all other cases.
Operating System Best practicesSQL ServerSQL Server 2008 R2 Recommended, particularly if you have high security requirements, as it allows for transparent encryption of databases and PowerPivot (R2 only)SQL Server 2005 x64 also supportedEnterprise edition of SQL only required for more than two nodes in a cluster, Asynchronous database mirror replication, and/or greater than 32GB RAMSeparate Reporting Services server may be required for intensive reportingSeparate Analysis Services server may be required for PowerPivotCreate exception in Windows Firewall policy for port 1433
Yes, it is a good idea.IPv4 range has just recently been exhausted on the Internet (but ISPs will still give out addresses for a while)Enabled by Default with Windows 2008/2008 R2Prepare for the future.Consider DHCP Reservations of IPv6 addresses for the Primary IP of the SharePoint servers…technical reasons for it are many.Operating System Best practicesIPv6 for SharePoint Servers
SharePoint Installation
SharePoint InstallationSample Service Accounts
SharePoint InstallationInstallation ProcessFor most flexibility, choose ‘Complete’ Installation, even if not installing all of the roles on the server.  This will allow for the addition of roles in the future as needed.Be sure not to select ‘Stand-Alone’, unless you plan on having a very small farm with a limited database (SQL Server Express)
SharePoint InstallationInstallation ProcessHighly recommended to choose the final destination for the Index/Query to live (i.e. if it’s on a different drive, enter that during installation).  It’s difficult to change index location later.Remember, after installing the binaries, the server is not a farm member yet…it can be added to any farm.  Good concept to use to pre-stage servers.
SharePoint InstallationCommand-line Installation of SharePointGood to understand how to install SharePoint from the command-line, especially if setting up multiple servers.Allows for options not available in the GUI, such as the option to rename databases to something easier to understand.User PowerShell
Script: http://tinyurl.com/SPFarm-ConfigFunction Configure-SPSearch  {	PARAM($AppPool, $FarmName, $SearchServiceAccount)	$searchServiceInstance = Get-SPEnterpriseSearchServiceInstance -local	Start-SPEnterpriseSearchServiceInstance -Identity $searchServiceInstance	$dbName = $FarmName + "_SearchServiceApplication"	$searchApplication = New-SPEnterpriseSearchServiceApplication -Name "$FarmName Search Service Application" -ApplicationPool $AppPool -DatabaseName $dbName	$searchApplicationProxy = New-SPEnterpriseSearchServiceApplicationProxy -name "$FarmName Search Service Application Proxy" -SearchApplication $searchApplication	Set-SPEnterpriseSearchAdministrationComponent -SearchApplication $searchApplication  -SearchServiceInstance $searchServiceInstance	$crawlTopology = New-SPEnterpriseSearchCrawlTopology -SearchApplication $searchApplication	$crawlDatabase = Get-SPEnterpriseSearchCrawlDatabase -SearchApplication $searchApplication	New-SPEnterpriseSearchCrawlComponent -CrawlTopology $crawlTopology -CrawlDatabase $crawlDatabase -SearchServiceInstance $searchServiceInstance	while($crawlTopology.State -ne "Active")	{		$crawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active -ErrorActionSilentlyContinue		if ($crawlTopology.State -ne "Active")		{			Start-Sleep -Seconds 10		}	}	$queryTopology = New-SPenterpriseSEarchQueryTopology -SearchApplication $searchApplication -partitions 1	$searchIndexPartition = Get-SPEnterpriseSearchIndexPartition -QueryTopology $queryTopology	New-SPEnterpriseSearchQueryComponent -indexpartition $searchIndexPartition -QueryTopology $queryTopology -SearchServiceInstance $searchServiceInstance	$propertyDB = Get-SPEnterpriseSearchPropertyDatabase -SearchApplication $searchApplication	Set-SPEnterpriseSearchIndexPartition $searchIndexPartition -PropertyDatabase $propertyDB	while ($queryTopology.State -ne "Active")	{		$queryTopology | Set-SPEnterpriseSearchQueryTopology -Active -ErrorActionSilentlyContinue		if ($queryTopology.State -ne "Active")		{			Start-Sleep -Seconds 10		}	}}
SharePoint InstallationSome Manual Service Apps Still RequiredDue to bugs in SharePoint, certain Service Apps will need to be manually configured, they won’t work in PowerShell yet, hopefully fixed in later versionsThis includes the following:PerformancePoint Service ApplicationUser Profile Service ApplicationWeb Analytics Service Application
Configuring the Farm
Configuringthe FarmRunning the Config Wizard to Install Servers (If used)Consider using an easy to remember port for the Central Admin service (i.e. 8888).  Change to 443 later.You are welcome to change the Config Database name to match a common naming conventionYour database access account is the SP Service account, which only needs DBCreator and Security Admin rights on SQL.  Don’t give it more!Run the wizard on additional servers as necessary
Configuring the FarmSQL AliasA SQL Alias will help you if you need to change your DB location.  For example, if your SQL server name is ‘SQL1’, use something like ‘SPSQL’ to connect, and have DNS point to the proper server location.  This makes it MUCH more flexible.Use the SQL Native Client 10.0 Configuration (32bit) node to create the alias
Install SQL Client Tools, including the Backwards Compatibility Client Tools.  Launch the SQL Server Configuration Manager and create three SQL aliases using the 32bit Alias section:spdbcontent.companyabc.com spdbfarm.companyabc.comspdbservices.companyabc.comPoint all to the SQL server name, port 1433.Launch the SQL Server Client Network Utility (\System32\cliconfg.exe) and create the same 3 aliases as above using TCP/IP and port 1433.  Make sure to map the alias to the SQL netbios name (or cluster netbios name) as aboveConfiguring the FarmSQL Alias
Configuring the FarmNetwork Load BalancingHardware Based Load Balancing (F5, Cisco, Citrix NetScaler – Best performance and scalabilitySoftware Windows Network Load Balancing fully supportedIf using Unicast, use two NICs on the server, one for communications between nodes.If using Multicast, be sure to configure routers appropriatelySet Affinity to Single (Sticky Sessions)
Configuring the FarmNetwork Load BalancingBest Practice – Create Multiple Web Apps with Load-balanced VIPs (Sample below)Web Role Serverssp1.companyabc.com (10.0.0.101) – Web Role Server #1sp2.companyabc.com  (10.0.0.102) – Web Role Server #2Clustered VIPs shared between SP1 and SP2 (Create A records in DNS)spnlb.companyabc.com (10.0.0.103) - Clusterspca.companyabc.com (10.0.0.104) – SP Central Adminspsmtp.companyabc.com (10.0.0.105) – Inbound Email VIPhome.companyabc.com (10.0.0.106) – Main SP Web App (can be multiple)mysite.companyabc.com (10.0.0.107) – Main MySites Web App
Configuring the FarmSecurity ConsiderationsInfrastructure Security and Best PracticesBest Practice Service Account SetupKerberos AuthenticationData SecuritySharePoint Security ACLs and Role Based Access Control (RBAC)Transparent Data Encryption (TDE) of SQL DatabasesTransport SecuritySecure Sockets Layer (SSL) from Server to ClientIPSec from Client to ServerInbound Internet Security (Forefront UAG/TMG) / CertsRights Management
Configuring the FarmSSL CertificatesExternal or Internal Certs highly recommendedProtects Transport of content20% overhead on Web ServersCan be offloaded via SSL offloaders if neededDon’t forget for SPCA as well!
Configuring the FarmUser Profile Sync (UPS) SetupMost complex part of a SharePoint installationUses the Forefront Identity Manager (FIM) subcomponent on the server to synch My Site Profiles with external directory source such Active DirectoryWould take an entire session to describe the process, but best blog on the topic is SharePoint MVP Spencer Harbar’s (harbar.net)
To configure diagnostic loggingOn the Central Administration Home page, click Monitoring.In the Reporting section, click Configure diagnostic logging.On the Diagnostic Logging page, verify that Enable Event Log Flood Protection is selected. If not, click the corresponding check box to enable this feature.Leave default values for other itemsClick OK to save your changes.To configure usage and health data collection:On the Central Administration Monitoring page, click Configure usage and health data collection.Click the check box to Enable Usage Data Collection.Click the check box to Enable Health Data Collection.Name database Leave all other settings at defaultClick OK.Configuring the FarmEnabling Diagnostic Logging and Usage and Health Data Collection
Configuring the FarmBest PracticesFor Email enabled content, create a dedicated OU for Email enabled contacts and distribution lists and give the SP Admin account rights to create and modify contacts and groups in that OU.Don’t forget Alternate Access Mappings if connecting to the content in more than one way (i.e. https://home.companyabc.com vs. just http://home)If using SSL on a web app, it must have a dedicated IP address, not just a host headerDon’t forget to install Antivirus (MS Forefront Protection for SharePoint recommended)Don’t forget a comprehensive backup solution (MS System Center Data Protection Manager (DPM) 2010 recommended)
Kerberos
KerberosBest practice: Enable Kerberos!When creating any Web Applications for Content, USE KERBEROS.  It is much more secure and also faster with heavy loads as the SP server doesn’t have to keep asking for auth requests from AD.Kerberos auth does require extra steps, which makes people shy away from it, but once configured, it improves security considerably and can improve performance on high-load sites.
KerberosStep 1: Create the Service Principal NamesUse the setspn utility to create Service Principle Names in AD, the following syntax for example:Setspn.exe -A HTTP/mysite.companyabc.com DOMAINNAME\MYSiteAppAccountSetspn.exe -A HTTP/mysite DOMAINNAME\MYSITEAppAccountSetspn.exe -A HTTP/home.companyabc.com DOMAINNAME\HOMEAppAccountSetspn.exe -A HTTP/sp DOMAINNAME\HOMEAppAccount
KerberosStep 2: Enable Kerberos from SP Servers to SQLUse setspn to create SPNs for SQL Service AccountSPNs need to match the name that SharePoint uses to connect to SQL (Ideally SQL Alias, more on this later)Syntax similar to following:Setspn.exe  -A MSSQLSvc/spsql:1433 COMPANYABC\SRV-SQL-DBSetspn.exe –A MSSQLSvc/spsql.companyabc.com:1433 COMPANYABC\SRV-SQL-DBMSSQLSvc = Default instance, if named instance, specify the name insteadIn this example, SRV-SQL-DB is the SQL Admin account
Kerberos Step 3: Allow  User and Computer Accounts to Delegate (Optional)Required for Excel Services and other impersonation applications.On all SP Computer accounts and on the Application Identity accounts, check the box in ADUC to allow for delegation. In ADUC, navigate to the computer or user account, right-click and choose Properties.  Go to the Delegation tab Choose Trust this user/computer for delegation to any service (Kerberos)
KerberosStep 4:  Enable Kerberos on Web ApplicationGo to Application Management – Authentication Providers Choose the appropriate Web ApplicationClick on the link for ‘Default’ under ZoneChange to Integrated Windows Authentication - Kerberos (Negotiate)Run iisreset /noforce from the command promptIf creating Web App from scratch, this step may be unnecessary if you choose Negotiate from the beginning
Logon to SharePoint Web Front-End as the setup accountLaunch the SQL Management StudioAt the Connect to Server screen, connect to one of the alias names (spdbcontent, sbdbservices, spdbsearch)Make sure you are able to connect to the SQL server instanceLogin to the SQL server as SQL Admin accountLaunch Server ManagerView Security event log under DiagnosticsLook for Event ID 4624/LogonOpen the event and look under the Detailed Authentication Information section which should read Kerberos for both Logon Process and Authentication Package for the Setup account KerberosStep 5:  Validate Kerberos Functionality
KerberosBonuses for SPCA – Kerberos, NLB, SSL, and Default PortBonus #1: Enable KerberosAdd the SPNs for SPCAHTTP/spca.companyabc.com, HTTP/spca (Add to App  Pool Identity Account for SPCA)Configure Kerberos as defined in this presentationBonus #2: Configure for SSLEncrypts traffic and Admin passwordsCreate and install Web certs for spca.companyabc.comBonus #3: Load Balance SPCAInstall SPCA on multiple web role serversEnable either Hardware NLB or Software Windows Network Load BalancingRequires DNS A record (spca.companyabc.com), registry key and AAM modification (below)Bonus #4: Setup SPCA on port 443/80Delete default IIS Web SiteAssign dedicated IP (VIP if load balancing) to SPCA Web AppRun STSADM to change the port(s)stsadm –o setadminport –port 80stsadm –o setadminport –ssl –port 443Change Port to 80 and 443 in IIS, Assign Cert (if using SSL)Modify SPCA URL on SP Servers - “HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\CentralAdministrationURL”  (REG_SZ) = https://spca.companyabc.com/Change your default AAM to https://spca.companyabc.com

More Related Content

What's hot (20)

PPTX
Building the Perfect SharePoint 2010 Farm - Sharing the Point South America
Michael Noel
 
PPTX
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
serge luca
 
PPTX
SharePoint Disaster Recovery with SQL AlwaysOn
Zeddy Iskandar
 
PPTX
Building the Perfect SharePoint 2010 Farm - SharePoint Saturday NYC 2011
Michael Noel
 
PPTX
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
Michael Noel
 
PPTX
SPSSac2014 - SharePoint Infrastructure Tips and Tricks for On-Premises and Hy...
Michael Noel
 
PPT
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Joel Oleson
 
PPTX
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
serge luca
 
PPTX
AUDWC 2016 - Using SQL Server 20146 AlwaysOn Availability Groups for SharePoi...
Michael Noel
 
PPTX
OFC418 Advanced MOSS Administration
Chandima Kulathilake
 
PPTX
Building the Perfect SharePoint 2010 Farm - SPS Sacramento
Michael Noel
 
PDF
configuring+oracle+rds+with+glasfish+server
hunghtc83
 
PDF
oracle-rest-data-service-instal-config
hunghtc83
 
PPTX
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
Michael Noel
 
PDF
Snowflake SnowPro Certification Exam Cheat Sheet
Jeno Yamma
 
PPTX
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
Michael Noel
 
POTX
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
Eric Shupps
 
PDF
Running E-Business Suite Database on Oracle Database Appliance
Maris Elsins
 
PDF
Whitepaper: Running Oracle e-Business Suite Database on Oracle Database Appli...
Maris Elsins
 
PDF
Sharepoint Deployments
Information Technology
 
Building the Perfect SharePoint 2010 Farm - Sharing the Point South America
Michael Noel
 
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability groups
serge luca
 
SharePoint Disaster Recovery with SQL AlwaysOn
Zeddy Iskandar
 
Building the Perfect SharePoint 2010 Farm - SharePoint Saturday NYC 2011
Michael Noel
 
SQL 2012 AlwaysOn Availability Groups for SharePoint 2013 - SharePoint Connec...
Michael Noel
 
SPSSac2014 - SharePoint Infrastructure Tips and Tricks for On-Premises and Hy...
Michael Noel
 
Spring 2007 SharePoint Connections Oleson Advanced Administration and Plannin...
Joel Oleson
 
Unbreakable SharePoint 2013 with SQL Server Always On Availability Groups (HA...
serge luca
 
AUDWC 2016 - Using SQL Server 20146 AlwaysOn Availability Groups for SharePoi...
Michael Noel
 
OFC418 Advanced MOSS Administration
Chandima Kulathilake
 
Building the Perfect SharePoint 2010 Farm - SPS Sacramento
Michael Noel
 
configuring+oracle+rds+with+glasfish+server
hunghtc83
 
oracle-rest-data-service-instal-config
hunghtc83
 
AUSPC 2013 - Understanding the Five Layers of SharePoint Security
Michael Noel
 
Snowflake SnowPro Certification Exam Cheat Sheet
Jeno Yamma
 
SQL 2014 AlwaysOn Availability Groups for SharePoint Farms - SPS Sydney 2014
Michael Noel
 
SharePoint 24x7x365 Architecting for High Availability, Fault Tolerance and D...
Eric Shupps
 
Running E-Business Suite Database on Oracle Database Appliance
Maris Elsins
 
Whitepaper: Running Oracle e-Business Suite Database on Oracle Database Appli...
Maris Elsins
 
Sharepoint Deployments
Information Technology
 

Viewers also liked (15)

PDF
Challenge nationalcompanyprofile 003
CPA Australia
 
PPS
Greetings
sueveit
 
DOC
Documentazione www.btweet.it
Michele Pierangeli
 
PPTX
SharePoint 2010 Virtualization - Hungarian SharePoint User Group
Michael Noel
 
PPT
Governance Townsville Part 2 6 april 2013
CPA Australia
 
PPTX
Noel sps bay_backup_restore
Michael Noel
 
PDF
Oppi Mc Kinsey Research Study Transforming Indias Vaccine Market
healthcaremanas
 
PPT
Social Media Success WCVA
PAVS Communities 2.0
 
KEY
Targeting Screens with HTML5, Flash & Native
Eric Fickes
 
PPT
Grants Writing in Australia
CPA Australia
 
PPTX
Sharing the Point South America 2013 (STPSA) - Ultimate SharePoint Infrastruc...
Michael Noel
 
PDF
Framily in house, applicazione per il cohousing
Michele Pierangeli
 
PPTX
SharePoint Virtualization "Виртуальный SharePoint 2010"
Michael Noel
 
PPTX
C2 0 increase impact through google apps
PAVS Communities 2.0
 
PPTX
SharePoint 2010 High Availability - SPC2C
Michael Noel
 
Challenge nationalcompanyprofile 003
CPA Australia
 
Greetings
sueveit
 
Documentazione www.btweet.it
Michele Pierangeli
 
SharePoint 2010 Virtualization - Hungarian SharePoint User Group
Michael Noel
 
Governance Townsville Part 2 6 april 2013
CPA Australia
 
Noel sps bay_backup_restore
Michael Noel
 
Oppi Mc Kinsey Research Study Transforming Indias Vaccine Market
healthcaremanas
 
Social Media Success WCVA
PAVS Communities 2.0
 
Targeting Screens with HTML5, Flash & Native
Eric Fickes
 
Grants Writing in Australia
CPA Australia
 
Sharing the Point South America 2013 (STPSA) - Ultimate SharePoint Infrastruc...
Michael Noel
 
Framily in house, applicazione per il cohousing
Michele Pierangeli
 
SharePoint Virtualization "Виртуальный SharePoint 2010"
Michael Noel
 
C2 0 increase impact through google apps
PAVS Communities 2.0
 
SharePoint 2010 High Availability - SPC2C
Michael Noel
 
Ad

Similar to Building the Perfect SharePoint 2010 Farm; A Walkthrough of Best Practices from the Field (20)

PPTX
SharePoint Saturday Michigan Keynote - Top 5 Infrastructure Concerns for a Sh...
Michael Noel
 
PPTX
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
Michael Noel
 
PPTX
Building the Perfect SharePoint 2010 Farm - TechEd Australia 2011
Michael Noel
 
PPTX
NZSPC 2013 - Ultimate SharePoint Infrastructure Best Practices Session
Michael Noel
 
PPTX
Building the Perfect SharePoint 2010 Farm - MS Days Bulgaria 2012
Michael Noel
 
PPTX
Ordina SOFTC Presentation - SharePoint 2010 Architecture
Ordina Belgium
 
PPT
MOSS 2007 Deployment Fundamentals -Part1
Information Technology
 
PPTX
A Deep Dive into SharePoint 2016 architecture and deployment
SPC Adriatics
 
PPT
Large Scale SQL Considerations for SharePoint Deployments
Joel Oleson
 
PPTX
SharePoint on Azure
Usama Wahab Khan Cloud, Data and AI
 
PPT
MOSS 2007 Deployment Fundamentals -Part2
Information Technology
 
PPTX
SharePoint 2010 Architecture - TechEd Brasil 2010
Michael Noel
 
PPTX
SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts
Michael Noel
 
PPT
Virtualizing SharePoint Components
webhostingguy
 
PPT
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Joel Oleson
 
PPT
SharePoint Topology
Information Technology
 
PPTX
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
European SharePoint Conference
 
PPTX
More Best Practices With Share Point Solutions
Alexander Meijers
 
PPTX
Share Point Infrastructure And Setup
gregkamer
 
PPTX
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
SharePoint Saturday NY
 
SharePoint Saturday Michigan Keynote - Top 5 Infrastructure Concerns for a Sh...
Michael Noel
 
TechEd Africa 2011 - OFC307: Architecting a Disaster Tolerant and Highly Avai...
Michael Noel
 
Building the Perfect SharePoint 2010 Farm - TechEd Australia 2011
Michael Noel
 
NZSPC 2013 - Ultimate SharePoint Infrastructure Best Practices Session
Michael Noel
 
Building the Perfect SharePoint 2010 Farm - MS Days Bulgaria 2012
Michael Noel
 
Ordina SOFTC Presentation - SharePoint 2010 Architecture
Ordina Belgium
 
MOSS 2007 Deployment Fundamentals -Part1
Information Technology
 
A Deep Dive into SharePoint 2016 architecture and deployment
SPC Adriatics
 
Large Scale SQL Considerations for SharePoint Deployments
Joel Oleson
 
MOSS 2007 Deployment Fundamentals -Part2
Information Technology
 
SharePoint 2010 Architecture - TechEd Brasil 2010
Michael Noel
 
SPCSEA 2013 - Setting up SharePoint 2013: Tips and Tricks and PowerShell Scripts
Michael Noel
 
Virtualizing SharePoint Components
webhostingguy
 
Back to the Basics: SharePoint Fundamentals by Joel Oleson
Joel Oleson
 
SharePoint Topology
Information Technology
 
Infrastructure Best Practices for SharePoint On-Premises presented by Michael...
European SharePoint Conference
 
More Best Practices With Share Point Solutions
Alexander Meijers
 
Share Point Infrastructure And Setup
gregkamer
 
John Burkholder: SharePoint 2010 in a multi tenant and hosted environment-nyc
SharePoint Saturday NY
 
Ad

More from Michael Noel (20)

PDF
AI is Hacking You - Digital Workplace Conference Australia 2024
Michael Noel
 
PPTX
AI is Hacking You - How Cybercriminals Leveral Artificial Intelligence - DWCN...
Michael Noel
 
PPTX
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
Michael Noel
 
PPTX
Combatting Cyberthreats with Microsoft Defender 365 - CollabDays Finland 2023
Michael Noel
 
PPTX
IT Insecurity - ST Digital Brazzaville
Michael Noel
 
PPTX
Securing IT Against Modern Threats with Microsoft Cloud Tools - #EUCloudSummi...
Michael Noel
 
PPTX
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
Michael Noel
 
PPTX
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Michael Noel
 
PPTX
Understanding the Tools and Features of Office 365 : DWT Africa 2018
Michael Noel
 
PPTX
SPS Lisbon 2018 - Azure AD Connect Technical Deep Dive
Michael Noel
 
PPTX
Azure Active Directory Connect: Technical Deep Dive - DWCAU 2018 Melbourne
Michael Noel
 
PPTX
Azure Active Directory Connect: Technical Deep Dive - EU Collab Summit 2018
Michael Noel
 
PPTX
Breaking Down the Tools and Features in Office 365 - EU Collab Summit 2018
Michael Noel
 
PPTX
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Michael Noel
 
PPTX
Office 365; A Detailed Analysis - SPS Kampala 2017
Michael Noel
 
PPTX
Office 365; une Analyse Détaillée
Michael Noel
 
PPTX
Breaking Down and Understanding Office 365 - SPSJHB 2015
Michael Noel
 
PPTX
Understanding Office 365 Service Offerings - O365 Saturday Sydney 2015
Michael Noel
 
PPTX
SharePoint Сегодня; Как мы докатились сюда и куда идем дальше - SPSBaku - Mic...
Michael Noel
 
PPTX
SharePoint Сегодня; Как мы докатились сюда и куда идем дальше - SPCUA - Micha...
Michael Noel
 
AI is Hacking You - Digital Workplace Conference Australia 2024
Michael Noel
 
AI is Hacking You - How Cybercriminals Leveral Artificial Intelligence - DWCN...
Michael Noel
 
IT Insecurity - Understanding the Threat of Modern Cyberattacks - DWCNZ 2024
Michael Noel
 
Combatting Cyberthreats with Microsoft Defender 365 - CollabDays Finland 2023
Michael Noel
 
IT Insecurity - ST Digital Brazzaville
Michael Noel
 
Securing IT Against Modern Threats with Microsoft Cloud Tools - #EUCloudSummi...
Michael Noel
 
You are Doing IT Security Wrong - Understanding the Threat of Modern Cyber-at...
Michael Noel
 
Securing IT Against Modern Threats with Microsoft Cloud Security Tools - M365...
Michael Noel
 
Understanding the Tools and Features of Office 365 : DWT Africa 2018
Michael Noel
 
SPS Lisbon 2018 - Azure AD Connect Technical Deep Dive
Michael Noel
 
Azure Active Directory Connect: Technical Deep Dive - DWCAU 2018 Melbourne
Michael Noel
 
Azure Active Directory Connect: Technical Deep Dive - EU Collab Summit 2018
Michael Noel
 
Breaking Down the Tools and Features in Office 365 - EU Collab Summit 2018
Michael Noel
 
Understanding the Tools and Features of Office 365 - New Zealand Digital Work...
Michael Noel
 
Office 365; A Detailed Analysis - SPS Kampala 2017
Michael Noel
 
Office 365; une Analyse Détaillée
Michael Noel
 
Breaking Down and Understanding Office 365 - SPSJHB 2015
Michael Noel
 
Understanding Office 365 Service Offerings - O365 Saturday Sydney 2015
Michael Noel
 
SharePoint Сегодня; Как мы докатились сюда и куда идем дальше - SPSBaku - Mic...
Michael Noel
 
SharePoint Сегодня; Как мы докатились сюда и куда идем дальше - SPCUA - Micha...
Michael Noel
 

Recently uploaded (20)

PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
Software Development Company Keene Systems, Inc (1).pdf
Custom Software Development Company | Keene Systems, Inc.
 
PDF
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
PDF
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
PPTX
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
PDF
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
Software Development Company Keene Systems, Inc (1).pdf
Custom Software Development Company | Keene Systems, Inc.
 
ICONIQ State of AI Report 2025 - The Builder's Playbook
Razin Mustafiz
 
Survival Models: Proper Scoring Rule and Stochastic Optimization with Competi...
Paris Women in Machine Learning and Data Science
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
🚀 Let’s Build Our First Slack Workflow! 🔧.pdf
SanjeetMishra29
 
Manual Testing for Accessibility Enhancement
Julia Undeutsch
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Linux schedulers for fun and profit with SchedKit
Alessio Biancalana
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Modern Decentralized Application Architectures.pdf
Kalema Edgar
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
NASA A Researcher’s Guide to International Space Station : Fundamental Physics
Dr. PANKAJ DHUSSA
 
NASA A Researcher’s Guide to International Space Station : Earth Observations
Dr. PANKAJ DHUSSA
 
Digital Circuits, important subject in CS
contactparinay1
 

Building the Perfect SharePoint 2010 Farm; A Walkthrough of Best Practices from the Field

  • 1. Building the ‘Perfect’ SharePoint 2010 FarmMichael NoelConvergent ComputingTwitter: @MichaelTNoel
  • 2. Michael NoelAuthor of SAMS Publishing titles “SharePoint 2010 Unleashed,” “SharePoint 2007 Unleashed,” “SharePoint 2003 Unleashed”, “Teach Yourself SharePoint 2003 in 10 Minutes,” “Windows Server 2008 R2 Unleashed,” “Exchange Server 2010 Unleashed”, “ISA Server 2006 Unleashed”, and many other titles .Partner at Convergent Computing (www.cco.com / +1(510)444-5700) – San Francisco Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security
  • 3. What we will coverExamine various SharePoint 2010 farm architecture best practices that have developed over the past yearExamine SharePoint Best Practice Farm ArchitectureUnderstand SharePoint Virtualization OptionsExplore SharePoint DR and HA strategies using Database MirroringExplore other common best practices (IPv6, SSL, NLB)Learn how to Enable Kerberos for Best Practice SecurityA large amount of best practices covered (i.e. Drinking through a fire hose), expectation is that you can take away 2-3 useful pieces of information that can be used in your environment
  • 5. SharePoint 2010 ArchitectureSmall Farms‘All-in-One’ (Avoid)DB and SP Roles Separate
  • 6. SharePoint 2010 Architecture“Smallest Highly Available Farm”2 SharePoint Servers running Web and Service Apps2 Database Servers (Clustered or Mirrored)1 or 2 Index Partitions with equivalent query componentsSmallest farm size that is fully highly available
  • 7. SharePoint 2010 Architecture“The Six Server Farm”2 Dedicated Web Servers (NLB)2 Service Application Servers2 Database Servers (Clustered or Mirrored)1 or 2 Index Partitions with equivalent query components
  • 8. SharePoint 2010 ArchitectureLarge FarmMultiple Dedicated Web ServersMultiple Dedicated Query ServersMultiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelization of the crawl processMultiple distributed Index partitions (max of 10 million items per index partition)Two query components for each Index partition, spread among servers
  • 10. Virtualized Farm ArchitectureCost-effective Virtual Environment / No HAAllows Organizations that wouldn’t normally be able to have a test environment to run one
  • 11. Allows for separation of the database role onto a dedicated server
  • 12. Can be more easily scaled out in the futureVirtualized Farm ArchitectureHighly Available Farm with only Two ServersHigh-Availability across Hosts
  • 14. Uses only two Windows Ent Edition LicensesVirtualized Farm ArchitectureBest Practice Virtual/Physical with HA/PerfHighest transaction servers are physical
  • 15. Multiple farm support, with DBs for all farms on the SQL clusterVirtualized Farm ArchitectureLarge Virtual Farms
  • 16. Content Database and Site Admin Architecture
  • 17. Content Database and Site Collection PlanningStart with a distributed architecture of content databases from the beginning, within reason (more than 50 per SQL instance is not recommended)Distribute content across Site Collections from the beginning as well, it is very difficult to extract content after the faceAllow your environment to scale and your users to ‘grow into’ their SharePoint site collections
  • 20. SQL Database MirroringHA Solutions using Mirrored Copies of SharePoint DatabasesNew in SQL 2005, available in both Standard and Enterprise editions, improved in SQL 2008Works by keeping a mirror copy of a database or databases on two serversCan be used locally, or the mirror can be remoteCan be set to use a two-phase commit process to ensure integrity of data across both serversCan be combined with traditional shared storage clustering to further improve redundancy
  • 21. SQL Database MirroringSQL Mirroring ModesHigh Performance (Enterprise Edition only)Asynchronous MirroringSafety level = OFFFailure of principal server may result in data lossHigh AvailabilitySynchronous MirroringSafety level = ONDual-commit process ensures no data lossThird witness server requiredHigh ProtectionSynchronous MirroringSafety level = ONManual failover, no witness server
  • 22. SQL Mirroring DesignsVarious SharePoint Mirrored DB OptionsSingle Site HA Mirrored FarmSynchronous ReplicationAll Servers in one Physical LocationCross Site Mirrored HA FarmSynchronous ReplicationServers split across highly connected physical sitesTwo Farm / Mirrored Content DBsAsynchronous ReplicationContent Databases Mirrored OnlyManual Failover Process
  • 23. Single Site HA Mirrored FarmSingle SiteSynchronous ReplicationUses a SQL Witness Server to Failover AutomaticallyMirror all SharePoint DBs in the FarmUse a SQL Alias to switch to Mirror Instance
  • 24. Cross-Site Mirrored HA FarmTwo Sites1 ms Latency1GB BandwidthFarm Servers in each locationAuto Failover
  • 25. Two Farm / Mirrored Content DBsTwo SitesTwo FarmsMirror only Content DBsFailover is ManualMust Re-indexMore details…
  • 27. Hardware Planning ConsiderationsDisk, Memory, and ProcessorSQL Database role requires a great deal of space, especially if versioning is turned on in Document Libraries. Don’t underestimate!Servers running the Search Service Application Index or Queryneed hard drive space to store the Index files, which can be 5%-30% of the size of the items being indexed.The more memory and processor cores that can be given to SharePoint the better, in the following priority:Database RoleSearch Service Application RoleOther Service Application RolesWeb Role
  • 28. Operating System Best practicesVersionsHighly recommended: Windows Server 2008 R2 for security, performance (client/server traffic improvements), and ease of setup.Windows Server 2008 SP1 is also possible, but requires some custom configuration (Kerberos, etc.)Enterprise Edition of Windows only required for very large SQL instances (More than two cluster nodes, high transaction volume, etc.) Standard edition of Windows is adequate in nearly all other cases.
  • 29. Operating System Best practicesSQL ServerSQL Server 2008 R2 Recommended, particularly if you have high security requirements, as it allows for transparent encryption of databases and PowerPivot (R2 only)SQL Server 2005 x64 also supportedEnterprise edition of SQL only required for more than two nodes in a cluster, Asynchronous database mirror replication, and/or greater than 32GB RAMSeparate Reporting Services server may be required for intensive reportingSeparate Analysis Services server may be required for PowerPivotCreate exception in Windows Firewall policy for port 1433
  • 30. Yes, it is a good idea.IPv4 range has just recently been exhausted on the Internet (but ISPs will still give out addresses for a while)Enabled by Default with Windows 2008/2008 R2Prepare for the future.Consider DHCP Reservations of IPv6 addresses for the Primary IP of the SharePoint servers…technical reasons for it are many.Operating System Best practicesIPv6 for SharePoint Servers
  • 33. SharePoint InstallationInstallation ProcessFor most flexibility, choose ‘Complete’ Installation, even if not installing all of the roles on the server. This will allow for the addition of roles in the future as needed.Be sure not to select ‘Stand-Alone’, unless you plan on having a very small farm with a limited database (SQL Server Express)
  • 34. SharePoint InstallationInstallation ProcessHighly recommended to choose the final destination for the Index/Query to live (i.e. if it’s on a different drive, enter that during installation). It’s difficult to change index location later.Remember, after installing the binaries, the server is not a farm member yet…it can be added to any farm. Good concept to use to pre-stage servers.
  • 35. SharePoint InstallationCommand-line Installation of SharePointGood to understand how to install SharePoint from the command-line, especially if setting up multiple servers.Allows for options not available in the GUI, such as the option to rename databases to something easier to understand.User PowerShell
  • 36. Script: http://tinyurl.com/SPFarm-ConfigFunction Configure-SPSearch { PARAM($AppPool, $FarmName, $SearchServiceAccount) $searchServiceInstance = Get-SPEnterpriseSearchServiceInstance -local Start-SPEnterpriseSearchServiceInstance -Identity $searchServiceInstance $dbName = $FarmName + "_SearchServiceApplication" $searchApplication = New-SPEnterpriseSearchServiceApplication -Name "$FarmName Search Service Application" -ApplicationPool $AppPool -DatabaseName $dbName $searchApplicationProxy = New-SPEnterpriseSearchServiceApplicationProxy -name "$FarmName Search Service Application Proxy" -SearchApplication $searchApplication Set-SPEnterpriseSearchAdministrationComponent -SearchApplication $searchApplication -SearchServiceInstance $searchServiceInstance $crawlTopology = New-SPEnterpriseSearchCrawlTopology -SearchApplication $searchApplication $crawlDatabase = Get-SPEnterpriseSearchCrawlDatabase -SearchApplication $searchApplication New-SPEnterpriseSearchCrawlComponent -CrawlTopology $crawlTopology -CrawlDatabase $crawlDatabase -SearchServiceInstance $searchServiceInstance while($crawlTopology.State -ne "Active") { $crawlTopology | Set-SPEnterpriseSearchCrawlTopology -Active -ErrorActionSilentlyContinue if ($crawlTopology.State -ne "Active") { Start-Sleep -Seconds 10 } } $queryTopology = New-SPenterpriseSEarchQueryTopology -SearchApplication $searchApplication -partitions 1 $searchIndexPartition = Get-SPEnterpriseSearchIndexPartition -QueryTopology $queryTopology New-SPEnterpriseSearchQueryComponent -indexpartition $searchIndexPartition -QueryTopology $queryTopology -SearchServiceInstance $searchServiceInstance $propertyDB = Get-SPEnterpriseSearchPropertyDatabase -SearchApplication $searchApplication Set-SPEnterpriseSearchIndexPartition $searchIndexPartition -PropertyDatabase $propertyDB while ($queryTopology.State -ne "Active") { $queryTopology | Set-SPEnterpriseSearchQueryTopology -Active -ErrorActionSilentlyContinue if ($queryTopology.State -ne "Active") { Start-Sleep -Seconds 10 } }}
  • 37. SharePoint InstallationSome Manual Service Apps Still RequiredDue to bugs in SharePoint, certain Service Apps will need to be manually configured, they won’t work in PowerShell yet, hopefully fixed in later versionsThis includes the following:PerformancePoint Service ApplicationUser Profile Service ApplicationWeb Analytics Service Application
  • 39. Configuringthe FarmRunning the Config Wizard to Install Servers (If used)Consider using an easy to remember port for the Central Admin service (i.e. 8888). Change to 443 later.You are welcome to change the Config Database name to match a common naming conventionYour database access account is the SP Service account, which only needs DBCreator and Security Admin rights on SQL. Don’t give it more!Run the wizard on additional servers as necessary
  • 40. Configuring the FarmSQL AliasA SQL Alias will help you if you need to change your DB location. For example, if your SQL server name is ‘SQL1’, use something like ‘SPSQL’ to connect, and have DNS point to the proper server location. This makes it MUCH more flexible.Use the SQL Native Client 10.0 Configuration (32bit) node to create the alias
  • 41. Install SQL Client Tools, including the Backwards Compatibility Client Tools. Launch the SQL Server Configuration Manager and create three SQL aliases using the 32bit Alias section:spdbcontent.companyabc.com spdbfarm.companyabc.comspdbservices.companyabc.comPoint all to the SQL server name, port 1433.Launch the SQL Server Client Network Utility (\System32\cliconfg.exe) and create the same 3 aliases as above using TCP/IP and port 1433. Make sure to map the alias to the SQL netbios name (or cluster netbios name) as aboveConfiguring the FarmSQL Alias
  • 42. Configuring the FarmNetwork Load BalancingHardware Based Load Balancing (F5, Cisco, Citrix NetScaler – Best performance and scalabilitySoftware Windows Network Load Balancing fully supportedIf using Unicast, use two NICs on the server, one for communications between nodes.If using Multicast, be sure to configure routers appropriatelySet Affinity to Single (Sticky Sessions)
  • 43. Configuring the FarmNetwork Load BalancingBest Practice – Create Multiple Web Apps with Load-balanced VIPs (Sample below)Web Role Serverssp1.companyabc.com (10.0.0.101) – Web Role Server #1sp2.companyabc.com (10.0.0.102) – Web Role Server #2Clustered VIPs shared between SP1 and SP2 (Create A records in DNS)spnlb.companyabc.com (10.0.0.103) - Clusterspca.companyabc.com (10.0.0.104) – SP Central Adminspsmtp.companyabc.com (10.0.0.105) – Inbound Email VIPhome.companyabc.com (10.0.0.106) – Main SP Web App (can be multiple)mysite.companyabc.com (10.0.0.107) – Main MySites Web App
  • 44. Configuring the FarmSecurity ConsiderationsInfrastructure Security and Best PracticesBest Practice Service Account SetupKerberos AuthenticationData SecuritySharePoint Security ACLs and Role Based Access Control (RBAC)Transparent Data Encryption (TDE) of SQL DatabasesTransport SecuritySecure Sockets Layer (SSL) from Server to ClientIPSec from Client to ServerInbound Internet Security (Forefront UAG/TMG) / CertsRights Management
  • 45. Configuring the FarmSSL CertificatesExternal or Internal Certs highly recommendedProtects Transport of content20% overhead on Web ServersCan be offloaded via SSL offloaders if neededDon’t forget for SPCA as well!
  • 46. Configuring the FarmUser Profile Sync (UPS) SetupMost complex part of a SharePoint installationUses the Forefront Identity Manager (FIM) subcomponent on the server to synch My Site Profiles with external directory source such Active DirectoryWould take an entire session to describe the process, but best blog on the topic is SharePoint MVP Spencer Harbar’s (harbar.net)
  • 47. To configure diagnostic loggingOn the Central Administration Home page, click Monitoring.In the Reporting section, click Configure diagnostic logging.On the Diagnostic Logging page, verify that Enable Event Log Flood Protection is selected. If not, click the corresponding check box to enable this feature.Leave default values for other itemsClick OK to save your changes.To configure usage and health data collection:On the Central Administration Monitoring page, click Configure usage and health data collection.Click the check box to Enable Usage Data Collection.Click the check box to Enable Health Data Collection.Name database Leave all other settings at defaultClick OK.Configuring the FarmEnabling Diagnostic Logging and Usage and Health Data Collection
  • 48. Configuring the FarmBest PracticesFor Email enabled content, create a dedicated OU for Email enabled contacts and distribution lists and give the SP Admin account rights to create and modify contacts and groups in that OU.Don’t forget Alternate Access Mappings if connecting to the content in more than one way (i.e. https://home.companyabc.com vs. just http://home)If using SSL on a web app, it must have a dedicated IP address, not just a host headerDon’t forget to install Antivirus (MS Forefront Protection for SharePoint recommended)Don’t forget a comprehensive backup solution (MS System Center Data Protection Manager (DPM) 2010 recommended)
  • 50. KerberosBest practice: Enable Kerberos!When creating any Web Applications for Content, USE KERBEROS. It is much more secure and also faster with heavy loads as the SP server doesn’t have to keep asking for auth requests from AD.Kerberos auth does require extra steps, which makes people shy away from it, but once configured, it improves security considerably and can improve performance on high-load sites.
  • 51. KerberosStep 1: Create the Service Principal NamesUse the setspn utility to create Service Principle Names in AD, the following syntax for example:Setspn.exe -A HTTP/mysite.companyabc.com DOMAINNAME\MYSiteAppAccountSetspn.exe -A HTTP/mysite DOMAINNAME\MYSITEAppAccountSetspn.exe -A HTTP/home.companyabc.com DOMAINNAME\HOMEAppAccountSetspn.exe -A HTTP/sp DOMAINNAME\HOMEAppAccount
  • 52. KerberosStep 2: Enable Kerberos from SP Servers to SQLUse setspn to create SPNs for SQL Service AccountSPNs need to match the name that SharePoint uses to connect to SQL (Ideally SQL Alias, more on this later)Syntax similar to following:Setspn.exe -A MSSQLSvc/spsql:1433 COMPANYABC\SRV-SQL-DBSetspn.exe –A MSSQLSvc/spsql.companyabc.com:1433 COMPANYABC\SRV-SQL-DBMSSQLSvc = Default instance, if named instance, specify the name insteadIn this example, SRV-SQL-DB is the SQL Admin account
  • 53. Kerberos Step 3: Allow User and Computer Accounts to Delegate (Optional)Required for Excel Services and other impersonation applications.On all SP Computer accounts and on the Application Identity accounts, check the box in ADUC to allow for delegation. In ADUC, navigate to the computer or user account, right-click and choose Properties.  Go to the Delegation tab Choose Trust this user/computer for delegation to any service (Kerberos)
  • 54. KerberosStep 4: Enable Kerberos on Web ApplicationGo to Application Management – Authentication Providers Choose the appropriate Web ApplicationClick on the link for ‘Default’ under ZoneChange to Integrated Windows Authentication - Kerberos (Negotiate)Run iisreset /noforce from the command promptIf creating Web App from scratch, this step may be unnecessary if you choose Negotiate from the beginning
  • 55. Logon to SharePoint Web Front-End as the setup accountLaunch the SQL Management StudioAt the Connect to Server screen, connect to one of the alias names (spdbcontent, sbdbservices, spdbsearch)Make sure you are able to connect to the SQL server instanceLogin to the SQL server as SQL Admin accountLaunch Server ManagerView Security event log under DiagnosticsLook for Event ID 4624/LogonOpen the event and look under the Detailed Authentication Information section which should read Kerberos for both Logon Process and Authentication Package for the Setup account KerberosStep 5: Validate Kerberos Functionality
  • 56. KerberosBonuses for SPCA – Kerberos, NLB, SSL, and Default PortBonus #1: Enable KerberosAdd the SPNs for SPCAHTTP/spca.companyabc.com, HTTP/spca (Add to App Pool Identity Account for SPCA)Configure Kerberos as defined in this presentationBonus #2: Configure for SSLEncrypts traffic and Admin passwordsCreate and install Web certs for spca.companyabc.comBonus #3: Load Balance SPCAInstall SPCA on multiple web role serversEnable either Hardware NLB or Software Windows Network Load BalancingRequires DNS A record (spca.companyabc.com), registry key and AAM modification (below)Bonus #4: Setup SPCA on port 443/80Delete default IIS Web SiteAssign dedicated IP (VIP if load balancing) to SPCA Web AppRun STSADM to change the port(s)stsadm –o setadminport –port 80stsadm –o setadminport –ssl –port 443Change Port to 80 and 443 in IIS, Assign Cert (if using SSL)Modify SPCA URL on SP Servers - “HKLM\SOFTWARE\Microsoft\Shared Tools\Web Server Extensions\14.0\WSS\CentralAdministrationURL” (REG_SZ) = https://spca.companyabc.com/Change your default AAM to https://spca.companyabc.com
  • 57. Session TakeawaysUse multiple service accounts, definitely don’t mix Application Pool identity accounts with the farm admin accountsUse Kerberos when at all possibleUse a SQL DB Alias for greatest flexibility with a SP FarmConsider DB Mirroring as a DR optionA five server farm is the smallest that is highly availableOne last best practice – Don’t forget Antivirus and Backup
  • 58. Thanks for attending!Michael NoelTwitter: @MichaelTNoelwww.cco.com