Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Best Practice SharePoint Architecture

24,129 views

Published on

Slide deck used at the India SharePoint User Groups in Pune, Chennai, and Bangalore, September 2009.

Published in: Education, Technology

Best Practice SharePoint Architecture

  1. 1. Best Practice SharePoint Farm Architecture<br />Michael Noel<br />Convergent Computing<br />Twitter: @MichaelTNoel<br />
  2. 2. Farm Architecture<br />Virtualised Farm Architecture<br />High Availability Design<br />Logical Architecture<br />Hardware and Software<br />SharePoint Installation<br />Kerberos Authentication<br />Session Agenda<br />
  3. 3. Farm Architecture<br />Best Practice SharePoint Designs<br />
  4. 4. Farm ArchitectureAll-in-one Server<br />All Roles and SQL on one server<br />Often seen in small farms<br />SQL contention with SharePoint<br />Easy to deploy, but not best practice<br />No ability for test environment<br />NOTE: Do not use SQL Express in Production!<br />
  5. 5. Farm ArchitectureDedicated SQL Database Server<br />Dedicated SQL Server<br />All SharePoint roles on single box<br />Less Disk IO<br />Greater Performance<br />Still no test environment…<br />
  6. 6. Farm ArchitectureSmallest Highly Available Farm<br />2 Web/Query/Application /Central Admin/Inbound Email Servers<br />1 Dedicated Index Server (With Web role to allow it to crawl content)<br />2 SQL Standard Edition Cluster Nodes (Active/Passive) – Mirror also option<br />Smallest highly available farm<br />
  7. 7. Farm ArchitectureScalability<br />Scale up and Scale out…<br />
  8. 8. Virtualised Farm Architecture<br />Less Hardware, less cost…<br />
  9. 9. Virtualised Farm ArchitectureEasy and Supported<br />Microsoft Hyper-V (R2 recommended) or Vmware ESX supported (KB 897615)<br />Great Windows Licensing Options (Ent = 4 licenses, Datacenter = unlimited)<br />Allows for multiple farms, more servers<br />Less cost, more failover options (Live Migration / Vmotion)<br />Do not overcommit resources!<br />
  10. 10. Virtualised Farm ArchitectureCost Effective Farm / No HA<br /><ul><li>Allows organisations that wouldn’t normally be able to have a test environment to run one
  11. 11. Allows for separation of the database role onto a dedicated server
  12. 12. Can be easily scaled out in the future</li></li></ul><li>Virtualised Farm ArchitectureFully Redundant Farm with only Two Servers<br /><ul><li>High-Availability across Hosts
  13. 13. All components virtualised
  14. 14. Uses only two Windows Ent Edition Licenses</li></li></ul><li>Virtualised Farm ArchitectureBest Practise, Highly Available and Scalable Farm<br /><ul><li>Highest transaction servers are physical
  15. 15. Multiple farm support, with DBs for all farms on the SQL cluster
  16. 16. Only five physical servers total, but high performance</li></li></ul><li>Virtualised Farm ArchitectureVirtualisation Scalability<br />
  17. 17. High Availability Architecture<br />Network Load Balancing and SQL Database Mirroring<br />
  18. 18. High Availability ArchitectureNetwork Load Balancing<br />Hardware Based Load Balancing is Best<br />F5<br />Cisco Content Switch<br />Citrix Netscaler<br />Windows Network Load Balancing Supported<br />Unicast – Use two NICs<br />Multicast – Requires Router Support<br />
  19. 19. High Availability Architecture Network Load Balancing - Sample<br />Web Role Servers<br />sp1.companyabc.com (10.0.0.101) – Web Role Server #1<br />sp2.companyabc.com (10.0.0.102) – Web Role Server #2<br />Clustered VIPs shared between SP1 and SP2 (Create A records in DNS)<br />spnlb.companyabc.com (10.0.0.103) - Cluster<br />spca.companyabc.com (10.0.0.104) – SP Central Admin <br />ssp1.companyabc.com (10.0.0.105) – SSP<br />spsmtp.companyabc.com (10.0.0.106) – Inbound Email <br />home.companyabc.com (10.0.0.107) – Main SP Web App <br />mysite.companyabc.com (10.0.0.108) – My Sites<br />
  20. 20. High Availability ArchitectureSQL Database Mirroring<br />Available in SQL Server 2005/2008, both Standard and Enterprise Mirroring<br />Keep a full copy of Database on another server<br />Asynchronous (good for WAN scenarios, Enterprise edition only) or Synchronous<br />
  21. 21. High Availability Architecture Database Mirroring – Single Site Option<br />Single Site<br />Synchronous Replication<br />Uses a SQL Witness Server to Failover Automatically<br />Mirror all SharePoint DBs in the Farm<br />Use a SQL Alias to switch to Mirror Instance<br />
  22. 22. High Availability Architecture Database Mirroring – Cross Site HA Mirroring Option<br />Two Sites<br />1 ms Latency<br />1GB Bandwidth<br />Farm Servers in each location<br />Auto Failover<br />
  23. 23. High Availability Architecture Database Mirroring – Warm Farm Asynchronous Option<br />Two Sites<br />Two Farms (one warm farm)<br />Mirror only Content DBs<br />Failover is Manual<br />Must Reattach DBs<br />Must re-index<br />
  24. 24. Logical Architecture<br />Do it right the first time…<br />
  25. 25. Logical ArchitectureWeb Application Architecture<br />Consider creating multiple Web Apps<br />Example:<br />spca.companyabc.com<br />ssp1.companyabc.com<br />mysite.companyabc.com<br />home.companyabc.com<br />Flexible and scalable!<br />
  26. 26. Logical ArchitectureDistribute by Default<br />Distribute content across multiple Site Collections<br />Distribute Site Collections Across Multiple DBs<br />Multiple databases = more controlled DB growth<br />Try to keep your Content DBs manageable in size (50-100GB)<br />
  27. 27. Logical ArchitectureSample Logical Architecture<br />
  28. 28. Hardware and Software<br />Determining the right tools for the job<br />
  29. 29. Hardware and SoftwareDisk, Memory, and Processor<br />SQL Databases Require large amounts of space!<br />Allocate Disk Space for Index and Query Servers as well<br />Index corpus can grow to 5%-20% of total size of data indexed<br />Database and Index Servers require most RAM (4GB, 8GB, or more)<br />Multi-core processors recommended<br />
  30. 30. Hardware and SoftwareWindows Server Versions<br />Windows Server 2008 R2 (or RTM) highly recommended!<br />Critical that new servers run x64, required for SharePoint 2010<br />SharePoint servers are fine with Standard edition of Windows, no extra gain for Enterprise<br />SQL Servers may require Enterprise edition if using SQL Enterprise<br />
  31. 31. Hardware and SoftwareSQL Server Versions<br />SQL Server 2008 Recommended<br />64 bit also highly recommended (required for SharePoint 2010)<br />SQL Server 2005 still supported<br />SQL 2000 supported for Sharepoint 2007, but not for 2010, and not recommended<br />Separate SQL Reporting Services server may be required for intensive reporting<br />Standard edition of SQL generally fine, except for very large environments<br />
  32. 32. SharePoint Installation<br />Getting the steps right<br />
  33. 33. SharePoint InstallationService Accounts<br />Never use a single service account!<br />Create the Following Accounts<br />SQL Admin Account<br />Installation Account<br />SharePoint Farm Admin<br />Search Admin<br />Default Content Access Account<br />Application Pool Identity Accounts<br />
  34. 34. SharePoint InstallationInstallation Process<br />Choose ‘Complete’ Installation<br />Do not select ‘Stand-alone’ for a Production environment!<br />
  35. 35. SharePoint InstallationInstallation Process<br />Choose Index Location during Install<br />Index location can be changed later, but more difficult<br />
  36. 36. SharePoint InstallationCommand-line Installation of SharePoint<br />Learn to install from Command-line<br />Only way to specify SPCA Database Name<br />SETUP, PSCONFIG and STSADM<br />PSConfig is your friend!<br />Powershellis the future here…<br />
  37. 37. SharePoint InstallationRunning the Config Wizard to Install Servers<br />Consider PSConfig<br />Use Easy to remember port for SPCA (i.e. 8888)<br />Better still, change SPCA to 443 later<br />Use Common Database Naming Convention<br />Account running wizard needs DBCreatorand Security Admin rights on SQL Server<br />Run the wizard on additional servers as necessary<br />
  38. 38. SharePoint InstallationCreate a SQL and/or DNS Alias!<br />Most flexible approach!<br />spsql.abc.com = sql1<br />
  39. 39. Kerberos Authentication<br />Security, Security, Security<br />
  40. 40. Kerberos AuthenticationEnable for Best Practise Security!<br />Use Kerberos when creating Web Apps<br />Extra steps required, but worth it…<br />
  41. 41. Kerberos AuthenticationStep 1: Create SPNs for Web Apps<br />Create Service Principle Names (SPNs)<br />Used for impersonation<br />
  42. 42. Kerberos AuthenticationStep 2: Create SPNs for SQL<br />Create SPNs for SQL<br />Syntax similar to following:<br />Setspn.exe -A MSSQLSvc/spsql:1433 COMPANYABCSRV-SQL-DB<br />Setspn.exe –A MSSQLSvc/spsql.companyabc.com:1433 COMPANYABCSRV-SQL-DB<br />MSSQLSvc = Default instance, if named instance, specify the name instead<br />In this example, SRV-SQL-DB is the SQL Admin account<br />
  43. 43. Kerberos AuthenticationStep 3: Allow App Pool accounts and SP Computers to Delegate<br />Use ADUC<br />SharePoint Web Server Computer Accounts<br />App Pool Identity Accounts<br />
  44. 44. Kerberos AuthenticationStep 4: Edit Applicationhost.config<br />Windows Server 2008 only<br />Modify the ApplicationHost.config file<br />&lt;windowsAuthenticationenabled=&quot;true&quot; useKernelMode=&quot;true&quot; useAppPoolCredentials=&quot;true&quot;&gt;<br />
  45. 45. Kerberos AuthenticationStep 5: Enable Kerberos on Web App<br />Enable Kerberos on the Web App (if not already turned on)<br />Go to Application Management – Authentication Providers<br />Choose the appropriate Web Application<br />Click on the link for ‘Default’ under Zone<br />Change to Integrated Windows Authentication - Kerberos (Negotiate)<br />Run iisreset /noforce from the command prompt<br />
  46. 46. Key Takeaways<br />Highly consider Virtualization for SharePoint<br />Create a test farm!<br />Consider Database Mirroring and/or NLB for SharePoint HA<br />Deploy the ‘five server farm’ for full High Availability<br />Plan today for SharePoint 2010 (more on this in the next session!)<br />Enable Kerberos Authentication<br />
  47. 47. For More Information<br />Speaker Books<br />(http://www.samspublishing.com)<br />SharePoint Database Mirroring Whitepaper<br />(http://tinyurl.com/mirrorsp)<br />Database Mirroring Failover Case Study<br />(http://tinyurl.com/mirrorspcs) <br />Microsoft ‘Virtualizing SharePoint Infrastructure’ Whitepaper (http://tinyurl.com/virtualsp) <br />SharePoint Log Shipping Whitepaper<br />(http://tinyurl.com/logshipsp) <br />
  48. 48. Thanks for having me in Pune!Questions?<br />Michael Noel<br />Twitter: @MichaelTNoel<br />www.cco.com<br />

×