Recommendations for high-availability deployment to prevent data loss


We are in the process of deploying the LAMP platform to collect active and passive data from around 200 participants.
In terms of resource requirements (vCPUs, RAM etc.), a single node/VM deployment seems adequate for our use case. But we would like to ensure high-availability so that when we reboot VM(s) for periodic upgrades/maintenance we do not lose any data sent by the mindLAMP app.

  1. If we use a single VM deployment (traefik + LAMP & dashboard server + mongo on one VM), will a down time of say 10-15 minutes cause loss of data?

    • If the mindLAMP app cannot reach server for 10-15 mins, will it cache the data and retry the pending requests (with active and passive data)? If so, I think single VM deployment could work and we won’t have to worry about managing multiple VMs.
  2. If we have to use multiple VMs, how about a three-node setup: 2 VMs for replicated traefik + lamp servers and 1 VM for MongoDB?

    • In this case, if we reboot MongoDB VM for upgrades, will lamp server still accept requests from the app and cache them in Redis to retry later when MongoDB is up again?

Thank you for your time!



Which member site are you part of and which project does this involve? That will be useful to know.

John Torous