SharePoint Server is deployed in a topology or layout called a farm. A farm is made up of one or more servers with specific roles or tasks assigned to them. Each of these roles performs different functions in the farm, and they work together to deliver a complete solution.
SharePoint Server deployments traditionally require architects and administrators to plan out the servers and services that are necessary. These architecture services typically include components for searching and indexing the database, the cache, and the application server roles.
While that fine-grained detail and control is still available, Microsoft has also developed a new deployment approach called MinRole. MinRole's design purpose is to optimize your system's resources and maximize performance while providing the best end user experience. To do this, administrators...
Selecting and configuring a farm topology
A SharePoint farm topology is used to describe the type or function of a particular SharePoint farm. When creating a SharePoint farm, roles are used to determine the functions of servers operating in a farm. There are eight server roles (seven predefined roles and one custom role), which are split across three categories:
- Dedicated roles
- Shared roles
- Special roles
These roles are used when deploying a chosen farm topology, as shown:
We'll look at those role categories and topologies next.
Dedicated roles
Dedicated roles are typically used in large-scale farms, but can also be used with smaller deployments or be added to servers that are configured for shared roles. The dedicated role layouts have been optimized for performance and scalability. The dedicated roles and descriptions are listed in the following table:
Server Role |
Description |
Notes |
Front-end |
This performance-optimized role is designed to host service applications... |
Designing for high availability
When designing any system for high availability, a number of questions/concerns are typically addressed, such as the following:
- What types of failures should a system be able to sustain?
- How many failures should a system be able to sustain?
- What steps (manual or automatic) need to be executed to ensure availability?
- What systems or processes can we put in place to avoid interruptions in the first place?
These types of questions speak to the concept of dependability. A dependable system is one that is available to service a request and is able to continue serving requests despite failures of the component architecture (such as a server or network device) or supporting services (such as electricity). Dependability has six core attributes:
- Availability: Measures the system's readiness to accept and respond to new requests for service
- Reliability: Measures how a system can continue to operate after an unexpected event
- Safety: Measures a system&apos...
Planning for disaster recovery
Disaster recovery is the set of measures you undertake when your deployment has undergone a significant failure that exceeds the capabilities of your fault tolerance. Some example scenarios that might require disaster recovery efforts include the following:
- Storage failures: For example, if your storage environment has two redundant disk controllers and both of them fail before you can return the system to full capacity, or more than one disk fails simultaneously in a RAID-5 disk volume.
- Virtual machine host failures: If your environment comprises virtual machines and the underlying virtual machine hypervisors fail in a way that prohibits the virtual machines supporting your environment from powering up.
- Software updates: This could apply to operating system updates, application platform updates, driver updates, or other application updates that render the system unusable.
- Database failure: Since the majority of SharePoint Server's services rely...
Planning and configuring backup and restore options
Backups are an important part of designing and maintaining a SharePoint Server environment. The ability to backup and recover data is integral to many business processes, such as the following instances:
- Recovering or restoring accidentally or maliciously deleted content
- Platform or service upgrades
- Migrating between infrastructure solutions
- Recovering from failed upgrades
- Recovering from unexpected system failures or disasters
Natively, SharePoint Server supports the following backup designs:
- Farm
- Granular
- Configuration only
Let's examine these backup designs in more detail.
Farm
In a farm backup scenario, you'll be targeting backing up major components of the farm. The farm backup architecture is initiated from Central Administration and launches a SQL Server backup of content and service application databases. It also saves configuration content to files and backs up the Search index data.
A SharePoint farm backup supports...
Planning for IRM
IRM is the set of policies and protections used to govern the actions that users can take on documents stored in SharePoint. IRM relies on some form of Rights Management Services. SharePoint Server, depending on the version, supports the use of Active Directory Rights Management Services (all on-premises versions) or the corresponding cloud version, Azure Rights Management (through the use of the Rights Management Services connector for SharePoint Server 2010, SharePoint Server 2013, and SharePoint Server 2016) to protect assets. Additionally, Azure Information Protection is a rights management-based protection that can be applied at the individual file level (whether a file is in a SharePoint library or not), making it an ideal method for protecting data across an enterprise.
Determining which solution is best for your organization depends on both your current infrastructure and knowing what the technology roadmap for your organization entails. Most organizations will...
Planning localization and language packs
Part of any SharePoint Server deployment instance is understanding the intended target audience. SharePoint Server supports some level of localization. Localization is the concept of SharePoint displaying content in a different language than it may have been created in. Multilingual features enable users to see sites in their preferred languages.
SharePoint Server supports two core types of localization:
- Multilingual user interface
- Variations
In the next two sections, we'll explore the features and use cases for both of them.
Multiple Language User Interface
With the Multiple Language User Interface (also referred to as the Multilingual User Interface or MUI), you can configure SharePoint Server to display interface elements in a user's preferred language. MUI configurations affect the elements that are used to manipulate and interact with SharePoint, such as navigation items. When using the MUI, you can display the following user interface...
Planning and configuring content farms
For many organizations, a single content farm is the most practical and simple choice to deploy. Utilizing some of the design concepts discussed earlier in this chapter (MinRole farm topologies and high availability), you can choose from some of the recommended design patterns, depending on your organization's budget and performance needs:
Utilizing one of the built-in MinRole server roles (selected in the SharePoint Products Configuration wizard), you can choose where you want to invest resources, ranging from four highly available servers, each running two shared roles, and up to eight (or more) servers configured with dedicated roles. It is important to understand the MinRole deployment topologies and the components required for high availability from a design perspective to ensure you're in a supported design pattern.
In the next section, we'll look at extending the on-premises topology into Office 365.
Planning integration with Office 365 workloads
While SharePoint Server has a very large feature set, you may need to connect an on-premises SharePoint environment to Office 365—whether that's extending your environment out to Office 365 or accessing on-premises content from Office 365. The following features can be integrated between SharePoint Server and Office 365 components:
- OneDrive for Business: Hybrid OneDrive for Business configures users to be redirected to OneDrive for Business in Office 365 when they access OneDrive in SharePoint Server.
- Sites: Hybrid sites allow you to integrate navigation between SharePoint Server and Office 365.
- Search: Hybrid search scenarios allow you to configure a search environment that allows users to locate content in Office 365 or local SharePoint farms from either search environment.
- Business Connectivity Services: Allows access to on-premises data using Business Connectivity Services.
- Power Apps, Power BI, and Power Automate (formerly...
Planning and configuring the OneDrive sync client
The OneDrive sync client is used to synchronize data, typically between a user's personal computer and their server-based OneDrive (also known as My Sites) document library.
The newest version of the OneDrive sync client works with both SharePoint Server and SharePoint Online, so depending on which one your organization uses (or plans to use), you may want to specify some additional configuration settings.
Planning Group Policy configuration settings
When planning your OneDrive sync client, there are a number of configuration items to address. Many of these configurations can be managed with Group Policy objects for the OneDrive client:
- Specify the SharePoint Server URL and organization name: When OneDrive for Business is configured against Office 365, a staging folder for the OneDrive client is created using the Office 365 tenant's name as a prefix. For example, if the tenant ID name is contoso.onmicrosoft.com and the organization...
Planning and configuring a high-performance farm
Virtualization is an enterprise for the architecture of most workloads and services in modern data centers. Virtualization brings a lot of benefits to computing, such as the improved capability to both horizontal and vertical scaling, to be able to add layers of host redundancy to support highly available solutions.
However, virtualization also introduces potential pitfalls, such as overcommitting hardware resources.
SharePoint Server is fully supported on virtualized platforms, as well as on traditional bare-metal platforms. Virtualization adds a layer of abstraction to the entire process, potentially making it more difficult to understand all of the components affecting your environment's performance.
The areas that we'll look at include the following:
- Core requirements
- Server infrastructure
- Processors
- Server roles
- Storage
- Network
- Database
Let's review each of these areas in the coming sections.
Core requirements
SharePoint...
Summary
Designing a performant, reliable, SharePoint environment takes a lot of planning. Some of the areas that we touched on in this chapter included resilient and fault-tolerant design principles, using MinRole to manage server role deployments, and disaster recovery planning and scenarios.
Accessibility is also an important factor to consider when architecting an environment. We reviewed how localization can help make SharePoint content accessible to users with different language needs. Security is a large part of any modern system design; we discussed how Azure Information Protection and Rights Management services can be used to manage access and control the actions that others can perform against documents.
SharePoint Server 2019 is a capable content management and application platform and can be integrated with numerous Office 365 workloads and provide user experiences that cross platforms. This ability gives users and organizations the best of each platform's capabilities...