Infrastructure Design
3.1 High-Level Layout
The environment was built around three application servers and three database servers, with a dedicated HAProxy VM placed in front of the application tier.
A simplified view of the flow is shown below:
Users
|
v
HAProxy Load Balancer
|
+------------+------------+
| | |
v v v
App1 App2 App3
| | |
v v v
DB1 DB2 DB3This design provides a clear separation between the access layer, the application layer, and the database layer. It also avoids relying on a shared filesystem for normal operation.
3.2 Why This Design Was Selected
This architecture provides several practical benefits:
Better availability through VM-level redundancy
Easier maintenance because services can be restarted independently
Better scalability because additional application nodes can be introduced later
Reduced risk of database and application coupling
More flexibility during recovery because Proxmox HA can recover application VMs automatically