Open dmoneil2 opened 7 years ago
The use of supervisord in a container image is an example of heavily coupled services within container images.
@dmoneil2, thanks for raising. (I edited your comment to use triple-backticks to avoid the dpkg log from being parsed as markdown.)
@derekoco, I think Cassandra and memcached are in separate containers from Ralf and Homestead, and should be independently scalable. Did I misunderstand your point? (I agree on supervisord.)
There are numerous sources identifying the benefits of containers. In a standard rack you can save upwards of $50000 on memory alone due to the reduced footprint of containers and better "binpacking"
These advantages have been reduced by the current image employed by clearwater.
The images also resists scaling in a typical "micro"service architecture. An orchestration engine such as kubernetes should be responsible for scaling, not the container. Some of the containers have numerous processes running inside via supervisord. In a lot of cases when you want to scale, you don't necessarily want to scale all of the components inside that container.
An container image should have its primary binary as the entry point and the required linked libraries only.
A few interesting sources https://github.com/cncf/demo/issues/163 https://www.brianchristner.io/docker-is-moving-to-alpine-linux/
Dpkg --list on example ellis container