Hi Joe-4932,
It's not correct that Azure File Sync syncs only once per day: files added to a server endpoint (in your case, your Windows Server 2019 server) will sync more-or-less immediately (factoring in data transfer times). Files added to an Azure file share directly will take longer to sync - as you point out: full enumeration of the Azure file share occurs every day. The reason for this discrepancy is that Windows has a feature that Azure Files not (yet) have: the USN journal. NTFS logs changes to the file system in the USN journal so that applications installed on Windows, including Azure File Sync, can see that files that they care about have changed. When Azure File Sync sees a file has changed through its monitoring of the USN journal, we initiate a sync session.
So what's the benefit of a solution like this one, where the on-premises side has near real time sync but the cloud side has slower sync? Our view: on-premises caching. The way most customers use Azure File Sync is to cache their Azure file share on-premises and then do most/all of their file accesses through the Windows Server. Because of the cloud tiering functionality, this enables to them to offload infrequently used data to the cloud, without losing it in the namespace of the file share. Files which are frequently accessed, are fast, because they're stored locally on the file server, which is presumably near where your end users are. And Azure File Sync also enables multi-site sync, meaning you can have these caches in multiple sites, and access through the server that's closest to you.
Based on your description of the problem, it sounds like you are trying to use Azure File Sync in a scenario it was not designed for: client-side caching. Azure File Sync is not a client-side caching solution, it's a solution that enables you to cache on a file server. (It's why we do not allow Azure File Sync to be installed on a Windows client - only server.) Azure File Sync was designed to fit nicely in a work environment where the on-premises file server is down the hall, not necessarily the world that unfortunately exists now, where the vast majority of people are required to work from home.
The one bit I don't understand about your description, perhaps you could clarify, if you were trying to use Azure File Sync as a client-side cache (assuming your end user is using the Windows Server as their client), why would you be making changes on the cloud side at all? Am I misunderstanding your scenario?
Assuming you are looking for client access to a file share, I suggest that you consider the following ideas:
- Azure File Sync does support interoperating with Windows Server features designed to address this problem, such as BranchCache and Work Folders. Either are potentially solutions that you could employ to help here.
- Have you tried accessing the Azure file share directly over a VPN? You mention this slow, but in general a VPN connection should not add significant overhead if properly configured. Large files will still take longer to open than if they were stored locally on disk, so this is not a caching solution and depending on the size of the file and the requirements you have here, a VPN might well be too slow to help here, but I want to make sure we're giving fair consideration to this idea.
Please don't hesitate to reach out to AzureFiles@microsoft.com if you want to chat about your specific case.
Thanks,
Will Gries
Program Manager, Azure Files