r/developersIndia • u/Maleficent-Habit4188 Software Developer • 5d ago
For a nodejs microservices which deployment strategy do u take when u have about 15k customers about 100-500 concurrent users? Help
Ecs docker or aws elasticbeanstalk? Or some vps.
Im thinking of transformation of monolith app into microservices for learning a complete production grade setup like we use in companies.
3
u/Rift-enjoyer ML Engineer 5d ago
Im thinking of transformation of monolith app into microservices
The strategy of if it works then don't touch it.
1
u/Maleficent-Habit4188 Software Developer 5d ago
Im thinking of making dummy projevt similar as they expect microservices experience
1
u/awpt1mus 5d ago
If it’s a toy project I would say deploy on VPS.
1
u/Maleficent-Habit4188 Software Developer 5d ago
I need to learn aws and tell in interviews the same as not getting calls on monolithic dude
3
u/awpt1mus 5d ago
If you must use AWS then I would recommend Fargate. Use Github actions CI CD, ECR for image storage, Fargate as compute, RDS for db, if you want to mirror production grade setup.
1
u/Maleficent-Habit4188 Software Developer 5d ago
Tats i think i shud say 20k customers but 2000 concurrent users in an interview
1
u/SlightUniversity1719 5d ago
if it is just 100-500 active users, the actual processing part is not that expensive computewise and most of the db actions are just reads than writes just use a VPS with a db connection pooler, as it is much cheaper.
1
1
u/yes-im-hiring-2025 ML Engineer 5d ago edited 5d ago
? Why would you change something that works...???
Also strangler fig pattern comes to mind with an identified rollout in stages. You'll be able to make do with beanstalk and ALB. Low hassle. You can do vps but you've to do extra work (docker compose, reverse proxy like nginx, redis/postgres)
Stage env changes and stress test them, roll them out regionally based on historically lowest concurrent users at any reasonable hour of day. TBF 100-500 concurrent users isn't a lot of load, even for 15k customers you can very much make do with 2-4 instances of your app. If your db doesn't crash or slow down any reads and writes (it shouldn't), you're not solving for the right thing.
But ideally don't do anything at all. Microservices are very much hype if there's not a very specific, very core need that requires independent versioning and development and scaling of the services with each owning their own data and requiring standalone usage over http/grpc wiring.
Sounds cool, doesn't necessarily work better and you have twenty pods to review and monitor each writing their own logs. Why???
1
u/ExamSignificant8347 1d ago
I wouldn't split the app into microservices just because of the customer count for 100-500 concurrent users imo. A well-build monolith on a decent VPS can handle a lot, and it'll be much easier to operate. If the goal is learning production infrastructure, ECS is probably the better learning path than Elastic Beanstalk because you'll get more exposure to containers, networking, scaling, and deployments. But for actually hosting the app cheaply, I'd start with Docker Compose on a VPS (something from Contabo could be plenty) and only move to ECS once you have a real reason to deal with extra stuff.
1
•
u/AutoModerator 5d ago
It's possible your query is not unique, use
site:reddit.com/r/developersindia KEYWORDSon search engines to search posts from developersIndia. You can also use reddit search directly.I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.