Self hosting, scaling recommendation needed (AWS)

I have a custom Frappe application. For development, I’ve been using a single EC2 instance and it’s been working great so far.

For production, I’m looking for recommendations and real-world experiences from the community. I plan to use RDS (MariaDB), ElastiCache (Redis), and S3 for assets/files, so the main question is around hosting and running the application itself.

At peak hours, I expect a few hundred users at most (under 400). Do I actually need a scalable setup for this load, or would a single-instance setup be sufficient?

I was considering AWS App Runner or ECS, but I’ve read that Frappe expects only a single scheduler and specific queue workers. Since these services scale horizontally, it seems like this could cause issues with duplicate schedulers or workers.

Has anyone run Frappe in a similar setup or faced this decision before? I’d appreciate any advice, experiences, or best practices.
Thanks.

Go through this repo

It helps you setup ERPNext on AWS EKS with RDS and ElastiCache + EFS storage class for NFS. It also has Karpenter based auto scaling.

2 Likes

Hi Castor,

I hosted bench with multiple sites in AWS with ECS. I used RDS (MariaDB) but for redis I used ECS tasks for simpler setup and less cost. I suggest use EFS for your sites/assets/logs as S3 is not intended for file mounts.

I do not yet have such traffic as you have but redis/scheduler works fine as ECS tasks with very less resources.

Regards,

Issac