And don't forget about the vendor lock in. Once you're dependent on proprietary managed services, it will become increasingly more difficult (and expensive) to migrate out.
My advice is unless it's based on something open source (like RDS Postgres, etc.) be very, very wary. S3 has so many clones it may as well be "standard." But when you start storing everything in DynamoDB and using Lambda handlers all over the place... be careful.
The complexity can be over whelming. I've seen applications with more IaC / Terraform than actual real application code. VPC, API Gateway, Lambdas, IAM roles, permissions, security group rules, autoscaling, S3 buckets on-and-on all for a simple app that serves maybe 5 requests/sec max and could run on a small VPS. Don't worry, it's scalable though. WTF.
And don't forget about the vendor lock in. Once you're dependent on proprietary managed services, it will become increasingly more difficult (and expensive) to migrate out.
My advice is unless it's based on something open source (like RDS Postgres, etc.) be very, very wary. S3 has so many clones it may as well be "standard." But when you start storing everything in DynamoDB and using Lambda handlers all over the place... be careful.
The complexity can be over whelming. I've seen applications with more IaC / Terraform than actual real application code. VPC, API Gateway, Lambdas, IAM roles, permissions, security group rules, autoscaling, S3 buckets on-and-on all for a simple app that serves maybe 5 requests/sec max and could run on a small VPS. Don't worry, it's scalable though. WTF.