we use elastic beanstalk which is functionally not that different than elastic container service/Fargate. It’s basically Heroku when all is said and done.
Everything sits behind application load balancer and API gateway, all basic stuff
We have about 100 boxes, but basically only 3 “environments” for our distributed monolith. Every box in a distinct environment is provisioned and configured in exactly the same way.
need to change some config? It’s at most a few extra clicks to do it in multiple environments. Then EB handles the rolling deployments and health check failover stuff. It’s very hands off, with another small benefit of not needing to bother with fudging around with terraform state, wasting compute on building containers and paying for registry storage.