I'm currently setting up AWS infrastructure for my startup and I'm doing it all by myself as a solo developer. Here's what I have planned so far:
- **Backend**: Deciding between Fargate and App Runner.
- **Frontend**: Using S3 and CloudFront.
- **Database**: Planning to go with RDS Postgres.
- **Storage**: S3 for handling images and videos.
- A few other managed services are in the mix to reduce the operations workload, allowing me to focus more on business logic.
I've worked with AWS before, but only through the console, which got chaotic fast. This time, I want to set it up right using CDK and Infrastructure as Code (IaC). The challenge is that this is my first experience creating startup architecture from scratch without any guidance, so I'm reaching out for insights from anyone who's been through this process.
**I'm particularly curious about:**
- What hidden costs should I be aware of with these services?
- Are there any best practices I wish I'd known at the start?
- How do I effectively track and manage costs while keeping up speed in development?
I haven't begun building yet, so I'm open to any advice or general suggestions that could help prevent issues down the line.
5 Answers
Compliance is something I really wish we had prioritized from the get-go, especially for Terraform in our CI stages. After a few years, managing costs with Cost Explorer can get messy, and bad IAM policies or inconsistent naming conventions can really complicate things.
Your choices seem solid, and going with IaC is wise. Just be alert for potential unexpected costs related to CloudWatch and CloudTrail. Think about the logging you’ll need and set retention policies accordingly. Establishing an AWS Organization to separate production from testing workloads will help a ton too.
Don’t over-plan upfront! It's better to experiment a bit, keep an eye on costs and performance, and iterate quickly. Using Infrastructure as Code from the start will definitely help.
Be cautious about technical debt. Sometimes there's pressure from dev teams or leadership to rush infrastructure setups, but that can lead to many frustrating corrections down the line. It's worth pushing back for proper planning.
Watch out for data transfer costs, especially egress fees to the internet or any cross-Availability Zone (AZ) and cross-region transfers. Also, develop a proper tagging strategy to easily track and identify resources for cost accounting. And remember, usage-based pricing might seem beneficial at first, but it can lead to unexpected costs if you're not careful, so keep an eye out for potential attacks that could increase your costs quickly.
Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically