BigBlueButton load balancing with Scalelite

Scalelite lets a pool of BigBlueButton servers appear as one endpoint for Greenlight and Moodle. This page covers how to size and connect the pool, store recordings, and plan for server failures during live classes.

On this page

BigBlueButton load balancing with Scalelite: when one server is no longer enough

Scalelite is the open-source load balancer that makes a pool of BigBlueButton servers look like one server to teachers, students and the systems that call it. When a new meeting is created, Scalelite sends it to the least loaded node in the pool, so the front door stays the same while capacity grows behind it. Teams usually reach for it when one BigBlueButton server is hitting its limits because concurrent classes keep rising, or when a university or school district wants a single entry point for several servers rather than separate URLs for each one.

A single well-specified server is still the simpler choice when concurrent sessions are predictable, peaks are modest and the institution can accept a short outage during maintenance. Adding Scalelite brings more moving parts: PostgreSQL for its state, Redis as a cache, an NFS shared volume for recordings, and the operational work of keeping every node on the same BigBlueButton release. If a single server, sized to the published minimums and monitored properly, covers the peak, that is usually the cheaper system to run. Confirm the peak with your own data before deciding.

The size of the pool is a planning exercise that only your own data can answer. Pull the class schedule for a typical term and for your busiest weeks, and count the number of overlapping sessions, their participant counts, and whether they use video, screen sharing and recording. Compare those peaks with the requirements for each BigBlueButton 4.0 server, which include at least 16 GB of RAM with swap, 8 CPU cores with high single-thread performance and 250 Mbit/s of symmetrical bandwidth. Then add headroom for a node that fails during a live class, because a pool sized exactly to today's peak has no slack when one server drops.

Ask the people who run the schedule, not only the people who run the servers. Departments often add recurring sessions, exam weeks shift the peak, and a single large course can change the load pattern overnight. Record how many sessions each server can carry before the team sees degraded audio or video, and use that figure as the planning limit. Decide in advance how many nodes you will keep idle for failover, and who approves adding a server before the start of term rather than during it.

Before you build, confirm three things with your own environment: the capacity you need at peak, the storage plan for recordings on the shared NFS volume, and how the team will apply BigBlueButton and Scalelite updates across the pool without interrupting classes. These decisions shape the rest of the design, including the database and cache layout and the handling of server failures during live sessions.

Which BigBlueButton load balancing layout fits your class volume

This table compares four BigBlueButton 4.0 layouts, from a single server to a Scalelite pool connected to Moodle. Each row shows what the layout adds, what it adds to day-to-day operations and when it fits. Measure your peak concurrent sessions against the minimum server specification and your own timetable before choosing, because the right layout depends on that peak.

LayoutWhat it addsWhat it adds to operationsWhen it fits
Single BigBlueButton 4.0 serverOne installation runs meetings, recordings and document conversion on one host.One host to patch, back up and monitor, and an outage stops all live classes.Pilots and small timetables where peak concurrency stays within what one server can carry.
Scalelite pool with shared recordings volumeScalelite presents several BigBlueButton servers as one endpoint and places each meeting on the least loaded server.PostgreSQL, Redis and an NFS recordings share must be built, secured and backed up alongside the servers.Peak schedules that exceed one server, where every pool member can reach the same recordings store.
Pool fronted by Greenlight v3Greenlight v3 gives staff a room-based front end that sits on the Scalelite endpoint.Adds a second application to upgrade, plus an OpenID Connect identity configuration to maintain.Institutions that want self-service room management for staff and students without an LMS.
Pool connected to Moodle through the LMS activityInstructors start and join sessions from Moodle courses while the pool serves the meetings.Requires API secrets kept out of web pages, and Moodle and pool upgrades tested together.Schools that run classes in Moodle and want sessions tied to course enrollment and access.

How Scalelite routes meetings across a BigBlueButton server pool

Scalelite sits between the applications that create meetings and the BigBlueButton servers that host them. Greenlight or an LMS such as Moodle calls the Scalelite endpoint, and the calling application keeps that one address whatever the size of the pool behind it. When a meeting is created, Scalelite selects the least loaded server in the pool, and the meeting runs on that server. For planning, every integration should be configured with the Scalelite endpoint. An integration that still points at an individual BigBlueButton server skips the routing decision and can overload one node while others sit idle.

