What do you need help with?

Why We Separate Database and Web Application Servers

 

As of 2024, EPASS requires a dedicated web application server, in addition to the database server. Further details are available in our system requirements.

In our software architecture, we run the EPASS database on one server and the xAPI / EPASS Reports / web applications on another. This separation is intentional and follows industry best practices to ensure security, performance, scalability, and reliability.


🔐 Security

  • Layered Protection: By isolating the database, we reduce the risk of unauthorized access. Even if the web server is compromised, the database remains protected behind its own firewall.
  • Controlled Access: The web application connects to the database using restricted credentials, minimizing exposure and enforcing the principle of least privilege.

🚀 Performance

  • Optimized Resources: Databases are memory and disk I/O intensive, while web applications often require more CPU. Separate servers allow each to be tuned for its specific workload.
  • Avoiding Bottlenecks: Running both on the same server can lead to resource contention, slowing down both components—especially under heavy load.

📈 Scalability

  • Independent Scaling: As demand grows, we can scale the web application horizontally (adding more servers) without affecting the database. Similarly, the database can be scaled vertically or clustered independently.
  • Flexible Upgrades: Each server can be upgraded or resized based on its role, allowing for more efficient resource management.

🛠️ Reliability & Maintainability

  • Reduced Downtime: If one server fails or needs maintenance, the other can continue operating. This separation improves fault tolerance and system uptime.
  • Simplified Troubleshooting: Isolating components makes it easier to identify and resolve issues without affecting unrelated parts of the system.

🧱 Architectural Best Practices

  • Design: Our architecture follows a layered approach—presentation, business logic, and data access—mapped to separate physical environments.
  • Modern Infrastructure: This separation supports containerization and cloud-native deployments, enabling better load balancing and fault isolation.

✅ Summary

Separating the database and web application servers is a strategic decision that enhances:
 

Benefit Description
Security    Limits exposure and enforces access control
Performance    Prevents resource contention and optimizes workloads
Scalability    Enables independent scaling and flexible upgrades
Reliability    Improves fault tolerance and simplifies maintenance
Best Practices    Aligns with modern software architecture standards

If you have any questions or would like to learn more about our infrastructure, please contact EPASS Support.

×
Select company

You are related to multiple companies. Please select the company you wish to login as.