Cloud Cache is a technology that both provides incremental functionality to the current FSLogix product line
, and enables new use cases, some of which are in the product today and others that will be possible in the future. The following list represents the primary advantages that Cloud Cache makes possible as part of our Office 365 Container and Profile Container products:
- Supplement redirected data with a Local Cache file, creating a more resilient environment which can withstand short storage and/or network communication outages.
- Facilitate reads for some redirected files
,from the local cache file, potentially decreasing cross-network communication and fileserver resource consumption, while improving user experience.
- Utilize the local cache file to enable storage types for profile storage that traditionally would not be appropriate for use with remote profiles(cloud, SFTP, etc.)
- Provide the ability to redirect to multiple remote containers (VHD/VHDX files from Profile or Office 365 Container), creating real-time redundancy and disaster recovery for redirected files.
- Local cache allows for possible optimization of cloud storage and other storage solutions where cost is associated with numbers of transactions.
FSLogix Cloud Cache Design and general functionality
Cloud Cache utilizes a local cache file, which contains a sub
-set of the overall dataset that is stored in the remote container file. Cloud Cache also utilizes a local “Proxy File” which contains no data, but is utilized as a placeholder for access the Cloud Cache system. No Data nor IO occurs directly to the Proxy file.
The local cache file will generally be utilized for the majority of reads because once the read is accomplished, the data is stored in and accessed from the local cache file until it is removed. Additionally, the local cache file will receive any writes from the system, then propagate those writes to one or more remote profile containers.
Important Note: Because the local cache file will be the most active storage for user data, the performance on the local cache file will determine the user experience. It is critical that the storage utilized for the local cache file be high-performing and highly available. It is also strongly suggested that any storage utilized for the local cache file be locally attached storage or have reliability and performance characteristics that meet or exceed high-performing physically attached storage.
If a remote container file becomes unavailable, the system will continue to operate with the remaining remote containers. If that remote container file becomes available before the user logs off, then it will be brought up to date from the Local Cache. If the remote container is not available when the user logs off, it will be brought up to date in subsequent sessions by being completely replaced by an existing and up to date Remote Profile Container.
The Importance of the order of CCDLocations
When defining CCDLocations, the order will determine the priority in which FSLogix attempts to read files when information is needed that is not already stored in the Local Cache file. If the first path specified is unavailable for reading, then FSLogix will attempt to read from the 2nd location and so on.
Cloud Cache will always write to all locations specified in CCDLocations, assuming that all locations are available
Moving to Cloud Cache from Traditional FSLogix Profile Containers and/or Office 365 containers
It is possible to move currently operating environments from traditional Profile Containers and/or Office 365 Containers by replacing VHDLocations with CCDLocations. CCDLocations and VHDLocations must not be used in the same configuration.
When the Cloud Cache system finds a remote container file that does not have the appropriate Cloud Cache metadata, the system will update the environment with the needed metadata, effectively converting a legacy remote container file to a Cloud Cache remote container file.
In the event that a user has legacy remote container files in more than one of the CCDLocation paths, the first remote location container file will be updated and all other files will be deleted and replaced with the file found in the first location.
There is no mechanism to merge multiple remote container files together, a single file must be selected as the file for Cloud Cache to utilize.
Recommended configuration when utilizing Cloud Cache for Physical Machines that may go off-line (e.g. Notebook)
When Cloud Cache is to be utilized for physical devices that may be taken off
- CCDLocations should be configured so that the first remote container is placed on the local drive.
- ClearCacheOnLogoff would generally be set to 1, as to avoid eventually having two full copies of the profile on the local machine
NOTE: This configuration is not suitable for a profile that is shared between the physical device and virtual sessions, unless virtual sessions are NOT accessed from alternate devices while the physical device is offline. If a remote container file is accessed by a second session, then the remote container located on the offline device, and the remote container located on the network or in the cloud will not be in synch, and whichever remote container file was accessed last will REPLACE all other remote container files.