Every Patch Tuesday, Microsoft delivers cumulative updates — and a fresh round of headaches — for administrators who must find a way to deploy sizeable fixes without bogging down the network.
Sprinkling a few distribution points across the infrastructure is not the most efficient way to deliver content, particularly now that the Windows servicing model compiles multiple fixes into one large package of several hundred megabytes. As more organizations move on-premises infrastructure to the cloud, implementing the peer-to-peer (P2P) technologies in System Center Configuration Manager (SCCM) makes more sense. Instead of a standard client-server relationship, clients can now share SCCM content, such as applications and software updates. P2P technologies split the content into smaller parts; clients receive portions of content from the other clients. When you use cloud capacity, the content only needs to be downloaded once and distributed by a peer source.
Some reasons to use SCCM peer caching technologies include lower costs, improved performance and reduced on-premises footprint by using cloud services. SCCM — also called ConfigMgr by IT workers — offers several peer caching technologies, including BranchCache, peer cache and Delivery Optimization, each with distinct capabilities. The task for administrators who use peer caching is to understand the strengths of each, how to configure them properly and how to monitor their usage in SCCM.
Content sources and priority in SCCM
SCCM clients can receive content in several ways:
- a local distribution point in SCCM;
- a cloud management gateway (an integrated cloud distribution point);
- a peer source; or
- Windows Update.
Content delivery to the client is prioritized in the following order:
- a distribution point on the local machine;
- a client acts as a peer source on the same subnet;
- a distribution point on the same subnet;
- a client acts as a peer source in the same boundary group;
- a distribution point in the current boundary group;
- a distribution point in a neighbor boundary group configured for fallback;
- a distribution point in the default site boundary group;
- Windows Update;
- an internet-facing distribution point; and
- a cloud distribution point hosted in Azure.
What is BranchCache?
BranchCache is a P2P technology built into Windows 10 that communicates with other clients on the local subnet. With BranchCache, a peer sends content as soon as it receives a few blocks. BranchCache works for all SCCM content types and policies and uses a cache that is separate from the one in SCCM. BranchCache also works with data deduplication to reduce the amount of data transmitted.
How to implement BranchCache in SCCM
To use BranchCache support in your SCCM environment, you need to enable BranchCache on the distribution point, then enable BranchCache on the SCCM clients.
How to enable BranchCache on the distribution point
- Go to Administration > Site Configuration > Servers and Site System Roles.
- Select the site system hosting the distribution point role.
- Right-click on the distribution point role and select Properties.
- Select the checkbox Enable and configure BranchCache for this distribution point.
To enable BranchCache on the SCCM clients
- Go to Administration > Client Settings.
- Go to Client Cache Settings and select Yes for Configure BranchCache and Enable BranchCache.
What is peer cache?
Peer cache is a P2P feature built into ConfigMgr in which clients share content from the ConfigMgr cache. Peer cache works with other P2P technologies, such as BranchCache, but it can also work independently.
Peer cache supports partial content, so it sends data before the entire content type is available. It works for all SCCM content except policies. Peer cache supports client content sharing in the local subnet or via boundary groups. Peer cache requires clients to reside in the same boundary group to share content with other peers.
You can also use Windows Preinstallation Environment (PE) peer cache when deploying new machines with SCCM.
How to implement peer cache in SCCM
- Verify that peer downloads are supported in the boundary group by going to Administration > Hierarchy Configuration > Boundary Groups. Right-click the boundary group and go to the Options
- Select the option Allow peer downloads in this boundary group.
- Create a new setting for clients that should act as peer cache sources. (Do not make every client a peer cache source.)
- Select Yes for the client setting Enable as peer cache source in Client Cache Settings.
What is Delivery Optimization?
Delivery Optimization is a cloud-based P2P technology built into Windows 10 that works with Windows Update, Windows Server Update Services, Windows Update for Business and SCCM. Delivery Optimization requires Windows 10 and version 1910 of SCCM or greater.
Express Updates were the only SCCM content supported by Delivery Optimization until the release of SCCM 1910, which added:
- support for all Windows updates, including quality and feature updates;
- the ability to configure Delivery Optimization via boundary groups in SCCM; and
- support for Microsoft Connected Cache — previously called Delivery Optimization In-Network Cache — enlists a peer server as a host for content distribution.
How to set up Delivery Optimization in SCCM
- Select the checkbox for Allow peer downloads in this boundary group.
- Under Delivery Optimization, select the checkbox for the Use Configuration Manager Boundary Groups for Delivery Optimization Group ID setting.
How to monitor content sources in SCCM
You can monitor all content sources used in the SCCM peer caching technologies via the client sources node in the ConfigMgr console. Reach the dashboard by going to Monitoring > Distribution Status > Client Data Sources.
This dashboard gives an overview of how clients receive their content, which is helpful when verifying client content retrieval for P2P, cloud and local sources.