Live data from Hacker News

Containers vs. Zones vs. Jails vs. VMs (2017)

blog.jessfraz.com

71–80 of 134 posts

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#72
post #7

> A “container” is just a term people use to describe a combination of Linux namespaces and cgroups. Linux namespaces and cgroups ARE first class objects. NOT containers. Amen. Somewhat tangential note: most developers I have met do not understand what a 'container' is. There's an aura of magic and mystique around them. And a heavy emphasis on Docker. A sizable fraction will be concerned about 'container overhead' (a…

I think it is widespread because containers are (seemingly) marketed as being some kind of magic. The impression I get is that the benefit to containers is that you don't have to think about them. This may be more a product of Docker but I think containers and Docker have become synonymous. I'm not sure this is a fair comparison but that is my impression. I could be in a bubble too.

It is product of docker, if you would deploy applications by using namespaces and cgroups directly it is very likely you would see things the same way the author does.

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#73

Earlier quoted context omitted.

An experienced software engineer (yeah, developer) has experience engineering software. It’s been less than 10yrs since the advent of containerized deployments, and the space has been fraught with change nearly on par with the front end JavaScript ecosystem. Might as well just stick to writing code. OK, that’s the perception of my own peers, but I assume it scales. DevOps is a recent advent, too, and sounds to me lik…

SRE was born of putting software engineers to work building operational software and automation tailored to an organization and application. In contrast, no matter what anyone says, DevOps was objectively born of replacing the operations discipline and career track with a poorly-understood tool economy and ongoing opex to a cloud provider. As you say, typical JavaScript engineers can’t be bothered to understand netwo…

Hello!

I am a developer who wants to understand networks. Can you point me to some reading resources? For now, I've just been looking at the wikipedia pages for the different protocols.

But I think it would help me to work with concrete scenarios in which you use knowledge of networks to better understand things.

I would appreciate it if you pointed me to anything you think worthwhile.

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#74

> A “container” is just a term people use to describe a combination of Linux namespaces and cgroups. Linux namespaces and cgroups ARE first class objects. NOT containers. Amen. Somewhat tangential note: most developers I have met do not understand what a 'container' is. There's an aura of magic and mystique around them. And a heavy emphasis on Docker. A sizable fraction will be concerned about 'container overhead' (a…

> like VMs, but lighter

This is both very right and very wrong.

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#75
post #49

> A “container” is just a term people use to describe a combination of Linux namespaces and cgroups. Linux namespaces and cgroups ARE first class objects. NOT containers. Amen. Somewhat tangential note: most developers I have met do not understand what a 'container' is. There's an aura of magic and mystique around them. And a heavy emphasis on Docker. A sizable fraction will be concerned about 'container overhead' (a…

Have them look at bocker (docker-like in ~100 lines of bash). It makes it very clear what docker is, and isn't. https://github.com/p8952/bocker Specifically, the bocker_run function: https://github.com/p8952/bocker/blob/master/bocker#L61

so what's the gap here with docker? what incorrect assumptions would i make from assuming this as a model for containers, if anyone knows

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#76
post #75
post #49

Earlier quoted context omitted.

Have them look at bocker (docker-like in ~100 lines of bash). It makes it very clear what docker is, and isn't. https://github.com/p8952/bocker Specifically, the bocker_run function: https://github.com/p8952/bocker/blob/master/bocker#L61

so what's the gap here with docker? what incorrect assumptions would i make from assuming this as a model for containers, if anyone knows

The gap is that it's skipping half of what makes Docker powerful, and what isn't really discussed in this conversation at all either. Distribution.

E.g. see this line of code: https://github.com/p8952/bocker/blob/master/bocker#L25

"But I thought bocker implements Docker?" It doesn't, it only attempts to implement the "Docker daemon" part, and piggy-backs on Docker registries for image distribution. This is a huge part of the power of Docker, and why Docker isn't "just cgroups and namespaces". Cgroups and namespaces are a critical element, but Docker is much more than that too--it's also a set of standards for distributing and administering configuration+data for cgroups and namespaces.

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#77
post #69

Earlier quoted context omitted.

> A sizable fraction will be concerned about 'container overhead' (and "scalability issues") when asked to move workloads to containers. They are usually not able to explain what the overhead would be, and what could potentially be causing it. For what it's worth, one of the biggest "containerization" recommendations is to not run your database (example: Postgres) in a container, correct? Due to I/O performance decre…

Funny, I looked into papers or articles about performance issues with containerized RDBS _binaries_ and didn't find anything relevant. Of course you want the data mounted outside the container so it's not ephemeral. I ran some casual tests using and found out there is a performance hit in using db binaries inside a Docker container due to Docker networking (different for different types of networking).

I would be more concerned about writes going through additional fs layers and about abrupt termination of a container.

You generally are trusting a database to keep your data safe, so those things will contribute to data loss.

Remember the freakout about PostgreSQL not handling sync() correctly on Linux due to ambiguity in the man page? Having a networked filesystem + additional abstractions (like layers) etc only reduces data durability.

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#78
post #76
post #75

Earlier quoted context omitted.

so what's the gap here with docker? what incorrect assumptions would i make from assuming this as a model for containers, if anyone knows

The gap is that it's skipping half of what makes Docker powerful, and what isn't really discussed in this conversation at all either. Distribution. E.g. see this line of code: https://github.com/p8952/bocker/blob/master/bocker#L25 "But I thought bocker implements Docker?" It doesn't, it only attempts to implement the "Docker daemon" part, and piggy-backs on Docker registries for image distribution. This is a huge par…

So many people don't seem to understand that artifact distribution is the compelling feature of Docker.

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#79
post #41
post #7

Earlier quoted context omitted.

I think it is widespread because containers are (seemingly) marketed as being some kind of magic. The impression I get is that the benefit to containers is that you don't have to think about them. This may be more a product of Docker but I think containers and Docker have become synonymous. I'm not sure this is a fair comparison but that is my impression. I could be in a bubble too.

I’d like to think so too. It’s hard to actually understand how Docker works by reading their documentation. Everything looks so simple.. and it magically runs on macOS and Windows too. No wonder people think it’s some sort of a VM.

> No wonder people think it’s some sort of a VM.

From what I read, if one packages a Linux container for Windows, Docker does then run it in HyperV?

https://stackoverflow.com/questions/52164563/what-is-the-doc...

Re: Containers vs. Zones vs. Jails vs. VMs (2017)

#80
post #5

Earlier quoted context omitted.

This is widespread unfortunately. Developers changed to „users” and no longer pursue the details of solutions. Im not gonna say its the dominant behaviour in the field right now, but I see it more and more often on various experience levels.

You talk as if that's a bad thing. As a developer I don't want to wade into the details of systems I'm using, I want to spend my time writing code that solves the business problems I'm tasked with solving. If there is a system that allows me to do that by abstracting away the details I don't care about, why wouldn't I use that system?

Abstractions usually only work within a boundary. If you understand the underlying implementation you know its limitations.

Abstractions help you to not think about the implementation all the time and to have your own code work in a coherent way.

Post reply on HN