This document contains the speaker bio and presentation for Noorez Khamis on the topic of SharePoint architecture best practices. The speaker is a SharePoint architect with over 14 years of experience designing and implementing SharePoint solutions. The presentation covers a wide range of architectural topics for SharePoint including hardware requirements, deployment models, scaling, security, services, and tools like PowerShell. It provides guidance on choosing the right approach for various scenarios.
3. Speaker Bio
• Noorez Khamis aka “Rez”
• SharePoint Architect
• Microsoft MVP
• About me:
• SharePoint Solutions Architect (currently at Toyota Canada)
• 14+ years in managing, leading, designing and implementing SharePoint business solutions
across a wide variety of verticals
• Involved in hundreds of projects spanning entire SharePoint spectrum including enterprise
scale document and records management systems
• Active blogger and involved in GTA SharePoint community
• MBA, MCTS, MCDBA, MCSD, MVP
twitter: @nkhamis blog: Rez’s SharePoint Blog Spot -
http://www.khamis.net
14. Looks like small changes at
first glance
Urlremainsintactwithrenameandmoveacrosssitecollections
15. Hardware Requirements
Memory Processor Disk
Single Server Foundation
(Integrated or Standalone
Database)
SP 2013: 8 GB
SP 2016: ?
SP 2013: x64 1x4 cores
SP 2016: ?
SP 2013: 80 GB (OS)
SP 2016: ?
Single Server
(Integrated or Standalone
Database)
*Development
Environment/Evaluation
SP 2013: 10 GB*, 24 GB
SP 2016: 16-24 GB
*Min services for Dev
SP 2013: x64 1x4 cores
SP 2016: x64 1x4 cores
SP 2013: 80 GB (OS)
SP 2016: 80 GB (OS)
Web / Application Servers
*Pilot, Production, Servers in
a Farm
SP 2013: 12 GB
SP 2016: 12 – 16 GB
SP 2013: x64 1x4 cores
SP 2016: x64 1x4 cores
SP 2013: 80 GB (OS)
SP 2013: 80 GB (OS)
Want a full list? Go to my blog post: http://www.khamis.net/Blog/Post/267/SharePoint-2013---Hardware-and-Software-Requirements-and-Prerequisites
16. Prerequisites
Windows Management Framework 3.0
Application Server Role
Web Server (IIS) Role
Microsoft .NET Framework 4.5.2
Update for the .NET Framework 4 (KB2898850)
Microsoft SQL Server 2012 Native Client
Microsoft Identity Extensions
Microsoft Sync Framework Runtime v1.0 SP1 (x64)
Windows Server AppFabric 1.1
Windows Identity Foundation v1.1
Microsoft Information Protection and Control Client
Microsoft WCF Data Services
Windows Management Framework 3.0
Microsoft .NET Framework 4.5.2
Update for the .NET Framework 4 (KB2898850)
Windows Server AppFabric 1.1
Microsoft Information Protection and Control Client
Microsoft WCF Data Services
64-bit edition of SQL Server 201x
64-bit edition of Microsoft SQL Server 2014
Service Pack 1
17. Deployment Requirements
SharePoint
2010
SharePoint
2013
SharePoint
2016
Workgroup Supported Unsupported Unsupported
Domain
Controller
Supported for SBS
Only for Developer
Installation
Only for Developer
Installation
Client OS Developer Installation Unsupported Unsupported
Dynamic
Memory in VMs
Unsupported Unsupported Unsupported
Windows Web
Server
Supported Unsupported Unsupported
Source: SPC 2012
18. Increased List
Threshold >5000
List Threshold
Content database
sizing into TB’s
Content
Database Size
MaxFile Size
increases to 10GB
and removed
character
restrictions
MaxFile Size
100,000 site
collections per
content database
Site Collections
per Content
Database
2x increase in
Search scale to 500
million items
Indexed Items
19. Upgrade 14.5 mode site collections to 15
mode
Attach SharePoint 2013 databases to
SharePoint 2016
Upgrade
Migrate content to SharePoint 2016
Migration
22. At the top of mind for any
SharePoint Architect
Why? Flexibility, Boundaries & Limitations
23. Boundaries and Limitations
More Info:
http://www.khamis.net/Blog/Post/260/S
harePoint-2010-vs--SharePoint-2013-
Boundaries-and-Limits-Comparison
Limit Name SharePoint 2010 Maximum
Value
SharePoint 2013 Maximum
Value
Web application limits
Web application Not Published 20 per farm
Content database 300 per Web application 500 per Web application
Zone 5 per Web application 5 per Web application
Managed path 20 per Web application 20 per Web application
Solution cache size 300 MB per Web application 300 MB per Web application
Site collection (sites and sub-sites) 250,000 per Web application 250,000 per Web application
Web server and application server
limits
Application pools 10 per Web server 10 per Web server
Content database limits
Number of content databases 300 per Web application 500 per farm
Content database size (general usage
scenarios)
200 GB per content database 200 GB per content database
Content database size (all usage
scenarios)
4 TB per content database 4 TB per content database
Content database size (document
archive scenario)
No explicit content database
limit
No explicit content database
limit
Content database items 60 million items including
documents and list items
60 million items including
documents and list items
Site collections per content database 2,000 recommended
5,000 maximum
5,000 recommended
10,000 maximum
30. App Model vs Traditional – Choose wisely
Farm Solutions
• Full trust solutions
• Access to file systems
• Classic model from 2007
• Deploy to the GAC
• Access to the 14 Hive
• DLL’s and .NET Managed Code
Sandbox Solutions
• Declarative elements
• Partially trusted code with limited API
support
• DLL’s and .NET Managed Code
• No access to server
Apps
• New Apps model
• Deployed from corporate catalog or
office market place
• Manage permission and licenses
specifically
• Preferred option
• No server code!
---------------- Solutions Model -------------------- ------ App Model ------
Provider
Hosted
Auto
Hosted
SharePoint
Hosted
X
32. Extensive CSOM and REST API Coverage
And more..BCS
AnalyticsWorkflow
eDiscoveryPublishing
TaxonomySocial
Sharing
Search
33. External Access for Extranet and Internet Sites
http://channel9.msdn.com/Events/SharePoint-Conference/2014/SPC333
Want more information? http://technet.microsoft.com/en-us/library/cc263513(v=office.14).aspx
36. Security concepts
• Use the principle of least privileges
• Minimum permissions that are required for users to complete authorized
tasks
• SQL/SharePoint/Other managed, app pool and service accounts, roles
• Concept also applies to privileges within your SharePoint webs as well
• Security Hardening
• Service applications enabled per server role, ports, web.config, SQL, SMTP,
Managed Accounts and auto password change
• Map your authorization and access to your Logical
Architecture
• Could just be a spreadsheet, define groups and accounts that have access to
which libraries and lists
Want more information? http://technet.microsoft.com/en-us/library/hh377941(v=office.15).aspx
46. Folders vs Metadata
Advantages of folders Disadvantages of folders
Segregation Harder to find specific items/more
clicks
Permissions URL length increased
Default metadata Hard to navigate through folder levels
Easily transitioning from file shares Folder metadata lacking
Scaling Can lose a document in wrong folder
Windows Explorer friendly No breadcrumb
Play nice with document sets Tricky to iterate through
Easier to migrate Filtering and sorting drawbacks
55. Thank you!
Toronto Enterprise Collaboration User Group
Change Management, Governance, SharePoint, Office 365, Yammer,
PowerBI, etc
http://www.meetup.com/TSPBUG/
Toronto SharePoint Business Users Group
http://www.meetup.com/TorontoSPUG/
Saturday July 9, 2016
See you next year!
Notes de l'éditeur
Questions that are not directly related will be discussed offline
Turn cellphones off
Q+A will be at the end
Large collections of Records require careful planning on numbers and locations of content databases, site collections, sites and document libraries in relation to the file plan
SharePoint now supports multiple index servers
Content index can now be divided into multiple index partitions.
Each index server can be configured to run multiple crawlers. Multiple crawlers can crawl content in parallel
Index servers are now stateless. The crawlers build the content index and propagate directly to the query servers.
multiple query servers benefits of redundancy and parallel performance can be made available
crawl management and property store data tables have been split into separate databases and multiple tables of this kind can be configured.
Remote Blob Storage:
As of SP2007 SP1, it was possible to take advantage of an External BLOB Storage (EBS) API to get the BLOBs out of SQL Server.
The method was not transactionally consistent and it results in a high number of orphaned BLOBs in the BLOB store because new BLOBs are stored (not replaced) when a document is updated.
New Remote Blob Storage features of SharePoint 2010 provide:
1. Transactional consistency: this ensures that when we get a BLOB ID back from the RBS provider, we are guaranteed storage. It also allows for traditional update capabilities.
2. Transactional consistency also allows Write Once Read Many (WORM) mode devices to "VETO" a delete or modify operation. If external vendors such as EMC choose to write an RBS provider for their devices, then the actual storage subsystem itself can prevent SharePoint from allowing a document to be deleted.
3. While orphan cleanup is much less of a concern with RBS it still needs to be managed. The good news is that because RBS is managed through SQL tables, RBS can take advantage of indexes to actually "query" the difference between what is in the BLOB store and what is in SharePoint content databases.
4. RBS is completely transparent to the SharePoint API. Nothing changes. So existing custom and 3rd Party code will continue to function as expected.
With binary data out of the content database, only metadata may be present causing a great reduction to the database size and improving scalability and performance.
App
Deployment and migration issues
Scale
Cost
Storage
Integration
Loss of control
Existing SharePoint architecture
2-3 year release cadence, Office 365 gets all the goodies first
http://technet.microsoft.com/en-us/library/ff621103(v=office.15).aspx
Bust the “I like to have SQL on a physical server” excuse
non-uniform memory access
for instances of SQL Server that host SharePoint databases to make sure that a single SQL Server process serves each request.
http://technet.microsoft.com/en-us/library/hh292622(v=office.15).aspx
disk-based cache that stores files , load quickly in the browser, and reduces the load on the database server when it uses those files. These files are known as binary large objects blobs
querying for items is linked with the user account that makes the query. Various parts of the publishing feature make queries for which the results are cached in the object cache
http://technet.microsoft.com/en-us/library/cc261797(v=office.15).aspx
http://technet.microsoft.com/en-us/library/jj219572.aspx caching