Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio Connections Michael

Similar presentations


Presentation on theme: "Visual Studio Connections Michael"— Presentation transcript:

1 Visual Studio Connections Michael Noel @MichaelTNoel
Building the ‘Perfect’ SharePoint 2010 Farm Infrastructure Best Practices from the Field Michael Noel @MichaelTNoel Updates will be available at

2 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 ( / +1(510) ) – San Francisco Bay Area based Infrastructure/Security specialists for SharePoint, AD, Exchange, Security

3 Microsoft ASP.NET Connections
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 Updates will be available at _06/ASP_Connections

4 Architecting the Farm 4

5 Architecting the Farm Understanding the Three Tiers of SharePoint Infrastructure
Web Service Apps Data

6 Architecting the Farm Small Farm Examples
‘All-in-One’ (Avoid) DB and SP Roles Separate

7 Architecting the Farm Smallest 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

8 Architecting the Farm Best 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

9 Architecting the Farm Scaling 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

10 Architecting the Farm FAST Search
Previously a third party product ($$$$) More reasonable pricing now Highly tuned and specialized search engine for SharePoint and also as an enterprise search platform Replaces SharePoint 2010 Native Search if used ‘Net new’ features built-in.

11 SharePoint Foundation 2010 FAST Search Server 2010 for SharePoint
Architecting the Farm FAST Search – Comparison Matrix – Slide 1 of 2 Feature SharePoint Foundation 2010 Search Server Express Search Server 2010 SharePoint Server 2010 FAST Search Server 2010 for SharePoint Basic search X Best Bets Search Scopes Crawled and Managed Properties Query Federation Query Suggestions Relevancy Tuning by Document or Site Promotions Shallow Results Refinement Windows 7 Federation

12 SharePoint Foundation 2010 FAST Search Server 2010 for SharePoint
Architecting the Farm FAST Search – Comparison Matrix – Slide 2 of 2 Feature SharePoint Foundation 2010 Search Server Express Search Server 2010 SharePoint Server 2010 FAST Search Server 2010 for SharePoint People Search X Social Search Taxonomy Integration Multi-Tenant Hosting Visual Best Bets Similar Results Duplicate Results Search Enhancement based on user context Sort Results on Managed Properties or Rank Profiles Deep Results Refinement Document Preview Rich Web Indexing Support

13 Virtualization of SharePoint Servers
13

14 Virtualization of SharePoint Servers Caveats – Be Sure to Understand Virtualization Concepts
Virtual Hosts Dedicated hosts for SharePoint Virtual Guests No Software on Host OS! (Except A/V or Backup) Don’t overallocate memory (ballooning) or Processor (2:1 ratio max) Disk Ensure proper amount of IO (0.75 IOPs / GB min, 2.0 IOPS/GB recommended) Allocate Passthrough/RDM disk for best perf If using virtual disks, use fixed-sized, not dynamically expanding Network Aggregate multiple NICs on host for the guest networks Allocate Passthrough/RDM NICs for best perf Virtual Guests Web Role is best candidate, but be cautious if using multiple app pools (800MB/pool) Service App systems generally good candidates Use caution with the database role!

15 Virtualization of SharePoint Servers Virtual Guest Processor and Memory Guidelines
vCPU RAM (Bare Minimum) RAM (Recommend) RAM (Ideal) Web Only* 2 6GB 8GB 12GB Service Application Roles Only Dedicated Search Service App 10GB 16GB Combined Web/Search/Service Apps 4 18GB Database* 24GB

16 Virtualization of SharePoint Servers Sample 1: Small Single Server Environment / No HA
Allows 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 future

17 Virtualization of SharePoint Servers Sample 2: Two Server Highly Available Farm
High-Availability across Hosts All components Virtualized Uses only two Windows Ent Edition Licenses

18 Virtualization of SharePoint Servers Sample 3: Mix of Physical and Virtual Servers – Best Perf
Highest transaction servers are physical Multiple farm support, with DBs for all farms on the SQL cluster

19 Virtualization of SharePoint Servers Sample 4: Scaling to Large Virtual Environments

20 Virtualization of SharePoint Servers Virtualization 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

21 Virtualization of SharePoint Servers Quick 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

22 Data Management 22

23 Data Management Distribute Data Across Content DBs and Site Collections
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

24

25 Data Management Binary Large OBject (BLOB) Storage
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

26 Data Management Getting 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

27 SQL Database Optimization
27

28 SQL Database Optimization Content Databases Distributed Between Multiple Volumes
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

29 SQL Database Optimization Content 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: 50GB total Content DB on Two-way SQL Server would have two database files distributed across two sets of drive spindles = 25GB pre-sized for each file.

