Architecture
SharePoint Community Wiki
SharePoint implementation involves a variety of complex tasks – from architecture design, infrastructure layout, planning, strategy, UI design, migration, and upgrades, to development. Among all these tasks, baseline architecture design is critical for a reliable, secure, scalable and dependable SharePoint environment. Some of the key architecture building blocks that fit together into a SharePoint architecture unique to each organization’s needs are:
- Logical architecture components – server farms, service applications, application pools, web applications, zones, content databases, site collections, sites, and My sites.
- Service applications architecture – key service applications provided by SharePoint are business data connectivity service, Excel services application, managed metadata service, search service, and user profile service. Based on how the services are deployed in the server farm, the service applications can be classified as single farm services, cross farm services, and enterprise services farm.
- Storage architecture – core components of the SharePoint storage architecture are the databases that are created when the SharePoint is deployed. These are as configuration database, central administration content, content databases, and service applications databases. Binary large objects (BLOBs) are unstructured binary data streams. SharePoint supports two advanced BLOBs storage solutions. These are external BLOB storage and remote BLOB storage solutions.
- Security architecture – authentication modes supported by SharePoint 2010 are classic-mode authentication and claims-based. The authentication provider is a software component that facilitates one of the two authentication modes. Popular authentication providers are Windows based, form-based and Security Assertion Markup Language token-based.
- Network architecture – core network elements of the SharePoint server farm are data center, central site, regional site, local user, and regional user.
SharePoint Scalability and AvailabilityAny SharePoint architecture design should be able to adjust, grow, and scale out to fulfill the requirements of a growing organization. It should also provide the ability to scale SharePoint components to meet the organization’s unique conditions. Moreover, each individual user should have quick access to the SharePoint content and applications. The SharePoint scalability models are:
- Scaling up – scaling to a more powerful and bigger server by adding more processors and memory. It has advantages of handling heavier load without requiring significant changes to the server at a lower cost. However, it is single point of failure.
- Scale out – expanding the server to handle heavier load. It provides high availability in the server farm with better performance and more flexibility. However, scaling out is harder to manage and it is more expensive than scaling up.
The SharePoint architecture design should also consider high availability for the system. High availability provides hardware or software failover and minimizes user downtime by maintaining applications availability in case of hardware or software failures. Moreover, high availability ensures uninterrupted SharePoint operations for an organization in situations like catastrophic failures or natural disasters. SharePoint provides high availability solutions by allowing redundancy of server roles within a server farm and redundancy of server farms, also known as stretched farms.
- Availability within a server farm – involves running network load balanced multiple front-end web servers, multiple application servers, and clustered and/or mirrored databases.
- Availability across server farms – involves closely located multiple server farms with high-bandwidth connections.