Thursday, April 20, 2017

Dude, where’s my OneDrive for Business Sync in RDS? FSLogix to the rescue!

image_thumb
OneDrive for Business Sync and cache inside RDS & VDI environments, what are the options? Whats supported? Here’s what you need to know!



Introduction
Office 365 is a worldwide adopted SaaS offer these days. As part of Office 365, Skype for Business and OneDrive for Business are very commonly used products in the Office 365 suite. In many architected solutions Office 365 Pro Plus is published as one of the applications suites using Remote Desktop Services. These can vary from shared sessions on a RD Session Host to dedicated virtual machines on a Virtual Desktop Infrastructure and both are capable of publishing either a Full Desktop or separate RemoteApps. This allows users to access the full Office 365 suite, including Visio, Project et cetera, on any device and from any location.

The Challenge
Publishing Office 365 as described above however, results in an interesting challenge, what about OneDrive for Business access? Since many years, users have been provided access to a Home Drive, a space where they can store personal data and files. Typically, this was a drive mapping (most of the time mapped as the H: drive) pointing to a share on a file server. With Office 365, users have access to OneDrive for Business. The same space where they can store personal data and files, this time however hosted in the Cloud and accessible on any device at any time. A great solution offering a lot of flexibility to the end user.

Where a classic Home Drive is typically hosted on a file server that is close to the client, OneDrive for Business is hosted in the public Cloud. This means that the network connection (bandwidth, latency packet loss) now suddenly play an important role into the overall performance of working with these files. To overcome this issue, and to also allow offline access, OneDrive for Business comes with Synchronization. This basically means data stored on OneDrive for Business is also cached on the local client and synched to Cloud, a process in the background and transparent to the end user.

For a users’ personal device, this sync process is great! But what about an RDS or VDI hosted solution? How do we make sure users have access to OneDrive for Business from their hosted Remote Desktop or RemoteApps? Can we provide a home drive like experience that users a used to? And more importantly, can we have OneDrive for Business cache inside those environments? What are the options?

Discussing the options

- OneDrive for Business and Roaming Profiles
Although Roaming Profiles is an ancient solution to allow user to roam their profile & data across multiple RD Session Host Servers, I still see it being used in older environments. With a roaming profile, a user has a centrally stored profile stored on a file server and during logon and logoff, the delta of that profile is synched with the locally cached copy of the profile. If we would configure OneDrive for Business in such an environment, the OneDrive for Business cache would be synched back ‘n forth for each user at logon and logoff. Depending on the amount of data, this kills the user experience. Redirecting AppData? Don’t even go there :)

- OneDrive for Business and User Profile Disk
User Profile Disk (UPD) was introduced in Windows Server 2012. UPD also allows users to roam their profile across multiple RD Session Host Servers. This time however, not by synching the delta to and from a file server, but by mounting a dedicated .VHDX file per user, stored on a file server that contains the entire users’ profile. To accomplish this, UPD makes sure a mount path is created under C:\users\<username>. Because of this, any application that writes to and reads from the user’s profile ‘thinks’ its accessing a locally stored profile, but it is in fact a mounted file. Although this technology is fully transparent for most applications, there are important exceptions. UPD mounts the .VHDX with a symbolic link. The catch here is that Windows won’t send file change notifications. As a result, OneDrive for Business cache won’t know that files have changed and will get out of sync.

- OneDrive for Business drive mapping
A workaround used in some environments is to create a drive mapping pointing directly towards OneDrive for Business in the Cloud. This workaround simulates a home drive like experience because the end user will be presented with an H: mapping. However, since this a WebDAV connection, the experience is not too good. User will start to see delays when opening and saving files.

- Direct access to OneDrive for Business from within applications
Office 365 and Pro Plus have obviously also been improving over time. Now allowing users to access OneDrive for Business directly from the Open and Save menu’s inside for example Word or Excel. And Outlook also allows direct interaction with attachments coming from OneDrive for Business. Although this user experience is quite good, it does require a good user adoption strategy. Users need to be guided into this new way of working with their personal data. The other catch is obviously that non-Office applications generally don’t support direct open and save to OneDrive.

- OneDrive for Business and FSLogix™ Office 365 Container
FSLogix is a unique company that focusses on extending RDS and VDI solutions with a, in terms of footprint, very small yet very powerful tools that makes the life of an end user and administrator much easier. They have several tools in their portfolio, but for this use case we’ll focus on their Office 365 Container product (which I also talked about before in this article). That tool does exactly what the name implies. It provides 3 main solutions:

* True Cached Exchange Mode
Providing what they call OST containerization, allowing Outlook to function and perform as if locally installed on a high performance virtual workspace session

* Outlook Real-Time Search
This enables inbox and personal folder search to work as designed with maximum performance

* OneDrive and OneDrive for Business
This roams OneDrive (for Business) user data seamlessly without the need to resync at each logon.

The latter is of course exactly what we were looking for in the use case discussed in this article! How does it work? The FSLogix agent, that is running on the RD Session Host or VDI and configured using GPO, makes sure that the OneDrive (for Business) data is captured in an isolated container. The technology seems similar to Microsoft User Profile Disk, however FSLogix operates on a lower level of the operating system to ensure that file changes are noticed and processed. Also, the FSLogix streaming technology can cache OneDrive files in the situations where network connectivity to the file server goes temporarily offline. This is also important to ensure OneDrive files do not corrupt upon network interruption.

clip_image002[4]_thumb[1]

What’s also interesting about the Office 365 Container is that it can be layered on top of any existing profile solution you might have. It’s fully transparent and profile solution agnostic, and even the OneDrive for Business application is roamed in the O365 Container.

Conclusion
It’s clear that both the Roaming Profile and User Profile Disk option are a no go when it comes to OneDrive for Business Caching. The drive mapping might work in some scenario’s but must clearly be considered as a work around. The option to guide users to access OneDrive for Business directly from within their applications is a viable solution, but does not solve the users request to easily navigate using file explorer, and this approach mostly only works inside Office applications. FSLogix Office 365 Container is clearly the winner providing both the full OneDrive for Business Sync options users expect, without the need for a complex software suite or application back end.

Got excited about FSLogix Office 365 Container? Get more info of request a trial here: https://fslogix.com/products/office-365-container

4 comments:

  1. I face the same challenges. multi 1000's VDI / Office 365.

    Assume you are aware of the lack of support:

    https://support.microsoft.com/en-us/help/3125202/restrictions-and-limitations-when-you-sync-files-and-folders

    "Additionally, the OneDrive for Business sync app isn’t supported for client sessions that are hosted on Windows 2008 Terminal Services or Windows 2012 Remote Desktop Services (RDS). This includes both persistent and non-persistent Virtual Desktop Infrastructure (VDI)."

    I have to get by this before I configure solutions.

    As an MVP, do you have any insights into this statement?

    ReplyDelete
  2. Hi Kevin,

    Yes, the support statement you mention is correct and the reason behind it is the technical limitation I describe in this blog. Unfortunately, for OfB Sync you need to use 3rd party tools for now, like FSLogix

    ReplyDelete
  3. Thanks for this nice post. I have one question regarding onedrive local storage. How do you size the filer as I don't see any limite to the local cache except the 1 (TB) for each user.

    ReplyDelete
  4. There are restrictions in the OfB application session that we are battling with even using FSLogix implementation. It is not a data pointing issue but limitations in OfB and the RDS user environment. MS adivse that they are contemplating making OfB a multi session friendly application from last research. Tick Tock...

    ReplyDelete