Optimal Sharepoint Architecture For Large Enterprises

Core Components of a SharePoint Farm

A SharePoint farm refers to the group of servers and services that make up a SharePoint deployment. The core components of a farm include:

Web Front-Ends

The web front-end servers host the components that render the SharePoint site pages. This includes Internet Information Services (IIS), the ASP.NET runtime, and the SharePoint rendering and workflow engines. Web front-ends also manage user authentication. Load balancers distribute requests across multiple front-end servers.

Application Servers

Application servers host the backend SharePoint services including the search indexer, Excel and Access services, machine translation service and workflow manager. Hosting these resource intensive services on dedicated servers prevents resource exhaustion on front-end servers.

Database Servers

Database servers host the SQL Server databases required by SharePoint, including the content databases that store site content and metadata, configuration databases, search index, workflow instances and service application databases. Enterprises typically deploy high-performance and highly-available SQL Server clusters to support SharePoint.

Caching and Search Servers

Dedicated caching servers running Redis or Windows Server AppFabric speed up performance by caching frequently accessed content. Dedicated search servers running the SharePoint search service provide high-performance search capabilities by storing and indexing content spread across multiple SharePoint sites and content databases.

Sizing Considerations for Large Enterprises

Properly sizing a SharePoint deployment is crucial to provide adequate performance and capacity for an enterprise’s needs. Key considerations include:

Number of Concurrent Users

Understanding the expected usage patterns and the number of concurrent intranet users across peak and average usage times is important to size web and application servers appropriately. Usage should be profiled for both internal employees as well as external users.

Amount of Content

The volume of content that will be stored across all SharePoint sites and the projected content growth rate indicates SQL Server database storage and I/O resource needs. Starting small and scaling up is easier than downsizing overloaded servers later.

Performance Requirements

User experience benchmarks like page response times, list throttling limits, search performance and timeouts establish performance targets that size CPU, memory, storage, and network bandwidth for the SharePoint servers.

High Availability Needs

Downtime tolerance policies dictate SharePoint architecture choices for redundancy – like database mirroring, failover clustering, redundant power supplies, backups and disaster recovery systems. Meeting defined recovery time (RTO) and recovery point objectives (RPO) for mission critical deployments necessitates increased spending.

Recommended Architectural Patterns

Choosing the right SharePoint architectural pattern is key for performance, scalability and reliability. Best practices for large enterprises include:

Multiple Web Front-End Farms

Large user bases are split across geographically distributed front-end farms located closer to sets of users. This reduces latency while web farms scale out to handle increasing load. Farms connect to common application and database back-ends.

Dedicated Service Application Servers

Resource intensive service applications like search, business connectivity services and machine translation run on dedicated application servers provisioned for high memory, CPU and I/O as per service needs. Workloads are split by service for independent scaling.

SQL Clustering and Mirroring

SQL enterprise editions enable clustering for load balancing reads across multiple active database node instances and synchronous mirroring maintains redundant copies for high availability. SQL AlwaysOn availability groups further improve database-level redundancy and failover.

Distributed Caching

Multiple distributed caching servers provide in-memory object caching to minimize database hits. This improves performance while eliminating single point of failure through built-in data redundancy across cache cluster nodes.

Example Code for Setting Up a Load Balanced Web Farm

{PowerShell commands for adding servers to load balanced web farm}

Managing Complexity Through Governance

A well-defined governance model is necessary to manage large SharePoint deployments:

Content Architecture

An organized content architecture with defined site templates, content types, managed metadata term sets, retention policies and workflows improves usability and findability of content while enabling automation.

Permission Model

A structured permissions model providing minimum required access and split permission levels reduces administrative overhead. Automated security scanning checks for policy violations.

Automating Processes

Automated site provisioning, workflow approvals, policy enforcement, backups and content expiration reduces manual processes through scripting, policies and timed jobs for cost and effort optimization.

Monitoring Health and Usage

Monitoring resource utilization trends coupled with usage metrics provides data driving improvements and identifies potential issues:

Built-in Usage Reporting

SharePoint usage reporting tools provide reports on usage metrics like unique visitors, page views and search query results. Usage logs are mined for usage patterns driving optimization decisions.

Third Party Monitoring Tools

Robust third party tools monitor key server performance metrics like memory, I/O, network and CPU usage for all servers and services – enabling early issue identification through threshold based alerts before problems surface.

Leave a Reply

Your email address will not be published. Required fields are marked *