Test Lab Architecture
Architecture Overview
Test Lab is loosely modeled on the Unleash A/B testing platform, offering users a flexible, self-hosted, open-source option for A/B testing while also adding the ability to collect, retrieve, and analyze event data originating from experiments.
Components of Test Lab Architecture
The Test Lab A/B Testing and Feature Management Platform consists of four key components:
- A Node.js with Express backend server that exposes API endpoints for creating, editing, and deleting features, retrieving feature configurations, and collecting and retrieving feature data
- An Admin User Interface (Admin UI) built with React that facilitates creating, editing, deleting, and viewing current, scheduled, and past features as well as viewing experiment data and results
- A PostgreSQL database for persisting data that defines the features, the blocks of the user base allocated to each experiment, and event data for experiment analytics
- Native SDKs for Node.js, React, Ruby, and Python for communicating directly with the Test Lab API and allocating individual requests to the appropriate feature(s)
Test Lab is Dockerized and can be deployed on your virtual private server or AWS Elastic Container Service with one simple command.