Conatainers (Docker) vs VMs - When and Why?
-
I really only have used them for quickly testing some kind of app/service that's offered as a container due to time and resource constraints. But, I have not ran into any kind of requirement or need to use containers versus VMs. I'm thinking they are great for devs.
-
Have you ever used snaps ? if so containers if done properly will help greatly in update and rollback, an example how not to do it :
Ubuntu host OS running ubuntu container image with LAMP installed , you will not leverage the power of containers.
However if you have Ubuntu host OS with multiple containers like apache, php, database (some argue you dont put database in a container ) this way you can test and update your CODE app easily, as it became seperate from the OS, and you can test the updates easier, and rollback them also easier.
No more snapshotting VMs and exporting and importing, and wiping free space to reduce size.
-
Containers exists for scaling out/up easily.
They are used where you have static unchanging base stuff or state controlled base.To me it is simpler though not 100% technically correct to just assume/think that containers virtualize the app not the system.
-
@Emad-R said in Conatainers (Docker) vs VMs - When and Why?:
No more snapshotting VMs and exporting and importing, and wiping free space to reduce size.
If anyone was doing this, they were doing things wrong anyway.
-
@Emad-R said in Conatainers (Docker) vs VMs - When and Why?:
some argue you dont put database in a container
There is not point in it, as you will never scale a database server up as multiple copies. But there is nothing saying you cannot run it in a container from a technical point of view.
Waste of time and overhead though.
-
@JaredBusch said in Conatainers (Docker) vs VMs - When and Why?:
Containers exists for scaling out/up easily.
They are used where you have static unchanging base stuff or state controlled base.To me it is simpler though not 100% technically correct to just assume/think that containers virtualize the app not the system.
Got it. This is my first time really working with developers. I now understand the logic behind it.
-
@IRJ said in Conatainers (Docker) vs VMs - When and Why?:
So thinking about it, you could have 5 different application services separated in containers on a single VM that you can scale if needed.
If one container failed, you could easily redepoly without affecting other services.
True, but VMs allow for that, too.
-
A HUGE factor is that VMs allow for multi-OS options, containers have to share a kernel. But containers are lighter. So you want containers when you can, but you often can't.
-
@Emad-R said in Conatainers (Docker) vs VMs - When and Why?:
Have you ever used snaps ?
I like Snaps, but they aren't real containers. They are non-containers that act like people assume Docker acts, so they call them containers quite often.
Traditional containers, Type-C virtualization, like LXC is pretty far from Snaps. Docker acts like Snaps in some ways, but is build like LXC under the hood.
-
@Emad-R said in Conatainers (Docker) vs VMs - When and Why?:
Ubuntu host OS running ubuntu container image with LAMP installed , you will not leverage the power of containers
Sure it would.
-
@Emad-R said in Conatainers (Docker) vs VMs - When and Why?:
No more snapshotting VMs and exporting and importing, and wiping free space to reduce size.
Those are things you can easily do without containers simply by using statically linked code. Containers enforce this, sure, but it's not an intrinsic issue with non-containers.
-
@JaredBusch said in Conatainers (Docker) vs VMs - When and Why?:
@Emad-R said in Conatainers (Docker) vs VMs - When and Why?:
No more snapshotting VMs and exporting and importing, and wiping free space to reduce size.
If anyone was doing this, they were doing things wrong anyway.
Right, this is something we already solved without containers.
-
@JaredBusch said in Conatainers (Docker) vs VMs - When and Why?:
There is not point in it, as you will never scale a database server up as multiple copies.
You can, I've been in shops that did this. Rare, and we didn't use containers, but rather VMs, but containers would have worked.
-
@scottalanmiller said in Conatainers (Docker) vs VMs - When and Why?:
@JaredBusch said in Conatainers (Docker) vs VMs - When and Why?:
There is not point in it, as you will never scale a database server up as multiple copies.
You can, I've been in shops that did this. Rare, and we didn't use containers, but rather VMs, but containers would have worked.
Duh, never is always assumed as "never"
-
Are there many use cases in the SMB outside of Dev?
-
@Obsolesce said in Conatainers (Docker) vs VMs - When and Why?:
Are there many use cases in the SMB outside of Dev?
Not even in dev really for the SMB. Just use a single VM to do the work. SMB rarely needs to scale.
Other than as you stated, the solution is presented that way. Like UNMS.
-
@JaredBusch said in Conatainers (Docker) vs VMs - When and Why?:
@Obsolesce said in Conatainers (Docker) vs VMs - When and Why?:
Are there many use cases in the SMB outside of Dev?
Not even in dev really for the SMB. Just use a single VM to do the work. SMB rarely needs to scale.
Other than as you stated, the solution is presented that way. Like UNMS.
Even enterprise rarely need to scale that way. It's more for hosting companies than anything.