Cognitive Computing Authors: Liz McMillan, Yeshim Deniz, Pat Romanski, Roger Strukhoff, Elizabeth White

Related Topics: @CloudExpo, Microservices Expo, Microsoft Cloud, Containers Expo Blog, Silverlight, Agile Computing

@CloudExpo: Blog Post

Accelerating the Cloud with Windows Server 2012 BranchCache

BranchCache works equally well across Cloud and WAN to accelerate file and web content

Traditional file sharing protocols, such as Server Message Block ( SMB ) in Windows Server 2012, are primarily designed for low-latency, high-bandwidth scenarios commonly found in Local Area Networks ( LANs ).  When attempting to move file server workloads to the cloud, many IT Pros find that the unpredictable latency and limited bandwidth related to most Internet connections can make it challenging to deliver file services from the cloud in a reliable manner.

Lab Scenario
In this article, I’ll step through a configuration that leverages the BranchCache feature available in Windows Server 2012 and Windows 8 Enterprise.  Once implemented, BranchCache can solve cloud networking challenges by implementing a Wide Area File Services ( WAFS ) solution that caches frequently accessed data locally, either in a Distributed Cache across local clients or on a local Hosted Cache Server.


Lab Scenario: BranchCache Accelerating Content Access from the Cloud

In this configuration, BranchCache has been tested to deliver up to a 2,000:1 reduction in network traffic by avoiding retransmission of common data blocks over unpredictable Internet and Wide Area Network ( WAN ) connections.

How does BranchCache Work in a Cloud Scenario?
Although originally intended for accelerating content access between main corporate data centers and branch office locations, BranchCache works equally well for accelerating content access from the cloud.  When accelerating content over high-latency network connections, BranchCache operates in the following manner …


General Operation of BranchCache

  1. Client attempts to access file(s) located on SMB file share on remote BranchCache-enabled content server. A BranchCache-enabled content server could be Windows Server 2012 or Windows Server 2008 R2 file servers and web servers.
  2. Remote BranchCache-enabled content server responds back with a list of IDs for each block of content. This list of IDs is substantially smaller ( as much as 2,000:1 smaller ) than the actual content blocks being requested.
    New in Windows Server 2012 – BranchCache uses variable-sized content block “fingerprints” to better accelerate network communications when dealing with incremental changes to files and common blocks of data across files.
  3. Client checks for presence of content blocks on a local hosted cache server or in the distributed cache of other BranchCache-enabled clients. If other BranchCache-enabled clients have previously requested this data, it will be found in these local caches.
    New in Windows Server 2012 – BranchCache automatically stores cached content in an encrypted format for improved security ( without the need to configure BitLocker ).  In addition, for scaling BranchCache hosted cache servers in large sites, multiple hosted cache servers can be enabled and client access requests will be automatically scaled across them.
  4. Client retrieves requested data locally from local hosted cache server or the distributed cache of other BranchCache-enabled clients. This can provide tremendous network bandwidth savings as well as the user perception of a much faster network connection for retrieving commonly access blocks of content.

For a more detailed description of BranchCache, see BranchCache Overview in the Microsoft TechNet Library.

What happens if a BranchCache Hosted Cache Server goes offline?
In the process above, you may notice that the local Hosted Cache Server is accessed “out-of-band" to the original SMB file content request made to the remote server, rather than being “in-band” to the original request issued in Step 1.  BranchCache operates in this manner so that the local Hosted Cache Server does not represent a possible “point-of-failure” in accessing this content.  If the local Hosted Cache Server is offline, BranchCache-enabled clients will continue to access the requested content directly from the remote content server via SMB, albeit without any acceleration applied to the request.

If desired, multiple Hosted Cache Servers can be configured at larger sites to provide continuous BranchCache acceleration even if a single Hosted Cache Server is unexpectedly offline.  In addition, Hosted Cache and Distributed Cache modes can be combined so that BranchCache performs a “fallback” to BranchCache-enabled Distributed Cache clients in the event that an active Hosted Cache Server cannot be located.