PostgreSQL holds the durable state of the pool. In broad terms, it records which BigBlueButton servers are registered, their status, and which meetings are active on which server. If that database is lost, Scalelite can no longer reliably tell where a meeting lives, so it needs backups and a restore procedure that someone has actually tested. Redis serves as a cache, which lets Scalelite answer frequent lookups without querying PostgreSQL every time. Ask your team to confirm in the Scalelite documentation for your release what happens to routing if Redis is cleared or restarted during live classes, and build that answer into your runbook.

Recordings are written by whichever BigBlueButton server hosted the meeting. Playback must work regardless of which node recorded the session, so the recording directories are placed on a shared NFS volume that the servers in the pool can reach. Decide early how the NFS export will be sized, how traffic between the servers and the volume will be isolated, and who may access the files. The install documentation gives 500 GB of disk per BigBlueButton 4.0 server for recordings. Confirm how that figure applies when recordings sit on a shared volume, because the shared volume also becomes a shared dependency: if it is unavailable, new recordings and playback of existing ones can fail.

Several coordination details, including how Scalelite measures server load, how it marks a server as unavailable, and how it cleans up meeting records, can change between releases. Read the Scalelite documentation for the exact release you plan to run and record the answers before deployment. Scalelite also passes through API calls, which must carry checksums computed with a secret shared with each server, so confirm where that secret is stored for each calling application and keep it out of web pages. Finally, rehearse a server failure with a test pool and check that existing meetings, new meetings and recordings behave as the documentation describes.

Setting up a Scalelite pool step by step

This sequence takes a set of clean BigBlueButton 4.0 servers and turns them into one load-balanced pool that presents a single entry point to Greenlight or an LMS. Each step ends with a check, so you confirm the pool works before you move on to the next layer.

  1. Confirm hardware and network for each node

    Before you install anything, check every planned BigBlueButton 4.0 server against the published minimums: at least 16 GB of RAM with swap, 8 CPU cores with high single-thread performance, 500 GB of disk if recordings are kept (50 GB without recording), and 250 Mbit/s of symmetrical bandwidth. Your infrastructure or systems team usually owns this step, and it should be done per node, because each server carries its own meetings. Record the specifications in a sizing sheet that lists the node name, CPU, memory, disk and network link. The step is complete when every node meets the minimums and the bandwidth has been measured from the actual network path, not only read from a data sheet.

  2. Prepare clean Ubuntu hosts with DNS and SSL

    Install a clean Ubuntu 24.04 64-bit server on each node. BigBlueButton 4.0 does not support direct upgrades from 2.6, 2.7 or 3.0, so existing BigBlueButton hosts should be rebuilt rather than updated in place. Give each node a valid hostname with a DNS record that resolves from user networks, and plan the certificate that SSL will use for that name. Open TCP 80 and 443 and UDP 16384 to 32768 from the networks where users sit, and confirm they are reachable from outside the server. The step is done when each hostname resolves, each host passes an external port check, and the certificate path for each name has been tested.

  3. Install BigBlueButton on each node

    Run the bbb-install.sh script on every node, one at a time, so each server becomes a complete BigBlueButton 4.0 installation. Decide during this step whether Greenlight or LTI support goes on the same server, because the script can install them alongside BigBlueButton. Plan Docker for sandboxed LibreOffice document conversion, and decide whether a TURN server is needed for users behind restrictive firewalls. Keep each node's hostname and configuration files in version control so the nodes stay consistent. The step is complete when each node passes its built-in configuration check and a test meeting opens and carries audio, video and a shared slide when started directly on that node.

  4. Provision PostgreSQL, Redis and the recordings volume

    Set up the shared services that Scalelite depends on: a PostgreSQL database, a Redis instance and an NFS volume that holds recordings. Confirm sizing and configuration against the current Scalelite documentation, since these services carry state for the whole pool. Mount the NFS share on every BigBlueButton node at the recording location so that any node can read what any other node wrote. The step is done when the database and Redis accept connections from the Scalelite host, and a test file written from one node appears on every other node through the NFS mount.

  5. Deploy Scalelite and register each server

    Deploy Scalelite on its own host, connect it to the PostgreSQL database and Redis instance, and then register each BigBlueButton node by its hostname. Each registration uses the shared secret configured on that node, and BigBlueButton API checksums depend on that secret, so keep it out of web pages and store it in a secrets manager. Assign each server a load weight that reflects its capacity. The step is complete when Scalelite lists every node as registered and available, and a test API call routed through the Scalelite endpoint returns a valid response.

  6. Point Greenlight or the LMS at the pool

    Configure your front end, whether Greenlight or an LMS integration, to use the Scalelite endpoint and its shared secret instead of any single BigBlueButton node. Nothing in the front end should name an individual server, or the pool will lose its purpose if that server fails. Confirm the connection from a test account that creates and joins a meeting through the normal user path. The step is done when a meeting created through the front end is accepted by Scalelite and appears as running on one of the registered nodes.

  7. Run test meetings across the pool

    Run several test meetings at the same time, with enough participants on each to put real load on the nodes, and observe where Scalelite places them. A correct setup sends new meetings to the least loaded server, so the test should show meetings landing on more than one node. Join meetings from different networks and devices, and record one session on each node. The step is complete when at least one test meeting lands on a second node, and each recording made on any node is visible from every other node through the shared volume. Keep the test results with the sizing sheet as a baseline for later changes.

