Building the Perfect SharePoint 2010 Farm - SPS Sacramento

  • 2,767 views
Uploaded on

Slide deck from Michael Noel's session on Best Practices SharePoint 2010 infrastructure, as presented at SharePoint Saturday Sacramento, 18 June, 2011.

Slide deck from Michael Noel's session on Best Practices SharePoint 2010 infrastructure, as presented at SharePoint Saturday Sacramento, 18 June, 2011.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,767
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
152
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • THIS SHOULD BE YOUR FIRST SLIDE
  • THIS SHOULD BE YOUR SECOND TO LAST SLIDE – Encourage everyone to attend and remind them that BJs Brewhouse is just a few blocks up Bidwell from Three Stages
  • THIS SHOULD BE YOUR LAST SLIDE – Please ensure to leave this on as people are walking out and you’re wrapping things up. Thanks so much!

Transcript

  • 1. Welcome to the First Annual
    SharePoint Saturday
    Sacramento!!
  • 2. Michael Noel
    Convergent Computing
    Twitter: @MichaelTNoel
    Building the ‘Perfect’ FarmBest Practices from the Field
  • 3. Michael Noel
    Author 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
  • 4. What we will cover
    Examine various SharePoint 2010 farm architecture best practices that have developed over the past year
    Examine SharePoint Best Practice Farm Architecture
    Understand SharePoint Virtualization Options
    Explore SharePoint DR and HA strategies using Database Mirroring
    Explore other common best practices (RBS, SSL, NLB)
    Examine best practice security for SharePoint
    A large amount of best practices covered (i.e. Drinking through a fire hose,) goal is for you to be able to take away at least 2-3 useful pieces of information that can be used in your environment
  • 5. Architecting the Farm
  • 6. Architecting the FarmUnderstanding the Three Tiers of SharePoint Infrastructure
  • 7. Architecting the FarmSmall Farm Examples
    ‘All-in-One’ (Avoid)
    DB and SP Roles Separate
  • 8. Architecting the FarmSmallest Highly Available Farm
    2 SharePoint Servers running Web and Service Apps
    2 Database Servers (Clustered or Mirrored)
    1 or 2 Index Partitions with equivalent query components
    Smallest farm size that is fully highly available
  • 9. Architecting the FarmBest Practice ‘Six Server Farm’
    2 Dedicated Web Servers (NLB)
    2 Service Application Servers
    2 Database Servers (Clustered or Mirrored)
    1 or 2 Index Partitions with equivalent query components
  • 10. Architecting the FarmScaling to Large Farms
    Multiple Dedicated Web Servers
    Multiple Dedicated Service App Servers
    Multiple Dedicated Query Servers
    Multiple Dedicated Crawl Servers, with multiple Crawl DBs to increase parallelization of the crawl process
    Multiple distributed Index partitions (max of 10 million items per index partition)
    Two query components for each Index partition, spread among servers
  • 11. Previously a third party product ($$$$)
    More reasonable pricing now
    Highly tuned and specialised search engine for SharePoint and also as an enterprise search platform
    Replaces SharePoint 2010 Native Search if used
    ‘Net new’ features built-in.
    Architecting the FarmFAST Search
  • 12. Architecting the FarmFAST Search – Comparison Matrix – Slide 1 of 2
  • 13. Architecting the FarmFAST Search – Comparison Matrix – Slide 2 of 2
  • 14. Virtualization of SharePoint Servers
  • 15. Virtualization of SharePoint ServersCaveats – Be Sure to Understand Virtualization Concepts
  • 16. Virtualization of SharePoint ServersVirtual Guest Processor and Memory Guidelines
  • 17. Virtualization of SharePoint ServersSample 1: Small Single Server Environment / No HA
    • Allows organizations that wouldn’t normally be able to have a test environment to run one
    • 18. Allows for separation of the database role onto a dedicated server
    • 19. Can be more easily scaled out in the future
  • Virtualization of SharePoint ServersSample 2: Two Server Highly Available Farm
    • High-Availability across Hosts
    • 20. All components Virtualized
    • 21. Uses only two Windows Ent Edition Licenses
  • Virtualization of SharePoint ServersSample 3: Mix of Physical and Virtual Servers – Best Perf
    • Highest transaction servers are physical
    • 22. Multiple farm support, with DBs for all farms on the SQL cluster
  • Virtualization of SharePoint ServersSample 4: Scaling to Large Virtual Environments
  • 23. Virtualization of SharePoint ServersVirtualization Performance Monitoring
    Network Bandwidth – Bytes Total/sec
    <40% Utilization = Good
    41%-64% = Caution
    >65% = Trouble
    Network Latency - Output Queue Length
    0 = Good
    1-2= OK
    >2 = Trouble
    Processor (Host Only)
    <60% Utilization = Good
    60%-90% = Caution
    >90% = Trouble
    Available Memory
    50% and above = Good
    10%-50% = OK
    <10% = Trouble
    Disk – Avg. Disk sec/Read or Avg. Disk sec/Write
    Up to 15ms = fine
    15ms-25ms = Caution
    >25ms = Trouble
  • 24. Virtualization of SharePoint ServersQuick Farm Provisioning using VMM/Virtual Center
    Create new Virtual Guest (Windows Server 2008 R2)
    Install SP2010 Binaries. Stop before running Config Wizard
    Turn Virtual Guest into Template, modify template to allow it to be added into domain
    Add PowerShell script to run on first login, allowing SP to be added into farm or to create new farm
    End Result - 15 minute entire farm provisioning…quickly add servers into existing farms or create new farms (Test, Dev, Prod) on demand
  • 25. Quick Farm Provisioning with VMM 2008 R2 - Demo
  • 26. Data Management
  • 27. Start 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 face
    Allow your environment to scale and your users to ‘grow into’ their SharePoint site collections
    Data ManagementDistribute Data Across Content DBs and Site Collections
  • 28.
  • 29. BLOBs are unstructured content stored in SQL
    Includes all documents, pictures, and files stored in SharePoint
    Excludes Metadata and Context, information about the document, version #, etc.
    Until recently, could not be removed from SharePoint Content Databases
    Classic problem of structured vs. unstructured data – unstructured data doesn’t really belong in a SQL Server environment
    Data ManagementBinary Large OBject (BLOB) Storage
  • 30. Data ManagementGetting your BLOBs out of the Content DBs
    Can reduce dramatically the size of Content DBs, as upwards of 80%-90% of space in content DBs is composed of BLOBs
    Can move BLOB storage to more efficient/cheaper storage
    Improve performance and scalability of your SharePoint deployment – But highly recommended to use third party
  • 31. SQL Database Optimization
  • 32. SQL Database OptimizationContent Databases Distributed Between Multiple Volumes
    Volume #1
    Volume #2
    Volume #3
    Volume #4
    DB-A
    File 1
    DB-B
    File 1
    DB-A
    File 2
    DB-B
    File 2
    DB-A
    File 3
    DB-B
    File 3
    DB-A
    File 4
    DB-B
    File 4
    Tempdb File 1
    Tempdb File 2
    Tempdb File 3
    Tempdb File 4
  • 33. SQL Database OptimizationContent Databases Distributed Between Multiple Volumes
    Break Content Databases and TempDB into multiple files (MDF, NDF), total should equal number of physical processors (not cores) on SQL server.
    Pre-size Content DBs and TempDB to avoid fragmentation
    Separate files onto different drive spindles for best IO perf.
    Example: 100GB total Content DB on Four-way SQL Server would have four database files distributed across four sets of drive spindles = 25GB pre-sized for each file.
  • 34. SQL Database OptimizationTempDB Best practices
    TempDB is critical for performance
    Pre-size to 20% of the size of the largest content database.
    Break into multiple files across spindles as noted
    Note there is a separate TempDB for each physical instance
    Note that if using SQL Transparent Data Encryption (TDE) for any databases in an instance, the tempDB is encrypted.
  • 35. High Availability and Disaster Recovery
  • 36. Clustering is Shared Storage, can’t survive storage failure, makes Mirroring more attractive
    Clustering fails over more quickly
    Mirroring is not supported for all databases, but Clustering is
    Both Clustering and Mirroring can be used at the same time (Instance to Instance)
    High Availability and Disaster RecoveryData Tier – Clustering vs. Mirroring
  • 37. High Availability and Disaster RecoveryData Tier – SQL Database Mirroring
    Introduced in SQL 2005 SP1
    Greatly improved in SQL 2008 and now SQL 2008 R2
    Available in Enterprise and Standard (Synchronous only) editions
    Works by keeping a mirror copy of a database or databases on two servers
    Can be used locally, or the mirror can be remote
    Can be set to use a two-phase commit process to ensure integrity of data across both servers
    Can be combined with traditional shared storage clustering to further improve redundancy
    SharePoint 2010 is now Mirroring aware!
  • 38. High Availability and Disaster RecoveryData Tier – Database Mirroring Model #1 – Single Site
    Single Site
    Synchronous Replication
    Uses a SQL Witness Server to Failover Automatically
    Mirror all SharePoint DBs in the Farm
    Use a SQL Alias to switch to Mirror Instance
  • 39. High Availability and Disaster RecoveryData Tier – Database Mirroring Model #2 – Cross-Site with HA
    Two Sites
    1-10 ms Latency max
    1Gb Bandwidth minimum
    Farm Servers in each location
    Auto Failover
  • 40. High Availability and Disaster RecoveryData Tier – Database Mirroring Model #2 – Remote Farm
    Two Sites
    Two Farms
    Mirror only Content DBs
    Failover is Manual
    Read-only Mode possible
    Must Re-Attach and Re-Index
  • 41. High Availability and Disaster RecoveryData Tier – Database Support for Mirroring – Slide 1 of 2
  • 42. High Availability and Disaster RecoveryData Tier – Database Support for Mirroring – Slide 2 of 2
  • 43. High Availability and Disaster RecoveryTwo Node/Two Instance Cluster – Take Advantage of both servers
  • 44. High Availability and Disaster RecoveryNetwork Load Balancing
    Hardware Based Load Balancing (F5, Cisco, Citrix NetScaler – Best performance and scalability
    Software Windows Network Load Balancing fully supported by MS, but requires Layer 2 VLAN (all packets must reach all hosts.) Layer 3 Switches must be configured to allow Layer 2 to the specific VLAN.
    If using Unicast, use two NICs on the server, one for communications between nodes.
    If using Multicast, be sure to configure routers appropriately
    Set Affinity to Single (Sticky Sessions)
    If using VMware, note fix to NLB RARP issue (http://tinyurl.com/vmwarenlbfix)
  • 45. High Availability and Disaster RecoveryWindows Software Network Load Balancing Recommendations
    Best Practice – Create Multiple Web Apps with Load-balanced VIPs (Sample below)
    Web Role Servers
    sp1.companyabc.com (10.0.0.101) – Web Role Server #1
    sp2.companyabc.com (10.0.0.102) – Web Role Server #2
    Clustered VIPs shared between SP1 and SP2 (Create A records in DNS)
    spnlb.companyabc.com (10.0.0.103) - Cluster
    spca.companyabc.com (10.0.0.104) – SP Central Admin
    spsmtp.companyabc.com (10.0.0.105) – Inbound Email VIP
    home.companyabc.com (10.0.0.106) – Main SP Web App (can be multiple)
    mysite.companyabc.com (10.0.0.107) – Main MySites Web App
  • 46. SharePoint Installation
  • 47. SharePoint InstallationScripted Installations
    Good 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.
    Use PowerShell with SharePoint 2010
    Sample scripts available for download…
  • 48. Function 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 InstallationSamples Scripts – http://tinyurl.com/SPFarm-Config
  • 49. SharePoint InstallationSome Manual Service Apps Still Required
    Due to complexity and/or bugs, certain Service Apps will need to be manually configured in most cases.
    This includes the following:
    PerformancePoint Service Application
    User Profile Service Application
    Web Analytics Service Application
  • 50. Security
  • 51. SharePoint SecurityLayers of Security in a SharePoint Environment
    Infrastructure Security and Best practices
    Physical Security
    Best Practice Service Account Setup
    Kerberos Authentication
    Data Security
    Role Based Access Control (RBAC)
    Transparent Data Encryption (TDE) of SQL Databases
    Antivirus
    Transport Security
    Secure Sockets Layer (SSL) from Server to Client
    IPSec from Server to Server
    Edge Security
    Inbound Internet Security (Forefront UAG/TMG)
    Rights Management
  • 52. SharePoint SecurityInfrastructure – Sample List of Service Accounts
  • 53. SharePoint SecurityInfrastructure – Enable Kerberos when using Classic-Auth
    When creating any Web Applications in Classic-mode, 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.
    Should also be configured on SPCA Site! (Best Practice = Configure SPCA for NLB, SSL, and Kerberos (i.e. https://spca.companyabc.com)
  • 54. SharePoint SecurityData – Role Based Access Control (RBAC)
    Role Groups defined within Active Directory (Universal Groups) – i.e. ‘Marketing,’ ‘Sales,’ ‘IT,’ etc.
    Role Groups added directly into SharePoint ‘Access Groups’ such as ‘Contributors,’ ‘Authors,’ etc.
    Simply by adding a user account into the associated Role Group, they gain access to whatever rights their role requires.
    SharePoint Group
  • 55. SharePoint SecurityData - Transparent Data Encryption (TDE)
    New in SQL Server 2008
    Only Available with the Enterprise Edition
    Seamless Encryption of Individual Databases
    Transparent to Applications, including SharePoint
  • 56. SharePoint SecurityData - Use SharePoint-Aware Antivirus (3rd Party or FPS)
  • 57. SharePoint SecurityTransport - Secure Sockets Layer (SSL) Encryption
    External or Internal Certs highly recommended
    Protects Transport of content
    20% overhead on Web Servers
    Can be offloaded via SSL offloaders if needed
    Don’t forget for SPCA as well!
  • 58. SharePoint SecurityTransport – IPSec from Server to Server
    By default, traffic between SharePoint Servers (i.e. Web and SQL) is unencrypted
    IPSec encrypts all packets sent between servers in a farm
    For very high security scenarios when all possible data breaches must be addressed
  • 59. SharePoint SecurityEdge – Forefront Unified Access Gateway
  • 60. SharePoint SecurityRights Management - Active Directory Rights Management Services
    AD RMS is a form of Digital Rights Management (DRM) technology, used in various forms to protect content
    Used to restrict activities on files AFTER they have been accessed:
    Cut/Paste
    Print
    Save As…
    Directly integrates with SharePoint DocLibs
  • 61. For More Information
    SharePoint 2010 Unleashed from SAMS Publishing (http://www.samspublishing.com)
    Windows Server 2008 R2 Unleashed and/or Hyper-V Unleashed (http://www.samspublishing.com)
    Microsoft ‘Virtualizing SharePoint Infrastructure’ Whitepaper (http://tinyurl.com/virtualsp)
    Microsoft SQL Mirroring Case Study (http://tinyurl.com/mirrorsp )
    Failover Mirror PowerShell Script (http://tinyurl.com/failovermirrorsp )
    SharePoint Kerberos Guidance (http://tinyurl.com/kerbsp)
    SharePoint Installation Scripts (http://tinyurl.com/SPFarm-Config)
    Contact us at CCO.com
  • 62. Don’t Forget
    SharePint!!
    Sponsored By…..
    Join us at 6:00 pm at BJs Brewhousefor a free drink, kindly provided by Rackspace! A great opportunity to network with other SharePoint Professionals!
    Don’t forget to fill out your bingo cards and surveys to be eligible for GREAT end of day raffles!
  • 63. Thanks to Our Sponsors
  • 64. Thanks for attending!Questions?
    Michael Noel
    Twitter: @MichaelTNoel
    www.cco.com
    Slides: slideshare.net/michaeltnoel