BranchCache is a mature WAN bandwidth optimization technology that has been included in Microsoft Operating systems since Server 2008/Windows 7. To optimize WAN bandwidth, BranchCache downloads content from the main office content servers and caches that content locally on any suitable Windows PC. The cached content can then be shared with other client computers at branch offices via Peer to Peer rather than over the WAN.
BranchCache helps improve content query response times for clients and servers in branch offices, and also helps improve network performance by reducing traffic over WAN links.
Why BranchCache for OS Deployment?
This nifty bit of technology is perfect for optimizing very large file transfers such as those that are required for machine builds! Unfortunately, while machines are being built, they are not running under a full operating system and are not, by default, able to utilize the awesome power of BranchCache. Here at 2Pint Software we believe that BranchCache (in fact ALL P2P technologies) are the most under-utilized and powerful tools available to today’s Administrators. Our mission therefore was to enable BranchCache functionality in the Operating System Deployment (OSD) environment.
The end result of these efforts is the OSD Toolkit which allows administrators to enable clients to make use of the P2P sharing capabilities of BranchCache during the build process which in turn drastically reduces deployment times and can save you Gigabytes in expensive WAN network traffic.
The OSD Toolkit integrates fully with your existing Configuration Manager task sequences (not just OS Deployment). All regular options in Configuration Manager are available for you but with the added function that all content can be downloaded using BITS together with BranchCache. This kit has been developed to streamline deployments from Microsoft System Center Configuration Manager Current Branch
Through the magic of BranchCache, the OSD Toolkit allows you to deploy computers using standard Configuration Manager Task Sequences not only at your well connected Main Office sites but also at remote Branch Offices across slow WAN links. This allows you to use the same process for building every computer within the organization, regardless of placement, without any need to start moving hardware around. This greatly lowers the cost for break/fix rebuild and other Administrative heavy build and distribution scenarios.
By enabling BranchCache in a resource intensive process like OSD, more systems on the network can share the load, ensuring a fast and effortless deployment without hogging system resources from other computers or the network.
The OSD Toolkit enables native HTTP(s) & BITS BranchCache download support into WinPE, thus adding BranchCache support for Task Sequences. It also provides a command line 'Alternate Content Provider' (ACP) tool for downloading content using BranchCache where this would otherwise not be available.
There is no agent to install. All that is required is to enable the built-in Microsoft BranchCache function that has been a standard part of the Windows Operating Systems for nearly a decade. In the event that there is no BranchCache enabled computer already present with cached content available, the content can be downloaded from the server, retained through the process and then made available for other Peers when next required. The BranchCache for OSD kit works with both dynamic and hosted cache mode and is easy to integrate into your existing deployment method. In theory, the toolkit can work with any deployment solution out there that uses HTTP & BITS as the main delivery engine.
The OSD Toolkit package includes:
WinPE Generator (Services & Binaries etc) for building a WinPE boot image that includes BITS and BranchCache functionality
Task Sequence Command Line Tool (Enable BranchCache and then Move/Retain BranchCache Content for later use)
Task Sequence Download Tool (ACP) For Windows Pro and WinPE.
There are a few simple steps and considerations that are required before you can start using BranchCache for OSD regardless of what deployment method you are using:
Generate a BranchCache enabled WinPE boot image
Change your deployment sequence to enable the BranchCache components in WinPE
Optionally edit the task sequence to move the cache content from the WinPE environment to the new Operating System being deployed making it available for Peer to Peer sharing going forward.
Optionally changing your deployment sequence to work with Image Downloads from a task Sequence in Windows Professional
Optionally change deployment sequence to detect an existing BranchCache Cache location from within WinPE
Optionally enable reporting of BranchCache data
Note: This document focuses mainly on MDT (with Configuration Manager) and Configuration Manager for deployment, but these should apply to any old deployment solution that uses WinPE for deployment and HTTP for downloads.
Note: This document does not cover the Bandwidth limitation/setting/configuration needed in order to make BranchCache and BITS work nicely together. Instead look online for that whitepaper: "Administrators Guide to BranchCache – Distributed Mode" on the http://2pintsoftware.com site, use "them search engines" to find it or just follow this handy link:-