Resilient OnPremise deployment

0
Question I need help with designing a high-availability infrastructure for a Mendix application accessed by up to 1000 computers. I've reviewed the Mendix documentation on separating app/web server, file server, and SQL server. I'm looking for guidance on setting up two web/app server frontends that connect to the same file storage and SQL server.  I'm struggling with a design to update the application, including OS patching, while maintaining high availability.
asked
2 answers
2

Hi Michael,

To achieve high availability for a Mendix application accessed by up to 1000 computers, deploy two Mendix app servers behind a load balancer (such as Azure Application Gateway, AWS ALB, or HAProxy). Both app servers should connect to the same shared file storage (e.g., NFS, Azure Files, or AWS EFS) and a highly available SQL server (like PostgreSQL with HA setup or SQL Server Always On).

Configure the load balancer with health checks to route traffic only to healthy nodes. For updates (Mendix runtime, application deployment, or OS patching), follow a rolling update strategy: remove one app node from the load balancer, apply the update, verify functionality, and then repeat for the second node.

Ensure that both nodes use the same Mendix deployment package and runtime configuration, and maintain session stickiness or use a centralized SSO mechanism if needed. File storage should support concurrent access, and the database layer must have automatic failover.

This setup ensures zero/minimal downtime during maintenance while maintaining high availability and performance for all users.

 

Hope it helps!

answered
1

Running multiple mendix runtime instances takes more than just sticky sessions.

 

You definitely want to review:

- https://docs.mendix.com/refguide/clustered-mendix-runtime/

- https://docs.mendix.com/deployment/

 

And depending on how exactly you are deploying, there are specifics to consider. 

answered