Which BranchCache configuration should I use?
BranchCache can be configured in two “modes” of operation: Distributed Cache and Hosted Cache Server.  These modes can be used independently, or both modes can be used together for increased flexibility.

  • Distributed Cache – each client caches their frequently accessed content blocks in a local content cache and then shares this cache will other BranchCache-enabled clients on the local subnet via a peer distribution protocol.  BranchCache-enabled clients dynamically discover and share this “distributed” cache with other BranchCache-enabled clients.
  • Hosted Cache Server – one or more Hosted Cache Servers are configured on the local network and BranchCache-enabled clients are directed to these Hosted Cache Servers for accelerating content access requests via group policies.

Distributed Cache mode is a great solution for small, single subnet remote office locations, whereas Hosted Cache Servers are the better option for larger, multi-subnet offices.

As a best practice, you may choose to enable BranchCache clients for both Hosted Cache Server and Disributed Cache modes together – clients will try to locate and leverage Hosted Cache Servers first, but will fallback to using Distributed Caching if no Hosted Cache Servers can be contacted.

How do I get started?
To get started with implementing this lab scenario, you’ll need a Windows Azure subscription with the Virtual Machines preview feature enabled.

Good news! You can get a Windows Azure subscription for FREE by leveraging our FREE 90-Day Trial Subscription program.  This program is a great way to evaluate Windows Azure and it provides up to 750 compute hours and 35GB of replicated cloud storage per month for 90-Days for FREE!

NOTE: When activating your FREE 90-Day Subscription for Windows Azure, you will be prompted for credit card information.  This information is used only to validate your identity and your credit card will not be charged, unless you explicitly convert your FREE Trial account to a paid subscription at a later point in time.

I’ve got my Azure subscription … Now What?

Once you’ve activated your Windows Azure subscription, you can follow the steps below to build your BranchCache solution to accelerate cloud content access:

  1. Extend your Active Directory to the Cloud via a Windows Azure Virtual Network.
    DO IT: Step-by-Step – Extend On-Premise Active Directory to the Cloud with Windows Azure
  2. Add a new Windows Server 2012 member server VM to the Windows Azure Virtual Network and Active Directory domain that you extended in Step 1 above.
    NEED HELP? Complete this training on Windows Azure Virtual Machines and Virtual Networks for assistance.
  3. Enable the server roles and role services required for BranchCache-enabled SMB Content Servers on the Azure VM provisioned in Step 2 above.
    DO IT: Install a New File Server as a BranchCache Content Server.
  4. On the BranchCache-enabled SMB Content Servers, define one or more shared folders that are enabled for BranchCache.
    DO IT: Enable BranchCache on a File Share
  5. Add a new Windows Server 2012 member server on-premise in your Active Directory domain.
    NEED HELP? Check out our “Early Experts” Installer Quest for assistance.
  6. Enable and register the server roles required for BranchCache-enabled Hosted Cache Servers on the new server provisioned in Step 5 above. 
    DO IT: Deploy Hosted Cache Servers
  7. Enable the BranchCache group policy items for enabling your BranchCache clients for both Hosted Cache Server and Distributed Cache modes.
    DO IT: Use Group Policy to Configure BranchCache Clients
  8. Verify your BranchCache client settings to ensure that clients are configured properly for BranchCache.
    DO IT: Verify BranchCache Client Settings

Completed! You have successfully configured BranchCache to accelerate Cloud content access.

What’s Next? Keep Learning!
After completing this Do-It-Yourself article, continue learning about Windows Server 2012 and the Windows Azure Cloud Platform with these additional resources:

  • Windows Server 2012 “Early Experts” Cloud Quest – Join us and study Windows Server 2012 hands-on while leveraging the Windows Azure cloud platform.  Along the way, you’ll build a complete virtual network with Active Directory, iSCSI Storage and Clustered Servers!
  • Cloud Labs – Choose from a variety of hands-on lab scenarios on Windows Server 2012, SharePoint 2013, System Center 2012 SP1, SQL Server 2012, Windows 8 and more!

How are you leveraging the Cloud?
Do you have unique use case scenarios or business requirements for cloud solutions? Feel free to share your comments, experiences and questions below!

See you in the clouds!

- Keith

Build Your Lab! Build Your Lab! Download Windows Server 2012
Build Your Lab in the Cloud! Don’t Have a Lab? Build Your Lab in the Cloud with Windows Azure Virtual Machines
Join our "Early Experts" study group! Want to Get Certified? Join our Windows Server 2012 "Early Experts" Study Group

More Stories By Keith Mayer

