High Availability Requirement for Greenlight Deployment
Hello everyone,
We have a new requirement to run Greenlight in a high-availability (HA) setup.
Current Setup - We currently run the following containers on a single machine:
- Greenlight
- Redis
- PostgreSQL
This setup introduces a critical risk - if the machine goes down, all running containers become unavailable, directly affecting our uptime.
New Requirement
We need a solution that ensures:
- 2–3 machines are always available as part of the Greenlight deployment.
- A load balancer sits in front of the application.
- If one VM becomes unavailable, the system should automatically -
- Route traffic to another healthy VM.
- Start/recover the required containers on that VM.
This configuration should allow us to maintain service uptime even during machine failures.
Assumptions
Database data is stored on an NFS-backed storage, which is assumed to have continuous availability. Because of this, DB data replication is not required.
Proposed Approach
We are considering implementing Docker Swarm mode to orchestrate the containers across multiple machines and provide failover capabilities.
Request for Input
I would appreciate everyone’s thoughts, suggestions, or alternative approaches for setting up a high-availability architecture for Greenlight.
Thank you, Niraj