5 ms·
You completely ignored my question: what is the cause of insistence on Docker? Docker storage does not solve the scaling problem either, indeed, no known techn
by Annatar 10y ago
You completely ignored my question: what is the cause of insistence on Docker?
Docker storage does not solve the scaling problem either, indeed, no known technology in existence solves it: this is one of the unsolved problems in computer science, still largely terra incognita. The only way to design for horizontal scalability is in the application, where the application keeps track of the global state across all nodes it runs on. Even if one were to use distributed storage engine like Oracle RAC with the automatic storage manager and synchronous multimaster replication, one's application would still have to contain logic about ejecting/re-integrating failed RAC nodes, as well as re-trying the transaction on a different node, and that is in addition to internal loadbalancing it would have to perform, especially if the goal is high availability with exactly zero downtime or zero loss of service at all times.
As far as my "pretending", show me one problem which GNU/Linux has solved that SmartOS already hasn't. Just one.
In closing, I mentioned SmartOS on purpose: perhaps someone reading this will look it up, and try it out. And perhaps they'll like it (Linux became popular the same way). What I get out of it eventually is a job market with opportunities, but most importantly, I get to sleep through the night without having to deal with idiotic problems in GNU/Linux solved anywhere from 11 to 25 years ago in SmartOS (depending on the problem). I really do not want to waste any more time on Linux, and certainly not on Docker. SmartOS can do Docker, just so you know, although it doesn't need it to provide containerization, at all, but one does have that choice.
So if you really want to run Docker at all costs, which advantages does GNU/Linux offer you over SmartOS? Let's talk technology.
- icebraining 10y agoIf you want to argue the merits of SmartOS over Docker on any other topic, you have plenty of avenues. This thread is about storage, and while I feel sympathetic to your position, frankly you're off-topic (and off-putting).
- Annatar 10y agoOkay, then answer me why it makes sense to waste one's time on storage contortions in Docker on Linux when a different technology offers an enterprise tested solution? In SmartOS all I have to do is instantiate a docker branded zone, and the storage it uses is automatically permanent, no extra steps needed like on Linux.
- cyphar 10y ago> and the storage it uses is automatically permanent Is it also automatically replicated to a distributed storage pool so that it is mirrored to all of your other containers? Because that's what people are talking about when they discuss "container storage" -- they're discussing creating storage for a distributed system. You can create persistence incredibly easily with runC (the core executor for Docker). In fact, runC by default just allows you to store all of your state in your container's rootfs (you need to manually add mounts to make your state run in a tmpfs). It's just not very useful to have all of your state on one of your compute nodes. I really don't understand why you keep pretending that we're focusing on the simple things. If I didn't know better, I would think that you're trying to distort the problems we're discussing (which are problems for every system) into very easy problems that SmartOS has solved (but also every other operating system has solved as well). As someone who thinks SmartOS has some very powerful technology, I'm surprised that an advocate of SmartOS is resorting to strawmanning the problems that we're discussing. Surely the technology should stand for itself.
- Annatar 10y agoIs it also automatically replicated to a distributed storage pool so that it is mirrored to all of your other containers? Even better, it uses a distributed object store backed by ZFS called "Manta". Do you have any more questions? Meanwhile, you are very persistent at stonewalling my original question: why the insistence on using Docker?
- cyphar 10y ago> why the insistence on using Docker? I answered this in a cousin comment. https://news.ycombinator.com/item?id=12164793 https://news.ycombinator.com/item?id=12164793 > distributed object store backed by ZFS called "Manta". a) Is this the default for SmartOS installs, and is this how containers work by default on SmartOS? Is the method of setting this up seamelss? b) Can you self host Manta. c) What are you even arguing about, you're just pointing at an cloud service and declaring victory. You might want to elaborate a bit more. > Do you have any more questions? Yes. Apart from the fact that I could just use S3 to achieve the exact same thing, and the fact that you might not be able to store things as pure objects (since you can't do partial writes, etc etc) do you not see that as dodging the original point? Do zones provide a seamless way of mounting a particular set of manta objects into a container so that you can actually store secrets inside manta without also storing your credentials everywhere? Also, out of interest, has Joyent liberated for Manta (I know that SmartDataCenter is free software, but I haven't checked if Manta is). There are a few other things that GNU/Linux containers have that I think SmartOS Zones don't. Can you start application containers, or is the only mode for Zones a "boot" process with an init daemon? Also out of interest, do you have the concept of rootless zones -- zones entirely created by an unprivileged user?
- cyphar 10y ago> what is the cause of insistence on Docker? Because it targets developers and is based on technology usable on a very popular platform. SmartOS zones have neither of these properties. > show me one problem which GNU/Linux has solved that SmartOS already hasn't Packaging software and software updates. SmartOS uses NetBSD's pkgsrc, which is an interesting choice given the fact that BSDs have a very bad track record for packaging. FreeBSD still doesn't package their base system, and the recommended way of dealing with software on BSD systems is to compile it from source. GNU/Linux has solved this problem such a long time ago that I'm honestly surprised that SmartOS decided to use pkgsrc over something much more powerful like zypper+rpm, dnf+rpm or apt+dpkg. So there's one problem that SmartOS didn't solve first, and I'd argue hasn't solved yet either. To be clear, I have no problem with SmartOS -- it has a lot of very deep technology. But claiming that it's magic pixie dust that has solved every problem that GNU/Linux has solved (and is working on solving) is being facetous and dishonest. Also, as far as I'm aware there isn't nearly as much auditing of SmartOS going on as there is of GNU/Linux. Does SmartOS have support for all the features of grsecurity+PaX? What about support for UEFI? Or even support for many different architectures and hardware drivers? GNU/Linux may have many problems, but it beats every other free software operating system in quite a few areas (and beats a few proprietary operating systems in quite a few other areas too). > SmartOS can do Docker, just so you know, although it doesn't need it to provide containerization, at all, but one does have that choice. Yes, I know that. I currently am working as part of the OCI on container standardisation and am happy to see people working on that from the Solaris camp (we need to work together on standardising the workflows we want to use). But the one thing that people I work with don't do when working on container standards and canonical implementations of those standards is start screaming about how everyone should abandon a very popular platform because "I hate supporting GNU/Linux because it's not the operating system I like". Because that's just childish.
- Annatar 10y agoPackaging software and software updates. SmartOS uses NetBSD's pkgsrc, which is an interesting choice given the fact that BSDs have a very bad track record for packaging. FreeBSD still doesn't package their base system, and the recommended way of dealing with software on BSD systems is to compile it from source. Compiling from source? pkgsrc, and by extension SmartOS, fully supports installing binary packages. The command to do this is called pkg_add. pkg_rm uninstalls a binary package. SmartOS even went a step further and uses pkgin, which works exactly the same way as apt-get. Please read pkg_add's and pkgin's manual pages before arguing further on this point. Also here is a short document which clearly illustrates how a binary package is created and installed with pkgsrc: http://www.perkin.org.uk/posts/creating-local-smartos-packages.html http://www.perkin.org.uk/posts/creating-local-smartos-packag... and here is another document pointing out how SmartOs has a nearly 14,000 package library of the latest version of software which normally runs on Linux; versions of which are usually newer than on Linux, and it is built fresh every day into binary packages, completely automatically: https://www.perkin.org.uk/posts/building-packages-at-scale.html https://www.perkin.org.uk/posts/building-packages-at-scale.h... So there's one problem that SmartOS didn't solve first, and I'd argue hasn't solved yet either. And based on your response, I'd argue that you haven't seen or used anything but Linux. I'm far from being dishonest, and in fact I communicated exactly what my motivation is, and I'm sorry but it's really not my fault you haven't read SmartOS and Solaris documentation. That would be akin to me claiming that Linux is better than FreeBSD but without knowing enough about FreeBSD. For example, your question about grsecurity+pax is nonsensical in the context of SmartOS: being Solaris based, it doesn't need Linux specific technology like grsecurity. That was precisely my point, if you use a well designed system, all of this Linux hacked-up nonsense goes away, because it was nonsense to begin with. SmartOS has a secure kernel by design, and further delineation can be achieved with role based access control. It also doesn't need a lightweight virtual machine consisting of a single application because it has zones, and also because there would be nothing to reap your process at the end, and you'd end up with a zombie, an unreaped orphan process. I'm surprised that you don't know that Docker had to re-invent a kludgy copy of init precisely because of this problem, or else you would not have asked me that. As for insisting on Docker because it's popular, it's flawed picking something based on popularity; if you pick a solution, it should be because it's technically sound and therefore robust, so that you can sleep through the nights when you're on-call without incidents, and read newspapers and drink your espresso during the day because the damn thing just runs and runs without needing any babysitting, like Linux does all the time. To claim that SmartOS has no development tools, when it readily offers all the popular frameworks, languages, and has the most advanced linkers and compilers in existense us beyond obscene, I'm afraid. Please read the manual pages on the link editor, ld, and the Sun Studio compilers to get an inkling of what I'm writing about. It will tremendously help the quality of our discussion.