52
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified Dan Holme MVP, SharePoint Server Microsoft Technologies Analyst & Evangelist Intelliem

50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Embed Size (px)

DESCRIPTION

More info on http://techdays.be.

Citation preview

Page 1: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

50 Shades of SharePoint:SharePoint 2013 Insanity Demystified

Dan HolmeMVP, SharePoint ServerMicrosoft Technologies Analyst & EvangelistIntelliem

Page 2: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

CONSULTANTMVP

Dan Holme

INTELLIEM AUTHORMAUI, HAWAIIAvePoint

danholme http://tiny.cc/[email protected]

Page 3: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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?

Page 4: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

SQL

Page 5: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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

Page 6: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Max Degrees of ParallelismSQL resource utilizationCoresQueries

Default 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

Page 7: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 N'show advanced options', N'1'  RECONFIGURE WITH OVERRIDEGOEXEC sys.sp_configure N'max degree of parallelism', N'1'GORECONFIGURE WITH OVERRIDEGOEXEC sys.sp_configure N'show advanced options', N'0'  RECONFIGURE WITH OVERRIDEGO"Invoke-Sqlcmd –Query $sql [-ServerInstance “SERVER\instance“]

Page 8: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

SQL aliasSQL AliasSQLSERVER01.contoso.com = NYSQL05.contoso.com today

= NYSQLCLUSTER.contoso.com tomorrow= NYSQLCLUSTER.newcompany.com next year

Configure a SQL aliasCLICONFG.exe on each SharePoint server in the farm

Do not “Fake it out” with a DNS recordKerberos

Consider “tiers” of aliases to support SQL scalingContent Databases: SQLSPCONTENTSearch Databases: SQLSPSEARCHService Application Databases: SQLSPSERVICES

All point to single SQL instance today…

Page 9: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Content database sizingInitial sizeGrowth rate

Model – Monitor – Measure – Modify

Page 10: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Content scaling support & guidanceContent Database200 GB (out-of-box)4 TB (collaboration)*Unlimited (archive)*

Site Collection 100 GB (out-of-box)Up to size of CDB*

Items per CDB60 million

*Conditions apply: Performance, DR, HA

Page 11: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

BLOBs

Page 12: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

BLOBs

Web Server

User

Upload Database

BLOB

Page 13: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

RBS

Web Server

User

UploadM

eta

da

ta

Disk Storage

DatabaseMetadata

File

RB

S

BLOB

Page 14: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Advantages of BLOB externalizationStorage costPerformancePerformance of read or write of one file

“Small” files faster in SQL“Large” files faster in BLOB storeTipping point varies based access pattern (read, read frequently, write)But all of this is artificial for most scenarios

Performance of the entire system in a real world workloadExternalizing all BLOBs or all but extremely small BLOBs boosts performance

Microsoft white paper: 25% performance improvementMy experience and AvePoint / Dell testing: significant improvement

Access to features of the underlying storage platformBusiness rules to create hierarchical / tiered storage

“<256 KB”“>1 MB”

“<80 KB”

Page 15: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 cost

FILESTREAMThird PartiesPerformanceBusiness rulesManageability

Page 16: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Shredded Storage

Page 17: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Shredded StorageOffice documentsClient sends updates SharePoint SQLSQL shreds the updated versionUpdate of document library metadata does not generate additional shreds

Non-Office documentsClient sends full file SharePoint SQLGet shredded as wellUpdate of document library metadata might generate additional shreds

Page 18: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Shredded Storage RealityReduces I/O between web server and SQL serverFor Office document formats

Reduces 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 shreds

Does not reduce storage in other Office doc scenariosSame document stored in more than one location

Non-Office document formats may not benefit at allTotal storage suggests that de-duplication is inefficient or ineffectiveUpdating document library metadata might generate additional shreds

Page 19: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Shredded Storage ConsiderationsShreds on new/modified document, not on upgradeCannot currently be turned offFileWriteChunkSize set large an option, but not yet supported

Overall system performance may be degraded

Page 20: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Shredded Storage + RBSReal-time RBS receives each shred as separate BLOBSharePoint 2010: entire file is one BLOB

Performance 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 location

Shredding is software basedSAN value-add: bit-level differencingStorage scopedHardware based

Page 21: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Storage Tentative GuidanceUse RBSAlmost certainly a “no brainer” for collaboration scenarios

Reduced costIncreased performanceTiered storage management

Consider non-collaboration scenarios: RBS might not be a “no-brainer”Intranet: small pages, read-mostly, read-oftenSearch: RBS will increase search crawl time. Configure additional crawlers as a solution

Acquire a third-party solution that manages storage: both RBS and backup/restore and archiving

Consider disabling shredded storage Unless “double read penalty” is significant [unlikely]Set FileWriteChunkSize large [confirm support from MS]

Use hardware (SAN) based de-duplication

Page 22: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

ArchivingMove to different location, keep in SharePointUI: Send To Another LocationWorkflowPowerShell

Move to different storage tier, keep in SharePointThird-party RBS tools

Move out of SharePoint entirelyPowerShellThird-Party Tools

Page 23: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Apps

Page 24: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Apps

Apps

App catalog and store

Vacation request

Event planning

Expense calculator

Learning management

Risk management

Help-desksupport

Products and platforms

Services and data

Page 25: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 application

with code running elsewhereNo custom server-side code running on SharePointCan contain some declarative SharePoint artifacts

that uses CSOM or REST (OData) to interact with SharePointRemote event receivers

installed by users Through the SharePoint Store or App Catalog

Page 26: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

App models

Page 27: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

App modelsModel Office 365 Permissions On-Prem Permissions