Connecting Greenlight and Moodle to the pool

Greenlight and Moodle should address only the Scalelite endpoint, so the load balancer chooses the BigBlueButton server for each meeting. The front ends should never hold the address of an individual server. If one front end points at a fixed server, that server becomes a single point the pool cannot route around, and classes scheduled there are exposed when it fails. Before you change any front-end setting, confirm the endpoint and the server list in the Scalelite configuration. Then test meeting creation and joining through the endpoint from each front end, and check that the meeting lands on a different pool member when load shifts.

Every BigBlueButton API call must carry a checksum computed from the call's parameters and the secret shared with the server. The default algorithm is SHA-256. SHA-1 remains available for legacy use, and SHA-384 and SHA-512 are supported since version 2.5. Verify which algorithm each front end sends and which one your server version expects. An algorithm mismatch produces failed calls that look like a credential fault, so check it early. Record which systems hold the shared secret, because rotating it means updating Scalelite and every front end together, and planning that change in a maintenance window avoids a split configuration during live classes.

Greenlight v3 supports external authentication through OpenID Connect, and you configure it with environment variables. Decide the identity provider before installation. If your institution already runs an OpenID Connect provider, connect Greenlight to it directly. The external authentication documentation suggests Keycloak as a broker for Google, Microsoft, SAML and other login methods, which is useful when several sign-in paths must reach one Greenlight instance. Register Greenlight as a client, make the redirect addresses match the Greenlight hostname exactly, and test sign-in with an account from each login path. Confirm the variable names against the documentation for your Greenlight version.

Moodle's built-in BigBlueButton activity is the connection point between the learning management system and the pool. Configure it in the site administration with the Scalelite endpoint and the shared secret, so that course authors add the activity without handling credentials. Teachers should not paste endpoint addresses or secrets into course pages, descriptions, or HTML blocks. Check the settings available in your Moodle version, including how recordings are presented and whether any option sends the secret to the browser. Confirm these details against Moodle's documentation and your own test course before the first live class.

The shared secret must never appear in a web page. That includes Greenlight templates, Moodle HTML blocks, custom themes, client-side JavaScript, error pages and screenshots of settings posted to support tickets. Anything delivered to a browser reaches every visitor who can view its source. Run these checks after each configuration change: view the source of the sign-in page and a course page, search the Greenlight and Moodle logs for the secret, and confirm that only administrators can open the settings that store it. If the secret is exposed, rotate it in Scalelite and in every front end at once, then review who had access.

Securing the shared secret, recordings and student data

Scalelite brings several sensitive assets into one deployment: the shared secret that authorizes API calls, the NFS volume that holds recordings, and the database that tracks them. The cards below cover how to protect each one, then the student data duties that apply once recordings exist. DeployOpen prepares these controls and the evidence for them, but independent auditors issue any audit report.

Protecting and rotating the shared secret

The shared secret signs every BigBlueButton API call, so anyone who holds it can create meetings and act on your servers. Keep it out of web pages and client-side code, and store it in a secrets manager that only the administrators who deploy Scalelite can read. Rotate it when a staff member with access leaves, and confirm that every server in the pool and the load balancer configuration received the new value in the same change window.

Limiting access to the NFS recordings volume

