Rich Freeman on 22 Apr 2015 11:40:07 -0700 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: [PLUG] Interesting thoughts on virtualized service containers |
On Wed, Apr 22, 2015 at 1:25 PM, Anthony Martin <anthony.j.martin142@gmail.com> wrote: > Figured some of you may find this interesting. > > http://www.vitavonni.de/blog/201503/2015031201-the-sad-state-of-sysadmin-in-the-age-of-containers.html > That stuff drive me nuts. Docker wants you to: curl -sSL https://get.docker.com/ | sh. I'll pass, thanks. I think Docker is a great tool, and can be used to improve your control over your environment. However, it can just as easily be used to turn your environment into a mess. It is no different from virtualization. You can use VM snapshots and such to control your installation baselines and take a lot of work out of maintenance. Or, you can just go and download a bunch of random VM "appliance" files off the web and install who-knows-what into your environment. We've been struggling with this at Gentoo since the start, and I'd say a lot of projects have actually gotten better. Every Gentoo package install is a scripted install from source, and we let our users install against fairly diverse dependencies (for example, right now Gentoo has glibc versions 2.13-r4 2.14.1-r3 2.15-r3 2.16.0 2.17 ~2.18-r1 ~2.19 2.19-r1 ~2.20 ~2.20-r1 2.20-r2 and 2.21 available - and packages are expected to build against any of them unless they explicitly indicate otherwise). When upstream uses a clean build system, our install scripts (called ebuilds) can be just a few lines long. When they aren't, they're a mess of patching, sed, and so on. We try to get upstream to clean up anytime we can. Systemd was starting to talk about creating container-like solutions per-application. The idea is that you'd build your application against "Gnome" and then you would have a "Gnome framework" on your box which is kept up-to-date, and then when your application launches when it looks at /usr it would see the Gnome framework. The concept is to try to reduce package interdependency, and minimize the amount of effort to keep everything up to date. However, I see it suffering from the problems mentioned in this blog. I also think that it oversimplifies things. They point to Android as a success story, but I think Android only works because people only use Android applications as a presentation layer. Stuff running on your server or desktop has a MUCH more diverse set of dependencies. Maybe your package needs geoip and Gnome to work - so now either the Gnome framework needs to include geoip, your package has to bundle it internally, or you need to support multiple frameworks in which case the whole thing reduces to what we already have (and the proponents of this solution did not want to allow multiple frameworks anyway). I get the goal of simplification. The problem is that sometimes they're trying to put too much behind the black box. If they want to replace your distro, then they have to do it as well as Debian or Redhat or whatever, and I don't think that is as easy a job as most of these projects think it is. Beating Debian at what Debian does best just isn't easy at all. -- Rich ___________________________________________________________________________ Philadelphia Linux Users Group -- http://www.phillylinux.org Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce General Discussion -- http://lists.phillylinux.org/mailman/listinfo/plug