On-premise deployment checklist
A Rimdian deployment is composed of the following components:
- Rimdian Collector: The collector that collects data from the JavaScript SDK & external source and sends it to the Task Queue. Distributed as a stateless Docker image.
- Rimdian Server: The server that hosts the main Rimdian engine, Console & API. Distributed as a stateless Docker image.
- Google Cloud Task Queue: The queue that buffers the data from the collector and sends it to the Rimdian Server. Service provided by Google Cloud.
- SingleStoreDB: The database that stores the data from the Rimdian Server. Can be deployed on-premise or in the cloud with a free tier.
- Cube.js: The analytics engine that powers the Rimdian Server. Distributed as Docker image or in the cloud.
Rimdian Collector
The Collector is a stateless Docker image that can be deployed on any infrastructure that supports Docker.
You can scale it horizontally by deploying multiple instances of the collector.
It also acts as a 1st party tracking server, that rewrites the cookies server-side to prevent tracking blockers.
For that reason, if your website is hosted at www.example.com
, you should deploy the collector on a sub-domain like go.example.com
.
Rimdian Server
The Server is a stateless Docker image that can be deployed on any infrastructure that supports Docker.
You can scale it horizontally by deploying multiple instances of the server. However it’s important to activate an auto-scaler to handle the traffic spikes.
SingleStoreDB
If you are a small company or a startup, you can use the free tier of SingleStoreDB and host it yourself on a single server.
If you are a larger company, you can use the cloud version of SingleStoreDB or host it on your own infrastructure.
Big virtual machines are very expensive in the cloud and don’t deliver the same performance as a dedicated server. For that reason we recommend you to deploy SingleStoreDB on bare-metal servers while keeping the Collector & Rimdian Server in the cloud.
Cube.js
Cube.js can also run as a stateless Docker image with in-memory cache, because SingleStoreDB is built to handle massive real-time analytics workloads.
Cube Cloud is also available if you don’t want to manage the infrastructure yourself.