While I usually only blog about BizTalk and Windows Azure, for this post I am going for something different.  This post is talking about data synchronization between different computers systems; like between a laptop and desktop.

 I am sure I am like most readers who have more than one computer at home.  I specifically have one main desktop and one main laptop.  I use the laptop when I travel and I like to have a lot of data from home with me just in case I need it.  This includes about 1 TB of pictures, movies, client data, and other files. 

Below I outline two options to help you keep data in sync between multiple systems. 

Option 1: Synchronization via the Cloud

Cloud based storage is the new thing.  In the past few years numerous services have launched such as Dropbox, Google Drive, and Microsoft OneDrive (just to name a few).  They offer much more than just storage in the cloud.  They offer a whole cloud-based content management system with the ability for collaboration with per user permissions, download links, sharing large files that could not be sent via email, and more.

I currently use Dropbox for syncing frequently used and smaller files.  I also use Dropbox for sharing files with Pluralsight, the training company I contract with to create online training courses like “Intro to BizTalk Server 2013 Enterprise Service Bus (ESB) Toolkit“.  With Dropbox, sharing large files with my editor is as easy as drag and drop into my Dropbox folder.

Pros of using Cloud-based Synchronization:

  • Automatic, real-time synchronization when all systems are online
  • Typically simple and easy to use interfaces
  • Ability to share large files with others through a download link
  • User permission management tools

Cons Include:

  • Data is in the cloud
  • Upload speed is dependent on the internet connection
  • Limited amount space in most free accounts
  • Usually a monthly or yearly charge for more space and additional features

Option 2: Software synchronization

Software synchronization typically runs on a schedule to either copy all the data from one system to another or do a compare to ensure only new & changed files are copied over.

When looking for the best software for me needs I evaluated several different options I found online.  I selected SyncBackFree by 2BrightSparks over 5 years ago and have since  upgraded to a paid version.  The free version is really free with no ads and packed full of features.  Since it is free, it is well worth everyone giving it a try.

They offer two paid versions: SyncBackSE and SyncBackPro.  The SE version includes support and the ability to copy open and locked files.  The Pro version includes support for syncing with popular cloud platforms and scripting support for custom integration into your workflows.  See a complete feature comparison

I use software synchronization as my primary source of keeping data desktop and laptop data in sync.  This is due to the large volume of data I want to have access to both at home and on the road.  Plus I would not want client files or code exposed on the internet in the event of a hack on one of the cloud providers. It is now part of my packing routine to run the synchronization program right before I pack up my laptop and first thing when I get home from a trip.

I also use SyncBackPro to sync data between my computer and my network attached storage (NAS) for nightly scheduled backups.

Pros of using Software-based Synchronization:

  • Synchronization of unlimited amounts of data
  • Fast synchronization using your home network
  • Secure
  • Free software options available
  • Can be used for NAS storage backups

Cons Include:

  • Data can be out of sync until the program runs
  • If not scheduled, the user needs to remember to run the program before disconnecting a device like a laptop
  • No ability to share large files with others

 

What type of data sync do you use between systems?