(13.3) Deployment Models
Non-Redundant / Simplex Mode Deployment
For a non-redundant deployment, the application is deployed on a single server with a single point of failure.
High Availability (HA) / Duplex Deployment
For HA, ExpertFlow deploys the solution on two VMs as Docker containers using Docker Compose. If one VM goes down, the traffic will be routed to the other VM.
Each solution component is deployed as a stateless microservice in its own Docker container. Expertflow opted for a service-per-container paradigm in which each backend microservice is executed in its separate container.
Each Docker container is deployed with the “Restart Always” policy which causes it to restart automatically on the same VM. Notice that there might be a downtime of a few seconds while restarting the container. This implies that any requests received during the downtime will be rejected.
Services will be available via a virtual IP. If one of the VMs goes down, the virtual IP will route the traffic to the other VM.
Out of Scope
- Component-Level Failover: Failover of individual components is not supported.
- Network-level failover support: The internal network/link between the VMs (or the Docker network) is assumed to be working all the time.
- DB Cluster: Setting up the DB cluster for MS SQL Server lies under the Customer responsibility.
- Manual intervention will be required when both VMs are down.
Failover scenarios
Failover Scenario | Behavior | |
---|---|---|
1 |