Microsoft SharePoint is a web-based platform that is being used by many companies to create and manage websites. It lets users store, organize, and share data from any device. To work properly with the platform, users should know the fundamental architecture of it. Knowing the core terminology helps in understanding the platform better and helps accomplish the tasks that they want. In this post, you will get a detailed overview of the SharePoint architecture. We will describe site collections and subsites in detail. Whether you are a manager, architect, or developer, this post will help you know the basics of how SharePoint architecture works. Let us dive deep into the details.
SharePoint is available on the web and also on-premises. The SharePoint architecture is based on a server farm. It is a collection of servers that work together. It can scale from a single server to hundreds of servers. It provides well-defined flat information architecture to share the content to the users. Understanding the user, approaches, and best practices, key roles, etc. should be known to provide a better user experience.
The information can be of anything like an image, video, gif, file, document, forms, social content, etc. The SharePoint architecture lays out a plan through which information is stored and organized for better accessibility. Developers can group related information like major projects, key initiatives, roles, business processes, important tasks, etc. The users can navigate through the sites within your architecture. It enables developers to structure sites in such a way that the right users find the right content.
SharePoint components are the building blocks of SharePoint information architecture. Let's take a look at the components that make the SharePoint architecture.
The SharePoint server is built on top of the Windows SharePoint Service (WSS), which in turn is built on Microsoft Windows Server 2003. The base language for SharePoint is Microsoft .NET 2.0 Framework. Altogether provide the following to SharePoint.
The SharePoint server stores all the configuration information, data, settings, permissions, customization, and content in the Microsoft SQL Server. If a database is not specified during the SharePoint installation on a local machine, then a version of SQL Server Express will get installed. It implements Structured Query Language (SQL) that is designed to handle data in a SharePoint farm.
To add additional features to SharePoint, Microsoft has included Windows SharePoint services. It provides the following capabilities to SharePoint.
Shared services add certain features to SharePoint that will enable the developers to use them in multiple applications. For instance, let's say you have several portals in your organization that the employees' access to. Instead of maintaining several employee profiles databases, you can create one with the help of the user profile feature and share it among the other portals. Shared services offer the following capabilities,
The following are the fundamental concepts and core terminology of SharePoint architecture.
Lists hold documents, files, or rows and columns of data. Lists on SharePoint are represented by web parts. It is similar to a table in a database or an Excel worksheet.
Everything in SharePoint is represented as a site like data repository, visual elements, administration, etc. A site consists of web pages, lists, and web parts.
A web application is built with Internet Information Services (IIS) site with a unique application pool. An application that works with its user interface on the web is referred to as a web application. It can be deployed locally or on the cloud to provide access to users.
A collection of a top-level site with its subsites in a hierarchy down to the leaf site(s) is called a site collection. Each top-level site can contain one or more child sites (subsites). A web application can consist of several site collections. It makes the administration easier with settings at the site collection level. The sites that are present in a site collection have common features like content types, web parts, shared permissions, galleries for templates, etc. All the information on a site in a site collection is stored together in the same SQL database.
A template is a collection of lists, web part pages, and web parts. It defines the look and behavior of each site in SharePoint. It acts as the starting point for a site. It helps developers to quickly create sites. Developers can also create custom templates to include custom branding and functionality.
Shared Service Provider (SSP)
SharePoint provides a site with shared services through the Shared Service Provider. A developer might want to configure some services in one way and other services in a different way. So, one or more SSPs can be configured to a server farm. Although, it is always recommended to use a single shared services provider unless you are using different authentication providers.
A SharePoint farm is a collective working of SharePoint servers and services. If your company is small, then you can set up a SharePoint farm with 1 to 3 servers. If your company is large, you can install multiple servers for each role.
A SharePoint farm can be divided into subsets and deployed individually for clients. Each subset can be referred to as a tenant. A client will be able to manage their tenancy.
The servers in SharePoint have the following roles.
They handle user web page requests. When a user opens a SharePoint page in a browser, the WFE server processes it and returns the web page to the user. If there are multiple WFE servers, a network load balancer is used to distribute the load.
They provide infrastructure and services for the applications hosted in a SharePoint farm. It includes indexing, search, Excel calculations, PowerPoint, Visio, project server, and many more features. The service applications hosted in an application server can be distributed among servers in a server farm to manage the load.
The database servers host databases of a SharePoint farm. They store all the information related to sites and site collections in a SQL database. The SharePoint-specific software is not installed on this server.
To deploy SharePoint locally, you should be aware of the network topology, i.e., how many servers that you want to deploy in your SharePoint farm, roles of the servers, etc.
In a single-server deployment, all the 3 roles of SharePoint will be hosted on a single machine. So, the SSP, content, sites, database, everything will be present on a single machine. It is good for small scale deployments. However, there will be major issues like scalability and availability.
In a two-server deployment, one machine hosts the WFE and the application server. The other machine hosts the database server. Developers can manage their database server separately. Scalability and availability will still be issues in this kind of deployment.
In a three server deployment, two machines host the WFE and the application server. The other machine hosts the database server. The SharePoint farm will be able to serve more requests and has scalability and availability. But the downside for this kind of deployment is the single point of failure for the SQL machine.
In an N-server deployment, developers can keep adding servers to each of the tiers or roles in the SharePoint architecture. A load balancer should also be used to balance the load on servers. There will be no single points of failure for any servers. This kind of deployment provides high availability and can scale as much as the organization can. If your organization is very huge, you can deploy SharePoint with 20 servers or more.
Nested architecture - A hierarchical system of site collections and subsites. The subsites inherit the navigation, permissions, and site designs of the top-level site.
Flat architecture - It consists of one site each for a discrete topic or a unit of work. Each site acts as its own site collection. A site can be associated with a hub site.
SharePoint is originally built in nested architecture. As more people started migrating to SharePoint Online, the structure became inflexible and difficult to maintain. So, Microsoft has come up with a new flat architecture for SharePoint to provide a modern experience. In the modern flat architecture, all the sites are treated as top-level with no subsites. It allows developers to easily distribute the management and accountability of each site. It will be easy to move sites around the navigation architecture. The sites and content can be connected by using inline hyperlinks, explicit links, hubs, etc.
Here are some of the advantages of flat site architecture.
In this post, we have discussed in detail about the SharePoint information architecture. You also got to know about the type of deployments as well. So based on your organization size, pick a deployment option that suits your business. Microsoft manages SharePoint farms on the cloud and provides tenants to the customers. So if you do not plan to deploy a SharePoint architecture on-premises, go with the SharePoint Online.