If you're using an ECS or EKS Cluster, you still have to run
some operating system on the ECS Container Instances. The containers have to run somewhere.
There are a variety of options currently, including one from Amazon, but Bottlerocket seems designed to be a next-generation OS for container instances. It's extremely minimal, and designed to be as secure as possible, with transactional automatic updates.
Ideally, I would just deploy Bottlerocket as the underlying OS on my ECS Cluster, and then never have to actually do any management of the Instance OSes whatsoever. I would deploy containers on top of my ECS Cluster, Bottlerocket would keep itself up to date and secure, and my containers would live happily ever after. It would hopefully feel more similar to using Fargate than not, except without paying the higher price for Fargate, and having access to the wider variety of hardware configurations available to regular ECS.
Amazon has specifically said this in the Bottlerocket repo:
> Bottlerocket is architected such that different cloud environments and container orchestrators can be supported in the future.
It's mainly useful in concert with ECS or EKS right now, but it is architected to be useful in other places as well.
I'm excited about Bottlerocket as a project, and I'm glad it's open source instead of just an opaque AMI that you can use on ECS or EKS.