SharePoint Hosted

Sandbox YES YES

Full Trust NO YES

Cloud-Hosted

Provider Hosted• Developer

hosts app• Could be in

Azure

YES OAuth via ACS YES High-Trust (S2S)

Auto-Hosted• App can deploy

website and SQL Azure db

• Hosted in Office 365 Azure Cloud

YES OAuth via ACS NO

Page 28: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Compare customization models

Full trust WSP Sandboxed WSP Apps

Where does server-side code run? Farm (w3wp.exe) Farm (User Code

Service) Anywhere but farm

Scalable Based on farm Limited Highly

Who installs and removes Farm admin Site collection admin Users

Supported in SP2013 Yes Yes Yes

SharePoint Online compatible No Yes Yes

Auto-hosting compatible No No Yes

Requires local farm for developers Yes Yes No

Remote deployment and debugging from Visual Studio No No Yes

Page 29: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Why do we need a new app model?

Page 30: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Challenges with WSP solutionsFull-trust solutionsPerformance and stability concernsIncompatible with SharePoint Online

Sandboxed solutionsClunky architecture, too limiting

Requires administrative deployment and supportLifecycle management Upgrade, decommission

Steep learning curveNot cloud readyScalabilityMulti-tenant aware

Page 31: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Benefits of the new app model

• Leverage existing knowledge & expertise• Manage application lifecycle independently of

platform• Revenue potential of SharePoint Store

Developers

IT Managers

• Govern the visibility and availability of applications

• Manage service independently of applications• Customizations pose virtually no risk to service

Info Workers

• Familiar app concepts & components• Find apps in SharePoint Store or app catalog• Self-service provision, upgrade and delete

Page 32: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

MindsetApps for SharePoint are like apps for phonesUser drivenIndependent of the underlying platformOften, consuming or exposing external services and content

Page 33: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

What should I know?

Page 34: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Functional ChallengesApps have to be completely self-containedApps can not depend on other AppsApps can not depend on custom farm solutions

Users have to add apps to their sitesApps can not be added to web templatesApps can not be pushed using CSOM

Governance controlsCorporate app catalogSharePoint Store vs. App CatalogProvision vs. request

Management challenges

Page 35: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

App Webs

Browse

http://teamsite.wingtip.com/sites/apptest/_layouts/15/start.aspx#/SitePages/Home.aspx

Host Web

http://app-fef8493a3feb20.wingtipapps.com/sites/apps/BambooWeather/Pages/Home.aspx

App Web

Add App

Page 36: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 domain

App URLs can not resolve to host-header web applicationsCreate a non-host header web application on the same portUse Host Named Site Collections

Page 37: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 collections

SSLWildcard SSL certificate

Page 38: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Authentication

Page 39: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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) required

KerberosWindows Claims still uses NTLM or Negotiate (Kerberos) authentication providersKerberos still recommended for securityKerberos still required for pass-through authentication

OAuth 2.0SAML claims limitations (ADFS 2.0)

Page 40: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Identity Management

Page 41: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

ProfilesSharePoint is part of identity managementPoor Active Directory health is contagious

Unskilled or unknowledgeable managementExternal (outsourced) management of directory servicesOrganic growth of domains

User Profile service applicationIncreasingly important to have a UPA populated with core attributesMassive dependencies on profile data

New user profile data optionsSynch (SP 2010 style)Import (SP 2007 style)

User Profile Replication Engine (UPRE)

Page 42: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Network

Page 43: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Network InfrastructureDistributed cacheNo longer necessary to configure session stickiness on load balancers

Request ManagementRoute requests based on rules and health

DNSApp Domain: contosoapps.com

Not a “sub-domain”, e.g. apps.contoso.comWildcard DNS entry to IP address of SharePoint web server: *.contosoapps.com 10.0.0.51 (SP farm)SharePoint web app & IIS site bound to IP address (10.0.0.51)

No host header

Page 44: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Network SecuritySSLWildcard SSL certificate: *.contosoapps.com

Reverse Proxy (Forefront UAG)Get the real story

Page 45: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Over the WAN-Bow

Page 46: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Geo-distributed performanceOver-WAN performanceDocument collaborationPage reads

Stretched farmSmart branding and optimization

Todd Baginski’s article on sharepointpromag.com (2010)Leverage minimal download strategy (MDS) (2013)

Content decisionsNetwork acceleration: compression and cachingRemote farmsRemote processing: Office Web Apps, Remote Desktop ServicesSharePoint 2013: Better performance overall

Page 47: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Geo-distributed availabilityStretched farmSmart branding and optimization

Todd Baginski’s article on sharepointpromag.comCelina Baginski’s work with Planet Technologies

Content decisionsNetwork acceleration: compression and cachingRemote farmsRemote processing: Office Web Apps, Remote Desktop Services

Page 48: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Other Considerations

Page 49: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 sharing

AAMsMove to host-header site collections

Page 50: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

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 & automation

Customization & application lifecycle managementInformation lifecycle managementMobile device managementAutomatic classificationWorkflow

Page 51: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

Shout OutsRandy WilliamsJeremy ThakeGary LapointeChris GivensAndrew ConnellSpence HarbarJason HimmelsteinTodd BaginskiScot Hillier

Matt McDermottEric ShuppsPaul SwiderShane YoungTodd KlindtWictor WilénAsif RehmaniRob BogueAgnes Molnar

Page 52: 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified

MAHALO! (thank you!)http://tiny.cc/danholmepresentationshttp://bit.ly/danholmearticleshttp://bit.ly/danholmebooks

A HUI HO! (‘til next time!)[email protected]@danholme