Servers Weren't Enough?

When limited recourse unlock your limits

From a Constrained VPS to a Standalone, Integrated LMS

Background

The university's platform began as a set of applications covering admissions, academics, results, finance, the public website and management. All of them shared one PostgreSQL database and ran on a single VPS. That setup suited administrative work, which is mostly low-volume reads and writes spread evenly across the day. Adding e-learning raised the question of whether the same server could carry it.

The Problem

A learning management system loads a server very differently. Students upload assignments, lecturers publish videos and course files, and quizzes draw hundreds of simultaneous sessions within a few minutes. On one VPS, those spikes would compete for the CPU, memory and disk I/O that results publication and registration depend on. Course media would also fill the storage that holds official records and backups. One heavy exam week could slow or stop the systems the university cannot afford to lose. Scaling the VPS vertically would mean paying all year for capacity needed only a few weeks per semester.

The Idea

Instead of building the LMS into the core platform, we designed it as a separate system that stays integrated. It runs on its own infrastructure and can scale, restart or fail without affecting the core. Integration comes from PostgreSQL logical replication: the core database runs with wal_level=logical, and the LMS subscribes to the data it needs, such as students, courses, enrolments and staff. Roles reserved for the LMS (teacher, lms-admin) already exist in the core's permission model, so identity and access stay consistent across both systems.

Outcome

This design gave us three advantages:

• Isolation: the extra load from e-learning never reaches the registrar's systems.

• One source of truth: the LMS reads academic data and never duplicates or edits it.

• Modularity: the LMS is deployed per institution, only when needed. The core platform therefore stays light enough for a modest VPS, and the LMS becomes an optional add-on rather than a requirement.

The server's limits forced a decision, and that decision became a better product architecture.

Contact

Tell us how your organisation works. We'll build around it.

Email our support team with a line on the organisation and what it needs.