How many Linux servers do I really need?
-
You should keep everything separated as much as possible. That way one function doesn't interfere with another. I've mentioned it before other places, but I've been using LXC a lot. It takes about 10 seconds to start a container (after the first template is downloaded) and I just create a bridge device and let each container have it's own IP.
Updates can be made easy with ansible. Once you write your playbook, you just add the hosts to the ansible hosts file and it updates everything. It's also handy for editing hosts files on each server.
-
It's always best practice (except for critical resource issues, specific technical issues, tight coupling or licensing issues) to have workloads kept as discrete as possible. Separate means easier to tune, update, patch, and much better for security.
-
What about if I use Docker?
-
Docker Docker Docker Docker Docker Docker Docker !
I Hate you.....
Docker doesn't add more to what you need, unless you want to go that route, and split the services with it... But virtualization would do this just as well in your case.
-
@DustinB3403 said:
Docker doesn't add more to what you need, unless you want to go that route, and split the services with it... But virtualization would do this just as well in your case.
What about all the processing, memory, and space I save only having 1 OS?
-
Docker is meant to be running a bunch of identical processes side by side.
If for example you needed to run a Web Store with the capability of support a ton of concurrent connections.
It wasn't designed for this use, although it may very well work.
-
@DustinB3403 said:
Docker is meant to be running a bunch of identical processes side by side.
Hmmmmm..... I didn't know that. This course makes it seems like a container is a super lightweight VM.
-
@DustinB3403 I agree. Docker wasn't really meant for this. You can use it to do this, but it's very early stages currently. I give it another year before it even becomes useful for tinkering with in a lab.
In the mean time, most of those services don't require many resources at all. Depending on the hypervisor being used you may not be using more than a single kernel. My personal VPS is on that type of system, I can do anything with it but update the kernel, because the kernel is shared between all instances running on the server.
-
They are for all intensive purposes, but their supposed to be super targeted, with a very specific work-load. Which often needs to be run concurrently across a ton of discrete containers.
-
@anonymous said:
@DustinB3403 said:
Docker is meant to be running a bunch of identical processes side by side.
Hmmmmm..... I didn't know that. This course makes it seems like a container is a super lightweight VM.
Traditional containers are (LXC, OpenVZ, jails, zones) docker is a different animal.
-
@johnhooks said:
Traditional containers are (LXC, OpenVZ, jails, zones) docker is a different animal.
What one would be recommend in my use case?
-
@anonymous said:
@johnhooks said:
Traditional containers are (LXC, OpenVZ, jails, zones) docker is a different animal.
What one would be recommend in my use case?
If you're on Linux, I would recommend LXC. Ubuntu is making some interesting things with LXC and it's called LXD. One big feature is it will have live migration.
If you are on Solaris you would use zones, if you are on BSD you would use jails.
-
@anonymous My default is XenServer now that it's gone to a free to use, pay for support, model. Linux performance wise, it is among the best you'll find.
-
@johnhooks said:
If you're on Linux, I would recommend LXC. Ubuntu is making some interesting things with LXC and it's called LXD. One big feature is it will have live migration.
It's going to be Linux for sure. I am confused because this class has you to believe that Docker is better then LXC - there was a full 10 minute video comparing the two if I remember correctly. It seems that docker will some day support windows, where I don't think LXC ever will?
-
@anonymous said:
@johnhooks said:
If you're on Linux, I would recommend LXC. Ubuntu is making some interesting things with LXC and it's called LXD. One big feature is it will have live migration.
It's going to be Linux for sure. I am confused because this class has you to believe that Docker is better then LXC - there was a full 10 minute video comparing the two if I remember correctly. It seems that docker will some day support windows, where I don't think LXC ever will?
Wait, are they saying you can run Windows in a container or that you can run containers on Windows? I've heard something similar the latter, but not the former.
-
@johnhooks said:
Wait, are they saying you can run Windows in a container or that you can run containers on Windows? I've heard something similar the latter, but not the former.
Running containers on Windows. Run windows in a container would be nuts
-
LOL - I was wondering what benefit you'd get from running Windows inside a Linux container? (though I suppose one could say we already do that with XenServer - lol
-
@anonymous said:
What about if I use Docker?
Docker would be just as acceptable as LXC or separate VMs. Not likely a good choice as it is not designed for your needs, but it would work. Just be a lot more work.
-
maintaining all of these micro VMs seems like such a pain in the ass. But I'm guessing there are tools, or at least scripts that can be written that will take care of all of them at once?
-
@anonymous said:
@DustinB3403 said:
Docker doesn't add more to what you need, unless you want to go that route, and split the services with it... But virtualization would do this just as well in your case.
What about all the processing, memory, and space I save only having 1 OS?
It's trivial. For the same reasons that VDI is sometimes better than Terminal Servers - because the hypervisors do such an amazing job of this that the memory, disk, etc. does not expand like you would expect and the overhead of multiple VMs is very small. So small that unless you have a hugely saturated server, I can't imagine that you would notice. Containers are lighter than VMs, no doubt. But way more work and less flexible.