a go binary in a zip builds and uploads to lambda in 1 second. handle routing and everything else in binary, don’t use aws features. you don’t need em.
lambda, s3, and dynamo all scale to zero with usage based billing.
toss in rds if you really miss sql or dislike scale to zero.
once this is too expensive, move to ovh metal, which sells significantly faster compute, ie epyc 4244p ddr5 5200.
more importantly, they sell bandwidth for $0.50/TB instead of $0.10/GB, which is aws price before paas wrapper markup.
the ovh price is after the 1Gbps unmetered you get for free with any server.
most companies will never even need metal, and between lambda and metal is ec2 spot, which might be of use anyway for elasticity.
ovh metal bills monthly, ec2 spot bills by the second. recently i learned ec2 spot in localzones is x2-3 cheaper than standard spot. i only use r5.xlarge in los angeles these days.
ovh metal has an old fashioned but perfectly workable api. aws has a great api.
spend a few days figuring out a decent sdlc, and then freeze it permanently. it will grow insanely robust over time.
i haven’t published my ovh metal workflows. my aws workflows are here[1].
lower overhead means more interesting products coming to market. lower friction definitely doesn’t hurt. viva le renaissance!