Last Update: Sep 04, 2024 | Published: Jun 19, 2015
The market that I work in is very cloud friendly; Irish value added resellers (VARs) operating in the small-to-medium enterprise (SME) market have made Ireland one of the most successful regions for Office 365, and it’s no surprise that they and their customers are showing a huge interest in adopting Microsoft Azure. SMEs want rid of what’s left of their servers, and oftentimes the remaining machine in the SME space is a file server.
Can you replace a file server with a cloud option? Yes, you absolutely can, but it’s a matter of asking yourself a couple of questions:
The first question is dictated by content in the file server. Several times, I’ve dealt with queries about engineers that use AutoCAD, which relies on huge files. Because of this, this scenario isn’t a great option because storing these files in the cloud often requires expensive appliance solutions. If you needs are appropriate for the cloud, then you have several different options to consider:
The following diagram shows how you can deploy a file server in Azure without any additional optimization.
The servers in Azure are running Windows Server 2008 R2 or later. You might as well use Windows Server 2012 R2 if you’re deploying new VMs in Azure because the OS license is included in the hourly cost of the VM, and you do not require any Windows Server CALs to access Windows Server VMs that are running in Azure.
There is a domain controller and a file server running in an Azure VNET in a single cloud service. It’s up to administrators if they want to open up point-to-site VPN, Windows Server VPN, or Direct Access for roaming user access to services. The file server is a member of the domain, and the domain controller might be used to sync or federate with Azure Active Directory.
The PCs on the customer network are running Windows 7 (or later) Pro (or Enterprise). DHCP runs on the customer site via a network appliance. A site-to-site VPN is configured to connect the office network to the Azure VNET. The DHCP scope configures devices to use the in-Azure domain controller as the primary DNS server. The PCs are members of the in-Azure domain, receiving policy via GPOs.
I tested this scenario out in my lab, using a site-to-site VPN connection over a 12 Mbps ADSL connection with 380 Kbps upload speeds, a connection that is quite modest. I created shared folders on the in-Azure file server with 1600+ small files of different kinds in each. A domain user connects to the file server in the exact same way as they would with an on-premises one. Browsing was without latency and accessing small files was quick. Small files was quick, but what about a bit file? I dropped a 64 MB file into a share and started a download. The file was downloaded in one minute, which is way below what one would expect over a 1 Gbps connection to a local file server.
Windows 7 Enterprise and later includes a feature called BranchCache that is designed to improve the flow of traffic between clients and remote file servers, IIS servers, and applications that use BITS. The Enterprise edition of Windows was once only available via Software Assurance, but customers can now upgrade the OEM installation of Windows Pro to an Enterprise edition using Volume Licensing without Software Assurance.
BranchCache offers a service were previously downloaded content is presented to a client for subsequent requests. The first person to download a file suffers the impact of latency and bandwidth between the remote file server and their local client device. The file is used by the person and cached locally by BranchCache. Subsequent requests by this user or others will cause metadata operations:
Over time, the cache will be populated with frequently accessed content and the overall performance for users will increase.
There are two kinds of cache that can be deployed:
One of the perks of BranchCache is that you do not need any new hardware to enable it — although you do need to run the Enterprise edition of Windows on your client devices. I decided to test out the design that I expect will be of most interest in the SME space; customers are asking to be rid of all of their servers so the Distributed Cache model of BranchCache will probably be the one they want to use. You can see how minor the changes were in the design in the below diagram. I simply:
I logged into a Windows 8.1 Enterprise machine in the local LAN and saw no improvement in browsing folders – this already performed excellently. I then downloaded my 64 MB file from the file server, and as expected the performance was as before. But the second copy was so fast that the progress bar barely flashed on screen; the file was being copied from the cache and became a local copy instead of a remote copy.
BranchCache can make using remote file servers, such as those deployed in Azure, a much more pleasant experience. It’s not perfect; it will take time for the cache to build up (cannot be seeded in Distributed Mode), it does not optimize uploads, and it requires the Enterprise edition of Windows. However, big uploads operations by users are rare. The cache will likely build up quickly in an SME scenario. And the Enterprise edition is no longer locked behind Software Assurance (except the for Windows 10 upgrades) and it offers several other features that should prove quite useful.