30 SQL Database Optimization TempDB 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.

31 SQL Database Optimization SQL Maintenance Plans
Implement SQL Maintenance Plans! Include DBCC (Check Consistency) and either Reorganize Indexes or Rebuild Indexes, but not both! Add backups into the maintenance plan if they don’t exist already Be sure to truncate transaction logs with a T-SQL Script (after full backups have run…)

32 SQL Database Optimization Truncate Transaction Logs Sample Statement
USE CompanyABC_SP2010_ContentDB01; GO ALTER DATABASE CompanyABC_SP2010_ContentDB01 SET RECOVERY SIMPLE; DBCC SHRINKFILE (CompanyABC_SP2010_ContentDB01_log, 100); SET RECOVERY FULL;

33 High Availability and Disaster Recovery
33

34 High Availability and Disaster Recovery Data Tier – Clustering vs
High Availability and Disaster Recovery Data Tier – Clustering vs. Mirroring 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)

35 4/14/ :34 PM High Availability and Disaster Recovery Data 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 combined with traditional shared storage clustering to further improve redundancy SharePoint 2010 is now Mirroring aware! Upcoming SQL 2012 has some great Mirroring improvements (Multiple copies of databases, both asynch and synch, and read-only copies in remote!) © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

36 High Availability and Disaster Recovery Data Tier – Database Mirroring Model #1 – 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

37 High Availability and Disaster Recovery Data 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

38 High Availability and Disaster Recovery Data 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

39 High Availability and Disaster Recovery Data Tier – Database Support for Mirroring – Slide 1 of 2
Synchronous Mirror Support Asynchronous Mirror Support Configuration X Central Administration content Content Databases Usage and Health Data Collection Business Data Connectivity Application Registry service * (BDC Upgrade) Subscription Settings service * (PowerShell Enabled) Search – Search Administration Search - Crawl Search - Property

40 High Availability and Disaster Recovery Data Tier – Database Support for Mirroring – Slide 2 of 2
Synchronous Mirror Support Asynchronous Mirror Support User Profile - Profile X User Profile - Synchronization User Profile – Social Tagging Web Analytics - Staging Web Analytics - Reporting Secure Store Stage Managed Metadata Word Automation Services PerformancePoint

41 High Availability and Disaster Recovery Two Node/Two Instance Cluster – Take Advantage of both servers

42 High Availability and Disaster Recovery Network 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 (

43 High Availability and Disaster Recovery Windows Software Network Load Balancing Recommendations
Best Practice – Create Multiple Web Apps with Load-balanced VIPs (Sample below) Web Role Servers sp1.companyabc.com ( ) – Web Role Server #1 sp2.companyabc.com ( ) – Web Role Server #2 Clustered VIPs shared between SP1 and SP2 (Create A records in DNS) spnlb.companyabc.com ( ) - Cluster spca.companyabc.com ( ) – SP Central Admin spsmtp.companyabc.com ( ) – Inbound VIP home.companyabc.com ( ) – Main SP Web App (can be multiple) mysite.companyabc.com ( ) – Main MySites Web App

44 SharePoint Installation
44

45 SharePoint Installation Scripted 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…

46 SharePoint Installation Samples Scripts – http://tinyurl
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 -ErrorAction SilentlyContinue 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 -ErrorAction SilentlyContinue if ($queryTopology.State -ne "Active")

47 SharePoint Installation Some 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

48 SharePoint Installation Document the Configuration and Monitor Changes
Document all key settings in IIS, SharePoint, after installation Consider monitoring for changes after installation for Config Mgmt. Fantastic tool for this is the SPDocKit - can be found at

49 Security 49

50 SharePoint Security Layers 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

51 Microsoft ASP.NET Connections
For More Information SharePoint 2010 Unleashed from SAMS Publishing ( Windows Server 2008 R2 Unleashed and/or Hyper-V Unleashed ( Microsoft ‘Virtualizing SharePoint Infrastructure’ Whitepaper ( Microsoft SQL Mirroring Case Study ( ) Failover Mirror PowerShell Script ( ) SharePoint Kerberos Guidance ( SharePoint Installation Scripts ( SharePoint Documentation Toolkit ( Contact us at CCO.com Updates will be available at _06/ASP_Connections

52 Your Feedback is Important
Visual Studio Connections Your Feedback is Important Please fill out a session evaluation form drop it off at the conference registration desk. Thank you! Updates will be available at

53 Thanks for attending! Questions?
Michael Noel Slides: slideshare.net/michaeltnoel Travel blog:


Download ppt "Visual Studio Connections Michael"

Similar presentations


Ads by Google