Hosting applications

Components of hosting

Quickbase is a serverless, no-code aPaaS (application platform as a service), which is made possible using a proprietary, distributed, multi-tenant runtime engine. For customers and IT teams, this means that there are no virtual machines to provision, no servers to manage, no containers to monitor, and no load balancers to configure.

Quickbase uses a unique approach to application development. When developing an application, developers are describing the different components applications need and how they interact. Simultaneously, metadata is being generated, which is used by the runtime engine to “run” or “execute" the application. There is no code generated and no executables or containers created. The runtime engine uses the metadata to produce a solution/application with a full UI and all the underlying functionality.

Quickbase runs and manages an entire fleet of runtime engines, with each instance identical to the others. This can be thought of as the Quickbase cluster. The fleet is controlled by the Quickbase control plane. It monitors the runtime engines, and ensures that they are healthy and available at all times. It also ensures that there are enough runtime engines to handle the current traffic load.

The final component of hosting is routing. The runtime engines are semi-stateless, meaning any instance of our runtime engine can run your application. The Ingress Service will “pin,” or schedule, applications to run on a specific instance for a set period of time. Applications are assigned to different instances using a dynamic routing engine. As requests come in for an application, the ingress service determines which instance of the runtime engine is currently hosting the application. Once that information has been retrieved, the request is forwarded to the appropriate runtime engine instance.

What this means for customers is there no need to manage the details of cloud technology — Quickbase has that covered.

The Quickbase Core Cluster

Platform hosting

The Quickbase platform is currently built on top of three cloud providers, matching our services to the best fit:

  • Our co-located data center hosts our runtime engine fleet, control plane, and ingress.
  • AWS hosts our auxiliary platform services run here, including sending Webhooks, processing audit logs, managing sandbox, and storing the latest dashboards.
  • Google hosts the Quickbase Pipelines integration capabilities.

Cluster components definitions

Ingress
  • Load Balancer: This is the entry point into cluster. It distributes requests using a reverse proxy with dynamic routing logic.
Data plane
  • Runtime engine: Core logic of the Quickbase platform
  • Machine: Bare metal machines that host runtime engines.
  • Network file storage: A file storage tier keeping app data at rest
  • SQL: A database holding customer metadata (no app data)
Control plane
  • Health: Responsible for the provisioning and monitoring of runtime instances
  • Router: Maintains routing tables for app locations