I am in the camp of engineers who feel that while k8s might be useful at some scale, it is unnecessary complexity for most; I am adamant about not using it. And so, I thought I'd turn to the community to get a sense of the current landscape and get suggestions for some good options to use in 2024.
* What's your current deployment stack? Would be very helpful if you can describe the process/tools in detail.
* How happy are you with it? If you could start from scratch, what would you change?
* How do you handle test/staging environments?
* Where do you deploy?
I wouldn't change anything. I prefer the control of managing the server at the OS level, but I'm not interested in managing hardware anymore so AWS can do that.
It works well enough - no complaints. This is a fairly simple use-case though (immutable API containers) - maybe you'd have more problems if you tried putting the database and queue systems in ECS.
The EC2 instances are managed by terraform. Debian AMIs with a cloud-init script to get them bootstrapped with ssh keys and such to the point where ansible can run.
Yes, there are better options but with a team size of < 5, this works fine and there's really not much that can go wrong with it.
CI/CD from ADO or GHE to the appropriate service. Separate instances for dev/stg/prd.
I much prefer to manage PaaS than deal with an OS at any level.