Architecture & stack

StrataBI is assembled from well-understood open-source and managed AWS components rather than bespoke infrastructure. This page explains what those pieces are and how the runtime stays mostly stateless.

The application

The dashboard application is a Plotly Dash app — Dash is Plotly's Python framework for building data applications. Within it:

Dash itself runs on Flask, so the app is a standard WSGI application — nothing exotic to host.

The runtime

In the Enterprise Edition, the application runs as a container on Amazon ECS Fargate behind an Application Load Balancer — no servers to manage, and it scales by task count. (The Developer Edition runs the same application as a plain local Python process instead of on Fargate/ALB; everything below the app — Lambda, Athena, S3, DynamoDB — is identical across editions.)

Compute that shouldn't block the UI runs on AWS Lambda as discrete contracts:

Data and state

Mostly stateless by design

The Fargate application holds no durable state. Dashboards, artifacts, status, and registries all live in S3, DynamoDB, and Athena/Glue — not in the running container. User sessions are ephemeral.

This has practical consequences you benefit from:

Note
"Mostly" stateless: short-lived runtime coordination (for example, the async status a tile polls while a query runs) is recorded in DynamoDB with a TTL, not held in the app. There is no session database to manage.

Licensing

These are third-party components under their own licenses; StrataBI uses them as intended and does not redistribute them. The bundled UI themes are Bootswatch themes (MIT, © Thomas Park), included with their attribution preserved.