50 Shades of SharePoint: SharePoint 2013 Insanity Demystified


Published on

More info on http://techdays.be.

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • After years of helping organizations around the world to deploy and implement SharePoint, Dan Holme has found that there are certain pain points that almost everyone encounters. Some are confusing concepts. Some are unfortunate decisions made based on misunderstanding Microsoft’s UI or documentation. Some are due to unnecessarily complex terminology. And some because there are things we might think that SharePoint should do, but can’t. In this session, Dan will share the most common and problematic scenarios, and their solutions, with the goal of saving you pain, time, and money. Think of this session as “Lessons Learned,” “Best Practices,” or “From the Field” on steroids. Whether you’re new to SharePoint or a seasoned veteran, in this grab-bag session there will be treasures for you! ​
  • MDOPhttp://blogs.technet.com/b/lukeb/archive/2011/09/08/sharepoint-maxdop-1.aspxhttp://technet.microsoft.com/en-us/library/cc298801.aspx#Section6_3 (applies to 2013 as well)http://technet.microsoft.com/en-us/library/ee805948(office.15).aspxhttp://blogs.msdn.com/b/grahamk/archive/2009/06/15/troubleshooting-sql-server-deadlocks-and-performance-when-running-sharepoint.aspxhttp://technet.microsoft.com/en-us/library/ms189094.aspxhttp://technet.microsoft.com/en-us/library/ms188611.aspx
  • TCP/IP v Named Pipes
  • T-SQL Script
  • Discuss the challenges of RTM guidance: what was “guidance” and what was “support”?CONDITIONS APPLYContent databases of up to 4 TB are supported when the following requirements are met:Disk sub-system performance:0.25 IOPs per GB minimum2.00 IOPs per GB recommended for optimal performanceTTFB of 20msArchitecture and tools must support performance expectations, future capacity, backup, restore, high availability, disaster recoveryDiscussion: Does anyone have more than a terabyte of data in their farm? Does anyone have a database larger than 200GB? Are there any negative performance impacts? Does anyone have 2GB / 1GB / 500MB files stored in SharePoint? How do they perform? How fast is your SharePoint farm growing? If you haven’t deployed SharePoint, how do you know how much storage you’ll need?
  • Out of the box, RBS monitors for file uploads into SharePoint and checks the file size. If it’s over a certain configurable threshold, the upload will be split apart:The metadata goes to the databaseThe file goes to a file shareThe end user never knows the difference. All normal SharePoint features (site quotas, workflows, etc) still apply to the content.
  • ? Distributed Cache across farms
  • 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

    1. 1. 50 Shades of SharePoint:SharePoint 2013 Insanity DemystifiedDan HolmeMVP, SharePoint ServerMicrosoft Technologies Analyst & EvangelistIntelliem
    2. 2. Dan Holmedanholme http://tiny.cc/danholmepresentations dan.holme@intelliem.com
    3. 3. About This SessionAddress important, hot topicsThat might not get “air time” at the eventWhat is underdocumented, misdocumented, conflicting, confusing or downright strange?What about “on premise” SharePoint 2013?Provide clarity and balanceAnswer your questionsWhat do I need to know to be successful?What are the best practices, tips and tricks?What problems and mistakes can I avoid?
    4. 4. StorageSQL Server 2012Prerequisite Installer installs the SQL 2008 R2 SP1 Native Client on SharePoint servers – That’s OK!SQL Server 2008 R2 SP1There are differences!Business IntelligenceAccess Services
    5. 5. Max Degrees of ParallelismSQL resource utilizationCoresQueriesDefault is 0SharePoint 2010: Should be set to 1Is your SQL Server configured correctly now?SharePoint 2013: RequiredSharePoint Products Configuration Wizard (PSCONFIG / PSCONFIGUI) fails if MDOP is 0
    6. 6. Script max degrees of parallelismPowerShell scriptRun As Administrator. Set-ExecutionPolicy to allow local script (e.g. RemoteSigned).#### Set MDOP to 1Import-Module "sqlps" -DisableNameChecking$sql = "EXEC sys.sp_configure Nshow advanced options, N1 RECONFIGURE WITHOVERRIDEGOEXEC sys.sp_configure Nmax degree of parallelism, N1GORECONFIGURE WITH OVERRIDEGOEXEC sys.sp_configure Nshow advanced options, N0 RECONFIGURE WITH OVERRIDEGO" [-ServerInstance “SERVERinstance“]
    7. 7. SQL aliasSQL AliasSQLSERVER01.contoso.com = NYSQL05.contoso.com today = NYSQLCLUSTER.contoso.com tomorrow = NYSQLCLUSTER.newcompany.com next yearConfigure a SQL aliasCLICONFG.exe on each SharePoint server in the farmDo not “Fake it out” with a DNS recordKerberosConsider “tiers” of aliases to support SQL scalingContent Databases: SQLSPCONTENTSearch Databases: SQLSPSEARCHService Application Databases: SQLSPSERVICES
    8. 8. Content database sizingInitial sizeGrowth rateModel – Monitor – Measure – Modify
    9. 9. Content scaling support & guidanceContent Database200 GB (out-of-box)4 TB (collaboration)*Unlimited (archive)*Site Collection100 GB (out-of-box)Up to size of CDB*Items per CDB60 million*Conditions apply: Performance, DR, HA
    10. 10. BLOBs Upload Database User Web Server
    11. 11. RBS Metadata RBS Upload Database User Web Server Disk Storage
    12. 12. Advantages of BLOB externalizationStorage costPerformancePerformance of read or write of one file “<256 KB” “Small” files faster in SQL “>1 MB” “Large” files faster in BLOB store Tipping point varies based access pattern (read, read frequently, write) But all of this is artificial for most scenariosPerformance of the entire system in a real world workload “<80 KB” Externalizing all BLOBs or all but extremely small BLOBs boosts performance Microsoft white paper: 25% performance improvement My experience and AvePoint / Dell testing: significant improvementAccess to features of the underlying storageplatform
    13. 13. Should I externalize BLOBs?VariablesWorkloadStorage platformRBS providerManageability: how you manage the BLOB store (backup, HA, DR)Test it!But the odds are good that, storage performance equal,you will improve performance and reduce costFILESTREAMThird PartiesPerformanceBusiness rulesManageability
    14. 14. Shredded StorageOffice documentsClient sends updates  SharePoint  SQLSQL shreds the updated versionUpdate of document library metadata does not generate additional shredsNon-Office documentsClient sends full file  SharePoint  SQLGet shredded as wellUpdate of document library metadata might generate additional shreds
    15. 15. Shredded Storage RealityReduces I/O between web server and SQL serverFor Office document formatsReduces storage of Office document versionsAchieves something like “de-duplication” or “differential versioning” of document versionsUpdated document versions show reduced storage footprintUpdating document library metadata only (and not the document) does not generate new shredsDoes not reduce storage in other Office docscenariosSame document stored in more than one locationNon-Office document formats may not benefit at allTotal storage suggests that de-duplication is inefficient or ineffectiveUpdating document library metadata might generate additional shreds
    16. 16. Shredded Storage ConsiderationsShreds on new/modified document, not on upgradeCannot currently be turned offFileWriteChunkSize set large an option, but not yet supportedOverall system performance may be degraded
    17. 17. Shredded Storage + RBSReal-time RBS receives each shred as separateBLOBSharePoint 2010: entire file is one BLOBPerformance of RBS with small files is suboptimalShredding is document scopedShredding reduces storage footprint across versions of one documentDoes not reduce storage footprint of same document saved in more than one locationShredding is software basedSAN value-add: bit-level differencingStorage scopedHardware based
    18. 18. Storage Tentative GuidanceUse RBSAlmost certainly a “no brainer” for collaboration scenarios Reduced cost Increased performance Tiered storage managementConsider non-collaboration scenarios: RBS might not be a “no-brainer” Intranet: small pages, read-mostly, read-often Search: RBS will increase search crawl time. Configure additional crawlers as a solutionAcquire a third-party solution that manages storage: both RBS and backup/restore and archivingConsider disabling shredded storageUnless “double read penalty” is significant [unlikely]Set FileWriteChunkSize large [confirm support from MS]Use hardware (SAN) based de-duplication
    19. 19. ArchivingMove to different location, keep in SharePointUI: Send To Another LocationWorkflowPowerShellMove to different storage tier, keep in SharePointThird-party RBS toolsMove out of SharePoint entirelyPowerShellThird-Party Tools
    20. 20. Apps
    21. 21. What is a SharePoint App?An extension of SharePoint capabilities“Self-contained pieces of functionality that extend the capabilities of a SharePoint website” – MSDN (bit.ly/MFDnI9)with a UI surfaced in SharePointApp can appear full screen (immersive) or through an IFrameDeclarative changes to SharePoint UI to support the applicationwith code running elsewhereNo custom server-side code running on SharePointCan contain some declarative SharePoint artifactsthat uses CSOM or REST (OData) to interact withSharePointRemote event receiversinstalled by usersThrough the SharePoint Store or App Catalog
    22. 22. App models
    23. 23. App modelsModel Office 365 Permissions On-Prem PermissionsSharePoint HostedSandbox YES YESFull Trust NO YESCloud-HostedProvider Hosted YES OAuth via ACS YES High-Trust (S2S)• Developer hosts app• Could be in AzureAuto-Hosted YES OAuth via ACS NO• App can deploy website and SQL Azure db• Hosted in Office 365 Azure Cloud
    24. 24. Compare customization models Full trust WSP Sandboxed WSP AppsWhere does server-side code run? Farm (w3wp.exe) Farm (User Code Service) Anywhere but farmScalable Based on farm Limited HighlyWho installs and removes Farm admin Site collection admin UsersSupported in SP2013 Yes Yes YesSharePoint Online compatible No Yes YesAuto-hosting compatible No No YesRequires local farm for developers Yes Yes NoRemote deployment and No No Yesdebugging from Visual Studio
    25. 25. Challenges with WSP solutionsFull-trust solutionsPerformance and stability concernsIncompatible with SharePoint OnlineSandboxed solutionsClunky architecture, too limitingRequires administrative deployment and supportLifecycle managementUpgrade, decommissionSteep learning curveNot cloud readyScalabilityMulti-tenant aware
    26. 26. Benefits of the new app model • Familiar app concepts & components • Find apps in SharePoint Store or app catalog • Self-service provision, upgrade and delete Info Workers • Leverage existing knowledge & expertise • Manage application lifecycle independently of platform • Revenue potential of SharePoint Store Developers • Govern the visibility and availability of applications • Manage service independently of applications • Customizations pose virtually no risk to service IT Managers
    27. 27. MindsetApps for SharePoint are like apps for phonesUser drivenIndependent of the underlying platformOften, consuming or exposing external services and content
    28. 28. Functional ChallengesApps have to be completely self-containedApps can not depend on other AppsApps can not depend on custom farm solutionsUsers have to add apps to their sitesApps can not be added to web templatesApps can not be pushed using CSOMGovernance controlsCorporate app catalogSharePoint Store vs. App CatalogProvision vs. requestManagement challenges
    29. 29. App Webs Browse Add AppHost http://teamsite.wingtip.com/sites/apptest/_layouts/15/start.aspx#/SitePages/Home.asWeb pxApp Web http://app- fef8493a3feb20.wingtipapps.com/sites/apps/BambooWeather/Pages/Home.aspx
    30. 30. App DomainApps require their own App DomainEach App runs in its own sub domain of the App DomainSharePoint-hosted apps are deployed to a sub site that runs in a different domainApp URLs can not resolve to host-header webapplicationsCreate a non-host header web application on the same portUse Host Named Site Collections
    31. 31. Apps and InfrastructureDNSApp Domain: contosoapps.com Not a “sub-domain”, e.g. apps.contoso.comWildcard DNS entry to IP address of SharePoint web serverSharePoint web app & IIS site bound to IP address No host headerHost named site collectionsSSLWildcard SSL certificate
    32. 32. AuthenticationClaimsNow the default for new web applications: PowerShell used to create classic mode web appsRequired for new features like AppsImprovements to claimsRough edges with other components smoothed outMigration of web apps easier and (in the end) requiredKerberosWindows Claims still uses NTLM or Negotiate (Kerberos) authentication providersKerberos still recommended for securityKerberos still required for pass-through authenticationOAuth 2.0SAML claims limitations (ADFS 2.0)
    33. 33. Identity Management
    34. 34. ProfilesSharePoint is part of identity managementPoor Active Directory health is contagious Unskilled or unknowledgeable management External (outsourced) management of directory services Organic growth of domainsUser Profile service applicationIncreasingly important to have a UPA populated with core attributesMassive dependencies on profile dataNew user profile data optionsSynch (SP 2010 style)Import (SP 2007 style)User Profile Replication Engine (UPRE)
    35. 35. Network InfrastructureDistributed cacheNo longer necessary to configure session stickiness on load balancersRequest ManagementRoute requests based on rules and healthDNSApp Domain: contosoapps.com Not a “sub-domain”, e.g. apps.contoso.comWildcard DNS entry to IP address of SharePoint web server: *.contosoapps.com  (SP farm)SharePoint web app & IIS site bound to IP address ( No host header
    36. 36. Network SecuritySSLWildcard SSL certificate: *.contosoapps.comReverse Proxy (Forefront UAG)Get the real story
    37. 37. Geo-distributed performance Over-WAN performance Document collaboration Page reads Stretched farm Smart branding and optimization Todd Baginski’s article on sharepointpromag.com (2010) Leverage minimal download strategy (MDS) (2013) Content decisions Network acceleration: compression and caching Remote farms Remote processing: Office Web Apps, Remote Desktop Services SharePoint 2013: Better performance overall
    38. 38. Geo-distributed availability Stretched farm Smart branding and optimization Todd Baginski’s article on sharepointpromag.com Celina Baginski’s work with Planet Technologies Content decisions Network acceleration: compression and caching Remote farms Remote processing: Office Web Apps, Remote Desktop Services
    39. 39. Identify and root out bad practicesWide listsLarge queriesPoor indexing (list and library columns)Security gone wildUnderstand (and reign in) current environment before enabling 2013-style sharingAAMsMove to host-header site collections
    40. 40. Evaluate third-party toolsMigrationService and infrastructure management: on-prem, cloud, hybridStorage optimizationRecovery (granular, platform, and cloud)Reverse Proxy, URL Remapping: Forefront User Access GatewayAnti-malwareAdministration & automationCustomization & application lifecycle managementInformation lifecycle managementMobile device managementAutomatic classificationWorkflow
    41. 41. Shout OutsRandy Williams Matt McDermottJeremy Thake Eric ShuppsGary Lapointe Paul SwiderChris Givens Shane YoungAndrew Connell Todd KlindtSpence Harbar Wictor WilénJason Himmelstein Asif RehmaniTodd Baginski Rob BogueScot Hillier Agnes Molnar
    42. 42. MAHALO! (thank you!)http://tiny.cc/danholmepresentationshttp://bit.ly/danholmearticleshttp://bit.ly/danholmebooksA HUI HO! („til next time!)dan.holme@intelliem.com@danholme