What is best approach to designing a local-to-cloud cloud-to-local Infrastructure?

  softwareengineering

I plan to have a cloud web application(CWA) and several local web application(LWA), let’s assume 3 LWAs and 1 CWA. CWA === LWA.

This web application would consist of a database server, file storage server, An Application server.

I have two options for synchronisation:

Option 1:

A record saved in LWA-1 would reflect in the CWA and LWA-2 and LWA-3 and vice versa (it might not be real-time and I’ll explain why in a bit).

Option 2:
A record saved in LWA-1 would not reflect in LWA-2 and LWA-3 BUT would sync to the CWA. Same goes for other LWAs. Essentially, The CWA aggregates data synced from all LWAs.

Main Challenges:

  1. Internet connection is really really unreliable and bad so synchronisation will happen at intervals when Internet will be stable. This is why I’m relying heavily on local systems and not a complete cloud solution.

  2. Avoiding Duplicate keys on synchronisation.

  3. Ensuring Data Integrity.

  4. Maintaining unique records. E.g client A registered on LWA-1 must not be able to re-register on LWA-2 and LWA-3.

I need your bright minds to help determine the best approach to designing this whole system.

Techs: NodeJS, MySql, Linux, python

2

LEAVE A COMMENT