Sizing is based on the number of concurrent users and the number of concurrent queries that you have. For <10 concurrent users and <100 active queries, a tiny machine that has a dual core, 2 GB memory should be enough.
On the other hand, if you have 50-100 concurrent users and 1,000 active queries, you will need at least 16-32 GB RAM and a quad-core CPU.
- Redis - Memory intensive
- Postgres - CPU and memory
- Celery - CPU and memory (the more workers you have, the more CPU you need. If workers won't keep up and build up a queue, it starts to consume memory)
If you're hosted in the cloud, you can always start with a smaller machine and expand if needed. The same goes for deploying Redash inside a VM in your own data center.
As a good...