The NFS volume that stores recordings is shared by the BigBlueButton servers, so any host allowed to mount it can read every recording on it. Export the volume only to the specific server addresses in the pool, and use network segmentation so student and staff workstations cannot reach the NFS ports. Map user and group IDs deliberately so one server cannot overwrite another's files. Keep a written list of who and what can mount the volume, and review it after every change to the pool.

Backing up and logging the recording store

Scalelite keeps its state in PostgreSQL, and the recordings on NFS are the content instructors and students will ask for later. Back up both on a schedule, and test restores into a separate environment, because an untested backup is unproven. Enable access logging on the NFS server and the database host so you can answer who viewed, downloaded or deleted a recording. Ask your records office how long backups must be kept, since backups can hold deleted student data longer than the live system.

Multi-factor authentication for administrative access

Administrative access to Scalelite, the BigBlueButton servers, the database host, the NFS server and the identity provider behind Greenlight controls every meeting and recording. Require multi-factor authentication for every account that can reach those systems, including vendor and contractor accounts. Use separate administrator accounts for privileged work, and confirm with your identity provider which factors it supports for SSH and console access, and whether your jump host enforces them.

FERPA access and recordkeeping duties

Recordings that identify named students can be education records under FERPA. The regulation expects you to limit access to school officials with a legitimate educational interest, using technical controls such as role-based access to the recording store. It also requires a record of each disclosure, kept as long as the records are kept, and a response to an inspection request within 45 days. A hosting partner can receive records only under the direct-control and redisclosure terms of 34 CFR 99.31, so confirm those terms in the contract.

COPPA and GLBA obligations

COPPA applies if children under 13 attend, such as in a program for younger students. It requires a written information security program with a designated coordinator, at least annual risk assessments, and a written retention policy with a deletion timeframe. GLBA's Safeguards Rule applies to institutions that participate in Title IV programs and requires a written security program plus notice to the FTC within 30 days of a qualifying event. Confirm which of these apply with your counsel and compliance lead.

Handling server failures during live classes

A server pool is only as dependable as its plan for failure, and three failure modes need explicit answers before term starts: a BigBlueButton node going down during a class, the loss of the shared PostgreSQL database or Redis cache that Scalelite uses, and an NFS outage that blocks recordings. They differ in scope. A node failure affects the meetings hosted on that server. A shared database or Redis failure can affect routing for the whole pool, because Scalelite relies on those components to track servers and place meetings. An NFS outage often goes unnoticed during the lesson itself but can lose recordings or leave them incomplete. For each case, confirm which actions still work (joining, creating meetings, recording) in your deployed Scalelite and BigBlueButton versions, and write those answers down.

Start with health checks on every BigBlueButton node, run from outside the node as well as on it. Check that the web front end responds, that the API answers with valid checksums, and that media services are running. Track each node's status in your monitoring system and alert the on-call team when a node stops responding. Before maintenance, disable or drain the node in Scalelite so that no new meetings are placed on it, then wait for active classes to finish before patching or rebooting. The exact commands and server states depend on the Scalelite release, so confirm them against the version you deploy. Name who has authority to take a node out of rotation during a live class, because that decision cannot wait for a meeting to finish.

When a meeting is lost, teachers and students are usually disconnected and may not be able to rejoin the same session, and any recording in progress may be incomplete. Confirm this behavior in testing, including whether rejoining through the same learning management system link creates a new session on a healthy server. Give teachers a short runbook: how to restart the room from the course link, what to tell students, and whom to call if the room does not return. Communication matters as much as the technical fix. Publish a status message through the channel students already use, such as the LMS course announcement or a status page, with plain language, the time of the issue, and an update when service returns. Send a short follow-up after recovery.

The behavior of in-progress meetings when a node fails must be confirmed by testing against your deployed Scalelite and BigBlueButton versions. Do not rely on vendor descriptions alone, and do not assume that behavior is the same across pool configurations. Before term start, run a rehearsed failover drill. During a scripted test class, stop a test node and time how long detection and recovery take. Check whether students can rejoin, whether the teacher can restart the room, and what happens to any recording. Simulate an NFS outage by unmounting the recording volume in a test environment, and check how the pool and teachers respond. Record the results, update the runbook, and repeat the drill after any upgrade. DeployOpen can write the runbook and run the drill as a scoped engagement.

Limits to confirm before you size the pool

