4 ms·
Its INCREDIBLY naive of the author to be slamming docker usage because they think everything should be a fat binary - and what are they even calling a fat binar
by supermatt 9y ago
Its INCREDIBLY naive of the author to be slamming docker usage because they think everything should be a fat binary - and what are they even calling a fat binary? How do I make my node app a fat binary? Would they be happier if we wrapped up docker + images in an executable and called that a fat binary?
Also, I think the author is simply confused about what docker itself is, complaining about its lack of network orchestration - and comparing it directly to kubernetes!
- KaiserPro 9y agoits really not that naive, for the longest while that how google ran all its stuff through borg. This left the resource management to the scheduler, where it belongs.
- supermatt 9y agoGoogle ran all their stuff as fat binaries through Borg? Why would they change to containers with kubernetes if the borg approach is better?
- pebers 9y agoThey aren't changing to Kubernetes internally. It's more of an open-source reimplementation (and modernisation) of Borg, because they don't think it's practical to open-source Borg itself.
- bboreham 9y agoGoogle runs things internally as fat binaries inside cgroups, which is a Linux kernel feature that implements resource limits like "only give this thing 2GB of memory" Docker combines cgroups with a layered filesystem and a tarfile to copy everything around in. It's the total package that is meaningful; the article argues against just one aspect and thus fails to cover the whole picture.
- KaiserPro 9y agobecause in borg land, everything apart from the binary is controlled by the scheduler. why is that good? because it means that the thing that knows about resource utilisation has control of what resources it give out. quite patch on the farm? give the low priority jobs more memory/cpu. You also have to remember that borg is part of the secret sauce that makes google tick. Having a single interface to a smart, efficient, fast and scalable scheduler is invaluable at scale. Kebernetes is nice, but its nowhere near as advanced or fully featured as slurm/gridengine/tractor etc. its also not that efficient or fast. (I worked in VFX with various schedulers some were able to dispatch 100k execution instructions a second)
- nickpsecurity 9y agoYou might find this interesting: https://www.cl.cam.ac.uk/~rnw24/papers/2016-osdi-firmament.pdf https://www.cl.cam.ac.uk/~rnw24/papers/2016-osdi-firmament.p...
- KaiserPro 9y agoooo this is smashing. Adding to the list.
- SOLAR_FIELDS 9y agoThis is not intending to diminish your point because I agree with you, but you can in fact make a fat binary with Node: https://github.com/nexe/nexe https://github.com/nexe/nexe I have used it when I cannot guarantee to have Node.js installed on location I am deploying app to. It works pretty well, but the C compilation of all the Node bindings took quite awhile when I was using it (about 2 years ago). I think a build of a small project took around 10 minutes at the time.
- derimagia 9y agoThis would copy the runtime for every app you need.. Pretty sure if you used docker this wouldn't be the case but I'm 100% sure. Obviously space isn't the biggest of deals, just mentioning it.