I'm setting up an early-stage startup project and need an affordable way to deploy several containers: an API, two front ends, background workers, a Dagster instance, Elasticsearch, and PostgreSQL. Everything currently runs on a VPS, but I'm considering moving to AWS because I already use S3 there. I'd like to deploy through GitHub Actions and will also need access to a GPU for an AI model. What AWS services or service combinations would make sense for this stack while keeping costs under control?
3 Answers
Before deploying anything, configure billing alerts, a budget, MFA, and the basic account-security controls. Also look into GitHub Actions OIDC so workflows can assume a narrowly scoped AWS role instead of storing long-lived access keys. New accounts may have little or no GPU quota, so you might need to request an increase. If you plan to use a managed model service, access approval may also be required. Be careful with default AWS recommendations: highly available multi-node databases and managed search clusters can be excessive for an MVP. Start small and scale only when usage justifies it.
For the AI workload, compare renting a GPU instance with using an inference API or managed model service. A GPU running continuously can cost much more than expected, so it may be better to start with on-demand inference and move to dedicated hardware only when usage is predictable. For the rest of the stack, avoid jumping straight to a complex Kubernetes platform unless you truly need its operational features; a simpler container deployment and managed database will be easier and cheaper to operate initially.
If the VPS is handling the current workload, staying there until real traffic or operational requirements force a move may be the cheapest option. If you do migrate, check whether you qualify for AWS startup credits first. A possible low-cost starting point would be a simple container service such as App Runner for the applications, a small PostgreSQL RDS instance, and either a carefully sized search setup or self-hosted search on a small compute instance. Review every service for idle and storage charges before committing.

I’ve used AWS for smaller Next.js projects, but this is my first larger containerized setup. I already use Infisical for secrets, and I’ll look into the security and deployment suggestions.