I'm new to AWS and trying to deploy a full stack Ruby on Rails app paired with a JavaScript frontend using Elastic Beanstalk, and it's proving to be more complicated than I had anticipated. Can I just upload the app as a zipped bundle within a single application, or should I create separate applications for the backend and frontend? Any tips or general advice would be greatly appreciated since I'm venturing into this for the first time. Thanks!
2 Answers
Definitely go with ECS Fargate in front of an ALB. Containerizing your app, pushing it to ECR, and then running a Fargate task is straightforward. Plus, you can use something like Terraform or AWS CDK to manage your infrastructure—super handy for modification and reusability!
Have you considered why you chose Elastic Beanstalk? These days, I recommend using containers on ECS instead. It's generally easier to build and test your applications before deployment, and I'm finding EB's claims of 'one-click deploy' don’t really hold up.
Honestly, I fell for the marketing too! So, would you say it’s worth the effort to dockerize my app for ECS instead? What are the cost implications?

I wish it were that easy! I spent a whole week just getting a couple of ECS containers to work alongside setting up everything else like the load balancer and databases. EB’s approach is definitely tempting.