KEMBAR78
Best Practice SharePoint Architecture | PPTX
Best Practice SharePoint Farm ArchitectureMichael NoelConvergent ComputingTwitter: @MichaelTNoel
Farm ArchitectureVirtualised Farm ArchitectureHigh Availability DesignLogical ArchitectureHardware and SoftwareSharePoint InstallationKerberos AuthenticationSession Agenda
Farm ArchitectureBest Practice SharePoint Designs
Farm ArchitectureAll-in-one ServerAll Roles and SQL on one serverOften seen in small farmsSQL contention with SharePointEasy to deploy, but not best practiceNo ability for test environmentNOTE: Do not use SQL Express in Production!
Farm ArchitectureDedicated SQL Database ServerDedicated SQL ServerAll SharePoint roles on single boxLess Disk IOGreater PerformanceStill no test environment…
Farm ArchitectureSmallest Highly Available Farm2 Web/Query/Application /Central Admin/Inbound Email Servers1 Dedicated Index Server (With Web role to allow it to crawl content)2 SQL Standard Edition Cluster Nodes (Active/Passive) – Mirror also optionSmallest highly available farm
Farm ArchitectureScalabilityScale up and Scale out…
Virtualised Farm ArchitectureLess Hardware, less cost…
Virtualised Farm ArchitectureEasy and SupportedMicrosoft Hyper-V (R2 recommended) or Vmware ESX supported (KB 897615)Great Windows Licensing Options (Ent = 4 licenses, Datacenter = unlimited)Allows for multiple farms, more serversLess cost, more failover options (Live Migration / Vmotion)Do not overcommit resources!
Virtualised Farm ArchitectureCost Effective Farm / No HAAllows organisations 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 easily scaled out in the futureVirtualised Farm ArchitectureFully Redundant Farm with only Two ServersHigh-Availability across Hosts
All components virtualised
Uses only two Windows Ent Edition LicensesVirtualised Farm ArchitectureBest Practise, Highly Available and  Scalable FarmHighest transaction servers are physical
Multiple farm support, with DBs for all farms on the SQL cluster
Only five physical servers total, but high performanceVirtualised Farm ArchitectureVirtualisation Scalability
High Availability ArchitectureNetwork Load Balancing and SQL Database Mirroring
High Availability ArchitectureNetwork Load BalancingHardware Based Load Balancing is BestF5Cisco Content SwitchCitrix NetscalerWindows Network Load Balancing SupportedUnicast – Use two NICsMulticast – Requires Router Support
High Availability Architecture Network Load Balancing - SampleWeb 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 Admin ssp1.companyabc.com (10.0.0.105) – SSPspsmtp.companyabc.com (10.0.0.106) – Inbound Email home.companyabc.com (10.0.0.107) – Main SP Web App mysite.companyabc.com (10.0.0.108) – My Sites
High Availability ArchitectureSQL Database MirroringAvailable in SQL Server 2005/2008, both Standard and Enterprise MirroringKeep a full copy of Database on another serverAsynchronous (good for WAN scenarios, Enterprise edition only) or Synchronous
High Availability Architecture Database Mirroring – Single Site OptionSingle SiteSynchronous ReplicationUses a SQL Witness Server to Failover AutomaticallyMirror all SharePoint DBs in the FarmUse a SQL Alias to switch to Mirror Instance
High Availability Architecture Database Mirroring – Cross Site HA Mirroring OptionTwo Sites1 ms Latency1GB BandwidthFarm Servers in each locationAuto Failover
High Availability Architecture Database Mirroring –  Warm Farm Asynchronous OptionTwo SitesTwo Farms (one warm farm)Mirror only Content DBsFailover is ManualMust Reattach DBsMust re-index
Logical ArchitectureDo it right the first time…
Logical ArchitectureWeb Application ArchitectureConsider creating multiple Web AppsExample:spca.companyabc.comssp1.companyabc.commysite.companyabc.comhome.companyabc.comFlexible and scalable!
Logical ArchitectureDistribute by DefaultDistribute content across multiple Site CollectionsDistribute Site Collections Across Multiple DBsMultiple databases = more controlled DB growthTry to keep your Content DBs manageable in size (50-100GB)
Logical ArchitectureSample Logical Architecture
Hardware and SoftwareDetermining the right tools for the job
Hardware and SoftwareDisk, Memory, and ProcessorSQL Databases Require large amounts of space!Allocate Disk Space for Index and Query Servers as wellIndex corpus can grow to 5%-20% of total size of data indexedDatabase and Index Servers require most RAM (4GB, 8GB, or more)Multi-core processors recommended
Hardware and SoftwareWindows Server VersionsWindows Server 2008 R2 (or RTM) highly recommended!Critical that new servers run x64, required for SharePoint 2010SharePoint servers are fine with Standard edition of Windows, no extra gain for EnterpriseSQL Servers may require Enterprise edition if using SQL Enterprise
Hardware and SoftwareSQL Server VersionsSQL Server 2008 Recommended64 bit also highly recommended (required for SharePoint 2010)SQL Server 2005 still supportedSQL 2000 supported for Sharepoint 2007, but not for 2010, and not recommendedSeparate SQL Reporting Services server may be required for intensive reportingStandard edition of SQL generally fine, except for very large environments
SharePoint InstallationGetting the steps right
SharePoint InstallationService AccountsNever use a single service account!Create the Following AccountsSQL Admin AccountInstallation AccountSharePoint Farm AdminSearch AdminDefault Content Access AccountApplication Pool Identity Accounts
SharePoint InstallationInstallation ProcessChoose ‘Complete’ InstallationDo not select ‘Stand-alone’ for a Production environment!
SharePoint InstallationInstallation ProcessChoose Index Location during InstallIndex location can be changed later, but more difficult
SharePoint InstallationCommand-line Installation of SharePointLearn to install from Command-lineOnly way to specify SPCA Database NameSETUP, PSCONFIG and STSADMPSConfig is your friend!Powershellis the future here…
SharePoint InstallationRunning the Config Wizard to Install ServersConsider PSConfigUse Easy to remember port for SPCA (i.e. 8888)Better still, change SPCA to 443 laterUse Common Database Naming ConventionAccount running wizard needs DBCreatorand Security Admin rights on SQL ServerRun the wizard on additional servers as necessary
SharePoint InstallationCreate a SQL and/or DNS Alias!Most flexible approach!spsql.abc.com = sql1
Kerberos AuthenticationSecurity, Security, Security
Kerberos AuthenticationEnable for Best Practise Security!Use Kerberos when creating Web AppsExtra steps required, but worth it…
Kerberos AuthenticationStep 1: Create SPNs for Web AppsCreate Service Principle Names (SPNs)Used for impersonation
Kerberos AuthenticationStep 2: Create SPNs for SQLCreate SPNs for SQLSyntax 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 AuthenticationStep 3: Allow App Pool accounts and SP Computers to DelegateUse ADUCSharePoint Web Server Computer AccountsApp Pool Identity Accounts
Kerberos AuthenticationStep 4: Edit Applicationhost.configWindows Server 2008 onlyModify the ApplicationHost.config file<windowsAuthenticationenabled="true" useKernelMode="true" useAppPoolCredentials="true">
Kerberos AuthenticationStep 5: Enable Kerberos on Web AppEnable Kerberos on the Web App (if not already turned on)Go to Application Management – Authentication ProvidersChoose the appropriate Web ApplicationClick on the link for ‘Default’ under ZoneChange to Integrated Windows Authentication - Kerberos (Negotiate)Run iisreset /noforce from the command prompt