The number of servers you need depends on facts you must check in your own environment before you buy or build. The five items below cover the release, the upgrade path, per-server network requirements, the Docker dependency and your peak demand. Confirm Scalelite's current supported versions and how it handles recording storage with the project before you commit.

Confirm the release in use

BigBlueButton 4.0.0 was released on October 14, 2026, and the 3.0 branch still receives maintenance releases, such as 3.0.39 on October 2, 2026. Decide which branch the pool will run, then confirm that the Scalelite version you plan to deploy supports it. Read the release notes for changes that affect the load balancer, recordings or API integrations before you order hardware.

Plan the upgrade path

Direct upgrades from 2.6, 2.7 or 3.0 to 4.0 are not supported, and a clean server installation is recommended. If you already run BigBlueButton, treat the move as a new build: provision fresh servers, assemble the pool, then migrate any Greenlight or LTI configuration and the recordings you must keep. Schedule a cutover window and a rollback plan for classes that are already running.

Bandwidth and ports per server

Each BigBlueButton 4.0 server needs 250 Mbit/s symmetrical bandwidth, TCP ports 80 and 443 and UDP ports 16384 to 32768 must be reachable, and each server needs a valid hostname for SSL. Measure what each site's network delivers in practice, not only what the provider advertises. Users behind restrictive firewalls may need a TURN server, which the project recommends, so budget for it and test media from those networks.

Docker for LibreOffice conversion

BigBlueButton uses Docker to run LibreOffice document conversion in a sandbox. Every server in the pool needs Docker for this function, so confirm that your container and host hardening policies allow it. Each pool member also needs to be included in your patching, monitoring and change process for this component.

Compare peaks with the planned pool

Scalelite sends each new meeting to the least loaded server, so usable capacity depends on how many meetings and participants you run at the same time. Collect your peak concurrent classes and participants from your LMS or past logs, then compare them with the number of servers you plan. Leave room for losing one server during a live class, and test the failure behavior you expect before go-live.

How much does BigBlueButton load balancing with Scalelite cost to set up?

What does a Scalelite setup cost, and what sets the price?

The cost comes from the written scope, because DeployOpen does not publish a price list and every pool has different node counts, network rules and integrations. The main cost components are architecture and sizing, building the BigBlueButton server pool, the shared PostgreSQL database and Redis cache, NFS storage for recordings, network and firewall work, LMS and identity integration, testing and failover drills, and documentation and handover.

One-time costs cover design and build. Recurring costs cover patching, BigBlueButton and Scalelite upgrades, monitoring and a support retainer if you want one. Ask any vendor for a quote that lists each component separately, names the environments included (test and production), states who performs each task, and shows which items are optional.

How long does it take to stand up a Scalelite server pool?

The duration depends on the number of nodes, how many systems need integration, and whether you run a separate test environment, so ask for a timeline with milestones in the written scope. The milestones to request are design sign-off, a working build in test, failover drills, a supervised cutover and a post-go-live review.

Schedule risk often sits in the server installation itself. BigBlueButton 4.0 installs on Ubuntu 24.04 64-bit, and the project does not support direct upgrades from 2.6, 2.7 or 3.0, so the install docs recommend a clean server installation. If your current servers run an older branch, the migration plan and the cutover window will shape the timeline more than the pool size alone.

What hardware and bandwidth does each BigBlueButton server need?

A BigBlueButton 4.0 server needs at least 16 GB of RAM with swap, 8 CPU cores with high single-thread performance, 500 GB of disk for recordings (50 GB if you do not record), and 250 Mbit/s of symmetrical bandwidth, according to the BigBlueButton install documentation. These figures are minimums for one server, not a capacity plan for your pool.

Your actual node count depends on the number of concurrent classes, participants per session, video use and recording volume, so ask the implementer to show the sizing assumptions and the load tests behind them. The same server count drives the cost of NFS storage, database sizing and the firewall rules that must allow TCP 80 and 443 and UDP 16384 to 32768.

What must our team provide before a Scalelite engagement starts?

Your team needs to provide the access and decisions that the build depends on, which are usually the largest source of delay when they are missing. Plan to provide:

  • Cloud, data center or hypervisor access, with the account structure and approval path for new resources
  • Public hostnames for SSL, DNS records and firewall change approval
  • Expected peak concurrency and the class schedule
  • Recording retention rules and the storage budget you approve
  • Identity provider details and LMS administrator access for integration
  • Maintenance windows, named approvers and an escalation contact