Keith Mayer is a Technical Evangelist at Microsoft focused on Windows Infrastructure, Data Center Virtualization, Systems Management and Private Cloud. Keith has over 17 years of experience as a technical leader of complex IT projects, in diverse roles, such as Network Engineer, IT Manager, Technical Instructor and Consultant. He has consulted and trained thousands of IT professionals worldwide on the design and implementation of enterprise technology solutions.

Keith is currently certified on several Microsoft technologies, including System Center, Hyper-V, Windows, Windows Server, SharePoint and Exchange. He also holds other industry certifications from IBM, Cisco, Citrix, HP, CheckPoint, CompTIA and Interwoven.

Keith is the author of the IT Pros ROCK! Blog on Microsoft TechNet, voted as one of the Top 50 "Must Read" IT Blogs.

Keith also manages the Windows Server 2012 "Early Experts" Challenge - a FREE online study group for IT Pros interested in studying and preparing for certification on Windows Server 2012. Join us and become the next "Early Expert"!

IoT & Smart Cities Stories
In his keynote at 18th Cloud Expo, Andrew Keys, Co-Founder of ConsenSys Enterprise, provided an overview of the evolution of the Internet and the Database and the future of their combination – the Blockchain. Andrew Keys is Co-Founder of ConsenSys Enterprise. He comes to ConsenSys Enterprise with capital markets, technology and entrepreneurial experience. Previously, he worked for UBS investment bank in equities analysis. Later, he was responsible for the creation and distribution of life settl...
@CloudEXPO and @ExpoDX, two of the most influential technology events in the world, have hosted hundreds of sponsors and exhibitors since our launch 10 years ago. @CloudEXPO and @ExpoDX New York and Silicon Valley provide a full year of face-to-face marketing opportunities for your company. Each sponsorship and exhibit package comes with pre and post-show marketing programs. By sponsoring and exhibiting in New York and Silicon Valley, you reach a full complement of decision makers and buyers in ...
While the focus and objectives of IoT initiatives are many and diverse, they all share a few common attributes, and one of those is the network. Commonly, that network includes the Internet, over which there isn't any real control for performance and availability. Or is there? The current state of the art for Big Data analytics, as applied to network telemetry, offers new opportunities for improving and assuring operational integrity. In his session at @ThingsExpo, Jim Frey, Vice President of S...
The Internet of Things is clearly many things: data collection and analytics, wearables, Smart Grids and Smart Cities, the Industrial Internet, and more. Cool platforms like Arduino, Raspberry Pi, Intel's Galileo and Edison, and a diverse world of sensors are making the IoT a great toy box for developers in all these areas. In this Power Panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists discussed what things are the most important, which will have the most profound e...
Two weeks ago (November 3-5), I attended the Cloud Expo Silicon Valley as a speaker, where I presented on the security and privacy due diligence requirements for cloud solutions. Cloud security is a topical issue for every CIO, CISO, and technology buyer. Decision-makers are always looking for insights on how to mitigate the security risks of implementing and using cloud solutions. Based on the presentation topics covered at the conference, as well as the general discussions heard between sessio...
The Jevons Paradox suggests that when technological advances increase efficiency of a resource, it results in an overall increase in consumption. Writing on the increased use of coal as a result of technological improvements, 19th-century economist William Stanley Jevons found that these improvements led to the development of new ways to utilize coal. In his session at 19th Cloud Expo, Mark Thiele, Chief Strategy Officer for Apcera, compared the Jevons Paradox to modern-day enterprise IT, examin...
Rodrigo Coutinho is part of OutSystems' founders' team and currently the Head of Product Design. He provides a cross-functional role where he supports Product Management in defining the positioning and direction of the Agile Platform, while at the same time promoting model-based development and new techniques to deliver applications in the cloud.
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
LogRocket helps product teams develop better experiences for users by recording videos of user sessions with logs and network data. It identifies UX problems and reveals the root cause of every bug. LogRocket presents impactful errors on a website, and how to reproduce it. With LogRocket, users can replay problems.
Data Theorem is a leading provider of modern application security. Its core mission is to analyze and secure any modern application anytime, anywhere. The Data Theorem Analyzer Engine continuously scans APIs and mobile applications in search of security flaws and data privacy gaps. Data Theorem products help organizations build safer applications that maximize data security and brand protection. The company has detected more than 300 million application eavesdropping incidents and currently secu...