On one system, I'm moving from an AMI bake approach (bash script that installs everything on a server, generate an image of the disk, use that to spin up instances) to using docker containers on the same servers. Then the disk image can be way more generic: install docker & run docker compose against a compose.yaml in user data. Nice benefit is I can now do in-place updates easily and very quickly.
Anyone else using this approach? I might blog about it if anyone's interested.