Without these inputs, the quote will carry assumptions that should be listed and confirmed before work starts.

Can our own team build and run a Scalelite pool without a partner?

Yes, if your team has skills in Linux administration, PostgreSQL, Redis, NFS, load balancing, network and firewall design, and BigBlueButton operations. Many teams do this in house. The trade-off is time and risk: the first live class failure or a botched upgrade happens during real teaching, so the team must be ready to test failover, patch safely and troubleshoot across several components at once.

A practical test is to list who would own each component after go-live, how often they can run a failover drill, and whether they have a tested rollback plan. If those answers are thin, a partner can build the pool, document it and hand it over with runbooks, or you can keep a retainer for the first upgrade cycle.

What does ongoing support cover after a Scalelite pool goes live?

Ongoing support covers the work that keeps a pool safe and current after the initial build. It normally includes operating system and package patching, BigBlueButton maintenance and upgrade releases, Scalelite updates, checks on the PostgreSQL, Redis and NFS layers, backup verification, monitoring review and periodic failover drills. The BigBlueButton 3.0 branch continues to receive maintenance releases, and 4.0.0 was released on October 14, 2026, so plan for a regular upgrade cycle.

DeployOpen offers ongoing support, upgrades and continuous testing as retainers. Ask the quote to state response expectations, the maintenance window policy, which upgrades are included and whether major version moves are priced separately.

Which student privacy rules change the cost of a school deployment?

For schools and universities in the United States, FERPA shapes the design because an outside contractor can receive education records only as a school official performing a service the institution would otherwise use employees for, under the institution's direct control. The institution must use reasonable access controls so that staff see only the records they need and must keep a record of each disclosure. An institution must also respond to inspection requests within 45 days. Children's data under 13 falls under the COPPA Rule, and Title IV institutions agree to follow the GLBA Safeguards Rule, which requires multi-factor authentication for anyone accessing an information system.

These duties add cost in access design, logging, retention policy, contract terms and evidence collection. DeployOpen prepares systems, controls and evidence for compliance assessments, but independent auditors and certification bodies issue the reports. Confirm your obligations with counsel before scoping.

How does a failed server affect live classes in a Scalelite pool?

Scalelite is designed to make a pool of BigBlueButton servers appear as one server and to send each new meeting to the least loaded server, so a failed node stops receiving new sessions once it is removed from service. Sessions already running on the failed node are a different matter, and you should confirm the exact behavior against the current Scalelite documentation and your BigBlueButton version before you rely on it for teaching.

For the cost estimate, ask how the quote covers health checks, alerting, spare capacity, documented recovery steps and failover drills. Each drill adds test effort, and the number of drills and the size of the spare capacity you keep are the two levers that most change the cost of reliable operation.

How DeployOpen scopes and delivers a BigBlueButton load balancing project

DeployOpen starts by agreeing in writing what the Scalelite pool must carry, including server count, database, cache and recording storage, before any build begins. The work is delivered inside infrastructure you control, with testing, documentation and a handover your operations team can run during live classes.

How we scope

  • Engagements are fixed-scope, so the sizing, server pool and integrations are agreed in writing before work starts.
  • The written scope lists concurrent meeting targets, server specifications, PostgreSQL, Redis and NFS design, and recording retention.
  • Greenlight, Moodle and other connected systems are named in scope, along with the authentication method each one uses.

How we build

  • Servers are installed from clean builds, since BigBlueButton 4.0 does not support direct upgrades from 2.6, 2.7 or 3.0.
  • Scalelite is configured with its PostgreSQL database, Redis cache and NFS volume for recordings, with each component tested in isolation.
  • Firewall rules for TCP 80 and 443, UDP 16384 to 32768, SSL hostnames and TURN access are verified from representative networks.

How we hand over

  • Handover includes runbooks covering adding or removing a server from the pool and recovering from a server failure during a class.
  • Shared secret handling, API checksum settings and access to administrative interfaces are documented and reviewed with your team.
  • Your operators receive test results, configuration records and a walkthrough of monitoring for each server in the pool.

How we support

  • Ongoing support, upgrades and continuous testing are available as a retainer after handover.
  • Planned upgrades of BigBlueButton and Scalelite are scoped separately, with a clean-install path where the release requires it.
  • Retainer scope, response expectations and review cadence are confirmed in writing, so you can ask for them in any quote.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.