My application consists of few microservices and web (React) frontend. Basically I have auth microservice, application backend service, various data processing services and frontend rendering server. These are all based on Node.js and are containerized by Docker.

My production environment platform is Rancher. In short, Rancher is container management platform which automatically scales your containers among various hosts.

There is a "high availability" machine which is under full backup and contains Rancher container, its database, load balancers, DNS, and other stuff that needs to be easily backed up and get running.

All other stateless containers such as various microservices that run my application (which are behind load balancers) are managed and scaled by Rancher and their hosts do not need any backup plans, these are scaled both vertically and horizontally on demand without need of any backup plans or special monitoring (as these are managed by Rancher).

I am using Mongo, Elasticsearch & Redis as my database services. Some of our other software use mysql and mssql which we planned to migrate into this environment as well. Previously I served static files via Ngnix or Node.js webserver itself.

All three of my services and static files need to be fully persistent. Can these services data volume share hosts and their filesystems?

Which are convenient external volume solutions for data persistence?

  • Please explain what you would like to achieve. E.g: What is currently not working? What did you try to solve the issue? What kind of impediments occur? What did you find on the internet and why did the results not solve the issue? Please edit the Q&A. – 030 Dec 23 '19 at 9:17