Supersymmetry Demystified: A Self-Teaching Guide (Demystified Series)
50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
-
Upload
microsoft-technet-belgium-and-luxembourg -
Category
Technology
-
view
3.526 -
download
1
description
Transcript of 50 Shades of SharePoint: SharePoint 2013 Insanity Demystified
50 Shades of SharePoint:SharePoint 2013 Insanity Demystified
Dan HolmeMVP, SharePoint ServerMicrosoft Technologies Analyst & EvangelistIntelliem
CONSULTANTMVP
Dan Holme
INTELLIEM AUTHORMAUI, HAWAIIAvePoint
danholme http://tiny.cc/[email protected]
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?
SQL
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
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
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“]
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…
Content database sizingInitial sizeGrowth rate
Model – Monitor – Measure – Modify
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
BLOBs
BLOBs
Web Server
User
Upload Database
BLOB
RBS
Web Server
User
UploadM
eta
da
ta
Disk Storage
DatabaseMetadata
File
RB
S
BLOB
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”
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
Shredded Storage
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
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
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
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
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
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
Apps
Apps
Apps
App catalog and store
Vacation request
Event planning
Expense calculator
Learning management
Risk management
Help-desksupport
Products and platforms
Services and data
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
App models
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
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
Why do we need a new app model?
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
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
MindsetApps for SharePoint are like apps for phonesUser drivenIndependent of the underlying platformOften, consuming or exposing external services and content
What should I know?
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
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
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
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
Authentication
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)
Identity Management
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)
Network
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
Network SecuritySSLWildcard SSL certificate: *.contosoapps.com
Reverse Proxy (Forefront UAG)Get the real story
Over the WAN-Bow
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
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
Other Considerations
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
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
Shout OutsRandy WilliamsJeremy ThakeGary LapointeChris GivensAndrew ConnellSpence HarbarJason HimmelsteinTodd BaginskiScot Hillier
Matt McDermottEric ShuppsPaul SwiderShane YoungTodd KlindtWictor WilénAsif RehmaniRob BogueAgnes Molnar
MAHALO! (thank you!)http://tiny.cc/danholmepresentationshttp://bit.ly/danholmearticleshttp://bit.ly/danholmebooks
A HUI HO! (‘til next time!)[email protected]@danholme