Best Practices for Sharing Files Across Machines

The following best practices for using shared files across all machines (a.k.a. virtual machines, or VMs) will ensure the highest levels of synchronization for your Hyperscience instance. Such an example is when you want to use the same SSL certificates on all machines. 

Note that the following best practices apply even if you are using S3 or Azure as your file store. S3 and Azure can be used to store data and process artifacts, but a shared file server is recommended for file synchronization across multiple machines.

Use network-mounted storage, and mount a directory with the files across all machines.

With network-mounted storage, if you add your file to a specific directory and mount that directory, it becomes shared across all machines. Thus, when you want to update the file, you only need to update it in the mounted directory, and the changes propagate to all machines. 

Use a server-management tool. 

If you’re not using network-mounted storage, we recommend using a server-management tool as an alternative (e.g., Chef, Puppet). Server-management tools also allow synchronization of files between multiple machines. 

Do not synchronize the trainer.

There should be no file sharing between multiple trainers or between a trainer and the application’s machines, as the Hyperscience Trainer is self-contained and only uses local storage.