I’ve done a bunch of articles about how to save your bandwidth when you are trying to replicate backups and virtual machines to your disaster recovery site, however I don’t think I have ever talked about anything that accelerates active data, in this case shared files.
Here is the official description off of the MS TechNet article at http://technet.microsoft.com/library/hh831696 :
“BranchCache is a wide area network (WAN) bandwidth optimization technology that is included in some editions of the Windows Server® “8” Beta and Windows® 8 Consumer Preview operating systems, as well as in some editions of Windows Server® 2008 R2 and Windows® 7. To optimize WAN bandwidth when users access content on remote servers, BranchCache copies content from your main office or hosted cloud content servers and caches the content at branch office locations, allowing client computers at branch offices to access the content locally rather than over the WAN.”
This is a HUGE innovation from Microsoft, I believe that it will not only help traditional enterprises and their branch offices, but also SMB’s that are looking to move their servers to the cloud, but do not want to deal with very slow file downloads if they are not able to get big pipes.
So how does it work?
There are two types of BranchCache, one is designed for an office with no “server” at all… meaning that there are only PC’s at that branch location. The other is designed in a way where there is a designated server that does all of the cacheing. Below are two images of how they look, first is Server based BranchCache:
In either situation here is an overview of what happens:
1.) A client transfers a document for the first time into a given branch office (defined by a subnet)
2.) The second computer that wants the same file will ask local PC’s or a BranchCache server if they have a local copy of the file
3a.) If they do have a copy of the file they will transfer it locally across the LAN to the computer that requested it.
3b.) If it is not local already the server at the main site will send the file to the requesting PC.
4.) If a client makes changes to the file they are send back to the main file server.
Now you are probably thinking the same thing I first thought…why not just use DFSR?
BranchCache versus Distributed File System Replication
I found a good article on ServerFault.com that had the following list of pro’s and con’s:
- No version conflicts
- Fast access for subsequent access
- Slow access for first time access
- Slow write access
- Quick read/write access to data at all times
- A limited amount of additional data security
- Backlogs can occur very easily
- Version conflicts can be an issue with backlogs
- Replication can take too long – not suited to real-time access to files between offices.
My Next Steps
I have not actually set this up in the lab yet, but that is the next step in the process for me. I plan to utilize some virtual Windows 2008 R2 servers with some Windows 7 Desktops (make not they must be Enterprise or Ultimate) and make a virtual router or to so that I can make it believe they are on different offices (which again are designated by different subnets). I will report back after testing and let you know what my findings are and exactly how to set it up.
Kick it up a notch: add DirectAccess and obviate the local server entirely, while providing both a smooth experience and centralized management for laptop users and small branches alike.
Windows Server 2012’s improvements to DirectAccess supposedly remove the tricky technical obstacles that prevented most people from doing it with Server 2008.
BranchCache realy cool technology! I love MS.
Seems from what I’ve read that DirectAccess from a branch office perspective is strictly for those who don’t want to mess with a firewall and VPN. Does it do more than that?
From a security perspective, firewall is a must-have for most companies…and VPN is piece of cake for any network saavy IT person.
great article, thank you !
With regard to Branch Cache cons (slow access for first time access and slow write access), are you referring Distributed BranchCache ?
Based on my undertanding, once content has been pre-seeded and then shipped out to the remote site where the other BranchCache Server resides first time access and write access should not be slow at all.
Do you agree ?
Well the first time that a client asks for a while that has changed it will have to download that file from the server … which is what takes a little time.
So its not so much the “first time” … its the “first time since it has changed” which could even be a few times a day.
How does branchecache deal with multiple people trying to edit the same file but in different sites
Our company moved to a data center late last year with the intentions of implementing a Branch Cache server. Once we were moved our consultants learned from Microsoft that a requirement is not Windows 7 Professional but Windows 7 Ultimate or Enterprise. Naturally none of our desktops are equipped with either. The decision was made to use a DFS system which is OK for one office but not all 4 of our offices for file sharing. We need to fix the issue post haste and the main consideration is that we are unable to confirm Branch Cache is the answer. We do not want to test the waters and not have it work. The responses here are reassuring but not proof enough.
Can you help with this?
branchcache is only for 7 ultimate and ent.
not sure there is a way around it other than upgrading the clients or using DFS… might want to look at a wan optimizer ? that caches content
Your response brought me to 2 questions…
1. Is Ultimate or Enterprise an anytime upgrade (i.e. no complete reinstall). Having a hard time getting a direct answer on this.
2. Are many companies having success with a Branch Cache system?
2. I don’t do much Microsoft work, I’m mainly an infrastructure guy… So i would say check with some MS blogs.
1. I will grab a copy of the windows 7 pro ISO tomorrow and try to upgrade it to Enterprise. Then report back
I can tell you at least for Windows 8.1 that MS is full of SH!T, I can access, set the parameters for and show the status of Banchcache on 8.1 pro from the command line. The windows services shows Branchcache running and the show localcache command indicates that caching is increasing with each requested file. I would not be surprised if this were the case in Windows 7 $ 8 pro as well. My question is why MS is lying about this? Are they just trying to coerce people into unnecessary upgrades? I guess I just answered my own question, this is the MS business model.