Here’s a key thing to remember when you’re designing the SharePoint applications (Extranet/Intranet) end-user perceived performance matters, and SharePoint’s performance has come a long way, particularly with the new 2013 release. The new release boasts:

• A content-first focus with active download management
• Smooth page transitions with animations and a better download strategy
• Richer and more interactive browser experiences

 

SharePoint deployments have also shown:

• 50% faster server response
• 4 X faster profile sync
• 10 X faster w/ Active Directory import
• 40% more efficient use of bandwidth
• 80% less file I/O related SQL IOPS
• More scalable SharePoint farms

 

SharePoint farms also scale more than ever, but with logical system limitations:

• 750K sites in a farm (500K My Sites + 250 K sites.) from 250K
• 10K sites in a content DB (7.5 K MySites + 2.5 sites) from 5,000
• 500 content DBs in a farm from 300

 

The system also features designing for better SLA, with scale out and scale up independently with respective latency and throughput and routing & caching, front-end, batch processing and database layers.

 

Typical Topology:

• <100 users: 1 server: Very light and simple workload
• <1000 users: 1-n front end and data base servers (simple workload, small content, fault tolerance)
• <10 K users: 1-n front end, batch, query, crawl and data base servers (more workloads, more resources, <10M items)
• More and more users: All the above + 1-n Routing & Caching servers (more workloads, large content, multiple index partitions, Advanced Routing)

 

Once you get familiar with the SharePoint platform improvements and limitations in the new 2013 version, you can plan a large-scale document repository with high availability. Here are the steps to follow:

 

1.      SharePoint 2013 Scale Divisional Benchmark:

 

If you’re very new to designing SharePoint farms, following the divisional benchmark will help you in your server farm architecture:

 

Divisional Benchmark

 

2.      End User Security Recommendations:

 

Once you design a SharePoint farm (as referenced in the above benchmark), you need to look at how to plan for end-user security for the document repository. It can quickly get out of control if you don’t define a process or a method for how you are going to allow pre-defined users permissions for all of the documents (including item-level permissions).

 

End User Security Recommendations – Inheritance: Wherever possible, use the inheritance. For example, roles assignments are inherited by child objects – Subsite, list, library, folder, item or document.

 

Inheritence

 

End User Security Recommendations – Fine-grained Permissions: For requirements where you will not be able to use the inheritance, you can break inheritance and assign explicit permissions with dynamic security changing code redesign. Our recommendation? Modify scope architecture so that scope membership does not cause ACL recalculation at the parent document library and web. One note this is only possible with custom code.

 

Fine grained permission

 

3.      Production Farm Disaster Recovery Architecture:

 

You have to plan for the worst. Here are your options for disaster recovery:

 

Recovery Architecture

 

You have to plan for the worst. Here are your options for disaster recovery:

 

Hot Standby: A second data center that can provide availability within seconds or minutes.

• Pros: Relatively fast to recover
• Cons: Can be quite expensive to configure and maintain

 

Warm Standby: A second data center that can provide availability within minutes or hours

• Pros: Relatively inexpensive to recover, since a virtual server farm can require little configuration upon recovery
• Cons: Can be very expensive and time-consuming to maintain

 

Cold Standby: A second data center that can provide availability within hours or days

• Pros: Often the cheapest option to maintain, operationally.
• Cons: A very slow option to recover. It can be expensive, too; it requires that virtual servers be configured correctly after a disaster has occurred. The slowest option to recover

 

4. High availability (HA) with RBS:

 

The SharePoint server stores all its data in the database. As increasing amounts of content are stored, the size of the database can grow very rapidly; this growth is caused by the new content uploaded into the server, as well as revisions to existing content when SharePoint versioning is enabled. These processes can result in exponential growth in the size of the content. As the database grows, it becomes increasingly difficult to manage the system and ensure the best performance.

 

If you use RBS, your application can store large amounts of unstructured data like rich-media videos or audio files so you can leverage the best of the rational capabilities of the SQL server and the scalability of a Windows file system BLOB store. Additionally, the RBS feature offers several other advantages related to storage costs, maintainability, performance and flexibility.

 

Using RBS, your application can store large amounts of unstructured data such as rich-media videos or audio files, leveraging the best of both the relational capabilities of SQL Server and the scalability of a Windows file system BLOB store.

 

In addition to this main advantage, the RBS feature offers numerous other advantages related to storage costs, maintainability, performance, and flexibility:

• Smaller database sizes, resulting in optimal use of expensive database server resources like processors, memory and disks
• Smaller database backup files
• Faster backup and restore times
• Faster database maintenance operations like defragmentation and index rebuild
• Better overall performance, especially for storing and accessing large objects.

 

Take a look at the sample test results of RBS on SQL Server Database Size:

 

RBS Test Results

 

In Summary: These key architectural points need to be taken into account when you design a farm with large document repositories with fine-grained (item-level) permissions:

• How do you scale out and up independently to support SLA’s with needed latency and throughput?
• What are the SharePoint platform limitations?
• Which benchmark result do you refer to?
• How do you plan for end user security? Through self-service or controlled fashion?
• How do you plan database storage? Remote BLOB storage?

 

Chandra G
Chandra G
Technical Architect