Best Practice SharePoint Architecture

  • 1.
    Best Practice SharePointFarm ArchitectureMichael NoelConvergent ComputingTwitter: @MichaelTNoel
  • 2.
    Farm ArchitectureVirtualised FarmArchitectureHigh Availability DesignLogical ArchitectureHardware and SoftwareSharePoint InstallationKerberos AuthenticationSession Agenda
  • 3.
  • 4.
    Farm ArchitectureAll-in-one ServerAllRoles and SQL on one serverOften seen in small farmsSQL contention with SharePointEasy to deploy, but not best practiceNo ability for test environmentNOTE: Do not use SQL Express in Production!
  • 5.
    Farm ArchitectureDedicated SQLDatabase ServerDedicated SQL ServerAll SharePoint roles on single boxLess Disk IOGreater PerformanceStill no test environment…
  • 6.
    Farm ArchitectureSmallest HighlyAvailable Farm2 Web/Query/Application /Central Admin/Inbound Email Servers1 Dedicated Index Server (With Web role to allow it to crawl content)2 SQL Standard Edition Cluster Nodes (Active/Passive) – Mirror also optionSmallest highly available farm
  • 7.
  • 8.
    Virtualised Farm ArchitectureLessHardware, less cost…
  • 9.
    Virtualised Farm ArchitectureEasyand SupportedMicrosoft Hyper-V (R2 recommended) or Vmware ESX supported (KB 897615)Great Windows Licensing Options (Ent = 4 licenses, Datacenter = unlimited)Allows for multiple farms, more serversLess cost, more failover options (Live Migration / Vmotion)Do not overcommit resources!
  • 10.
    Virtualised Farm ArchitectureCostEffective Farm / No HAAllows organisations that wouldn’t normally be able to have a test environment to run one
  • 11.
    Allows for separationof the database role onto a dedicated server
  • 12.
    Can be easilyscaled out in the futureVirtualised Farm ArchitectureFully Redundant Farm with only Two ServersHigh-Availability across Hosts
  • 13.
  • 14.
    Uses only twoWindows Ent Edition LicensesVirtualised Farm ArchitectureBest Practise, Highly Available and Scalable FarmHighest transaction servers are physical
  • 15.
    Multiple farm support,with DBs for all farms on the SQL cluster
  • 16.
    Only five physicalservers total, but high performanceVirtualised Farm ArchitectureVirtualisation Scalability
  • 17.
    High Availability ArchitectureNetworkLoad Balancing and SQL Database Mirroring
  • 18.
    High Availability ArchitectureNetworkLoad BalancingHardware Based Load Balancing is BestF5Cisco Content SwitchCitrix NetscalerWindows Network Load Balancing SupportedUnicast – Use two NICsMulticast – Requires Router Support
  • 19.
    High Availability ArchitectureNetwork Load Balancing - SampleWeb 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 Admin ssp1.companyabc.com (10.0.0.105) – SSPspsmtp.companyabc.com (10.0.0.106) – Inbound Email home.companyabc.com (10.0.0.107) – Main SP Web App mysite.companyabc.com (10.0.0.108) – My Sites
  • 20.
    High Availability ArchitectureSQLDatabase MirroringAvailable in SQL Server 2005/2008, both Standard and Enterprise MirroringKeep a full copy of Database on another serverAsynchronous (good for WAN scenarios, Enterprise edition only) or Synchronous
  • 21.
    High Availability ArchitectureDatabase Mirroring – Single Site OptionSingle SiteSynchronous ReplicationUses a SQL Witness Server to Failover AutomaticallyMirror all SharePoint DBs in the FarmUse a SQL Alias to switch to Mirror Instance
  • 22.
    High Availability ArchitectureDatabase Mirroring – Cross Site HA Mirroring OptionTwo Sites1 ms Latency1GB BandwidthFarm Servers in each locationAuto Failover
  • 23.
    High Availability ArchitectureDatabase Mirroring – Warm Farm Asynchronous OptionTwo SitesTwo Farms (one warm farm)Mirror only Content DBsFailover is ManualMust Reattach DBsMust re-index
  • 24.
    Logical ArchitectureDo itright the first time…
  • 25.
    Logical ArchitectureWeb ApplicationArchitectureConsider creating multiple Web AppsExample:spca.companyabc.comssp1.companyabc.commysite.companyabc.comhome.companyabc.comFlexible and scalable!
  • 26.
    Logical ArchitectureDistribute byDefaultDistribute content across multiple Site CollectionsDistribute Site Collections Across Multiple DBsMultiple databases = more controlled DB growthTry to keep your Content DBs manageable in size (50-100GB)
  • 27.
  • 28.
    Hardware and SoftwareDeterminingthe right tools for the job
  • 29.
    Hardware and SoftwareDisk,Memory, and ProcessorSQL Databases Require large amounts of space!Allocate Disk Space for Index and Query Servers as wellIndex corpus can grow to 5%-20% of total size of data indexedDatabase and Index Servers require most RAM (4GB, 8GB, or more)Multi-core processors recommended
  • 30.
    Hardware and SoftwareWindowsServer VersionsWindows Server 2008 R2 (or RTM) highly recommended!Critical that new servers run x64, required for SharePoint 2010SharePoint servers are fine with Standard edition of Windows, no extra gain for EnterpriseSQL Servers may require Enterprise edition if using SQL Enterprise
  • 31.
    Hardware and SoftwareSQLServer VersionsSQL Server 2008 Recommended64 bit also highly recommended (required for SharePoint 2010)SQL Server 2005 still supportedSQL 2000 supported for Sharepoint 2007, but not for 2010, and not recommendedSeparate SQL Reporting Services server may be required for intensive reportingStandard edition of SQL generally fine, except for very large environments
  • 32.
  • 33.
    SharePoint InstallationService AccountsNeveruse a single service account!Create the Following AccountsSQL Admin AccountInstallation AccountSharePoint Farm AdminSearch AdminDefault Content Access AccountApplication Pool Identity Accounts
  • 34.
    SharePoint InstallationInstallation ProcessChoose‘Complete’ InstallationDo not select ‘Stand-alone’ for a Production environment!
  • 35.
    SharePoint InstallationInstallation ProcessChooseIndex Location during InstallIndex location can be changed later, but more difficult
  • 36.
    SharePoint InstallationCommand-line Installationof SharePointLearn to install from Command-lineOnly way to specify SPCA Database NameSETUP, PSCONFIG and STSADMPSConfig is your friend!Powershellis the future here…
  • 37.
    SharePoint InstallationRunning theConfig Wizard to Install ServersConsider PSConfigUse Easy to remember port for SPCA (i.e. 8888)Better still, change SPCA to 443 laterUse Common Database Naming ConventionAccount running wizard needs DBCreatorand Security Admin rights on SQL ServerRun the wizard on additional servers as necessary
  • 38.
    SharePoint InstallationCreate aSQL and/or DNS Alias!Most flexible approach!spsql.abc.com = sql1
  • 39.
  • 40.
    Kerberos AuthenticationEnable forBest Practise Security!Use Kerberos when creating Web AppsExtra steps required, but worth it…
  • 41.
    Kerberos AuthenticationStep 1:Create SPNs for Web AppsCreate Service Principle Names (SPNs)Used for impersonation
  • 42.
    Kerberos AuthenticationStep 2:Create SPNs for SQLCreate SPNs for SQLSyntax 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
  • 43.
    Kerberos AuthenticationStep 3:Allow App Pool accounts and SP Computers to DelegateUse ADUCSharePoint Web Server Computer AccountsApp Pool Identity Accounts
  • 44.
    Kerberos AuthenticationStep 4:Edit Applicationhost.configWindows Server 2008 onlyModify the ApplicationHost.config file<windowsAuthenticationenabled="true" useKernelMode="true" useAppPoolCredentials="true">
  • 45.
    Kerberos AuthenticationStep 5:Enable Kerberos on Web AppEnable Kerberos on the Web App (if not already turned on)Go to Application Management – Authentication ProvidersChoose the appropriate Web ApplicationClick on the link for ‘Default’ under ZoneChange to Integrated Windows Authentication - Kerberos (Negotiate)Run iisreset /noforce from the command prompt
  • 46.
    Key TakeawaysHighly considerVirtualization for SharePointCreate a test farm!Consider Database Mirroring and/or NLB for SharePoint HADeploy the ‘five server farm’ for full High AvailabilityPlan today for SharePoint 2010 (more on this in the next session!)Enable Kerberos Authentication
  • 47.
    For More InformationSpeakerBooks(http://www.samspublishing.com)SharePoint Database Mirroring Whitepaper(http://tinyurl.com/mirrorsp)Database Mirroring Failover Case Study(http://tinyurl.com/mirrorspcs) Microsoft ‘Virtualizing SharePoint Infrastructure’ Whitepaper (http://tinyurl.com/virtualsp) SharePoint Log Shipping Whitepaper(http://tinyurl.com/logshipsp)
  • 48.
    Thanks for havingme in Pune!Questions?Michael NoelTwitter: @MichaelTNoelwww.cco.com