An open-source scalable personal cloud

Architecture overview

In general terms, StackSync can be divided into three main blocks: clients, synchronization service (a.k.a. SyncService), and the storage back-end. An overview of the architecture with the main components and their interaction is shown in the figure below The StackSync client and the SyncService interact through the communication middleware called ObjectMQ. The SyncService interacts with the metadata database for persistance, and clients directly interact with the storage back-end to upload and download files.


StackSync architecture


As we can see in the figure above, the storage back-end is separated from the rest of the architecture by a line. This means that StackSync can use external storage backends such as Amazon S3 or RackSpace. This enables StackSync to fit different organization requirements and be offered in three different configurations:

  • Public Cloud. Data and metadata is stored in a public storage provider such as Amazon or Rackspace.
  • Private Cloud. StackSync is installed on-premise. Data and metadata is stored on the company’s infrastructure./li>
  • Hybrid Cloud. Data is stored in a public storage provider and metadata is kept inside the company’s infrastructure. This allows organizations that sensible information is stored on-premise, while raw data is stored encrypted on a third-party storage service.

If you are curious about StackSync and want to learn more, take a look at the different components: