3 ms·
> TBH, containers are the wrong way of doing things And yet, people still use VMs because the majority of software isn't perfect and pollutes whatever system i
by KronisLV 3y ago
> TBH, containers are the wrong way of doing things
And yet, people still use VMs because the majority of software isn't perfect and pollutes whatever system it's running on to some degree. Just earlier today I saw a friend look at an install script for some software, which was set on freely installing apt packages, replacing the installed Node version, purging the apt repositories on the system (literally "rm -rf /etc/apt/sources.list.d/*", wtf) and a lot of things that no decently written piece of software should do on its own, at least not without explicit confirmation, but you still sometimes see out in the wild. The friend was reviewing the script after running it and wondering why their system was trashed.
You often need some separation between what is your host system that needs to be pretty stable and the flaming mess that is whatever software that you'll install on it for productivity/entertainment/profit reasons, especially with easily configurable resource limits, custom port mappings, custom storage directories without access to the host system by default and eventually even horizontal scaling. Containers just happen to have really good DX around all of that and feel like the right way of doing things, in a flawed world.
- watermelon0 3y agoDependency hell and polluting the system IS the problem. Ideally, we would have statically built self-contained executables, and OS would offer sandboxing (process, network, filesystem) out of the box. Containers at the moment are just lightweight VMs, and a better workaround to the problem (better especially in regard to UX; VMs isolation is still superior to cgroups/namespaces on Linux).
- nurple 3y agoThe Linux OS literally provides sandboxing, we call the set of technologies that provide this "containers". "Containers" are not lightweight VMs; VMs are a virtualized computer, containers are a virtualized kernel. Statically linked everything is ridiculous and will never be the future of software deployment.
- jmbwell 3y agoIn some cases, running docker containers using the vendor-provided docker compose file, inside a VM that you yourself provision according to your own needs using your own tooling (ansible etc), is the best approach, which at this point is ridiculous, but here we are.
- nikau 3y agoThis is why you have integration engineers.
- hughesjj 3y agoVms and virtualization is amazing and I don't get anyone who hates it. Their entire purpose is to limit blast radius and that's like the most valuable thing for me when it comes to maintainability. No colliding libraries or dependencies, no broken installations or upgrades polluting my system, all for an honestly super minimal performance hit. I feel like the same people complaining about containers today are the same type to complain about compilers back in the day