We are increasing our usage of Redash and quickly encountering availability concerns. I’m seeking official confirmation from @arikfr / @jesse / et al. on this topic: is it safe to run multiple instances of the Redash webapp concurrently, in order to achieve high availability?
This question has been asked several times, over several years, but with no official response.
(note that as a new user, I’m prohibited from posting more than 2 links - there are others)
I’ll elaborate on our configuration.
We run Redash as a collection of ECS Services in AWS with an RDS database backend.
The ECS Services are all mono-services i.e. we run exactly 1 instance of each:
- redash scheduler
- redash adhoc worker
- redash scheduled worker
We don’t have any concerns or issues with the scheduler or worker services. They are available enough for our needs, and not user-facing.
Our concern is with the ECS (mono-) Service which runs both the redash and nginx Containers for us. We want to understand whether we can safely run multiple instances of these Containers (either separately or together) in order to achieve high availability. Our concern is that, if Redash is not designed to handle concurrent write activity, we will have data corruption. Thus we’re seeking official confirmation that Redash is designed to run safely in such a multi-instance mode.
As an AWS-managed service, the database is already highly available. We’re seeking to make Redash itself also highly available as our usage increases. Any confirmation and guidance you can offer will be greatly appreciated.