Live data from Hacker News

AWS EC2 Container Service

aws.amazon.com

71–80 of 90 posts

Re: AWS EC2 Container Service

#71

Earlier quoted context omitted.

It's more like a ping-pong. Things start off simply, but over time as the layers of abstraction pile up, things become brittle and unworkable. I view containers as more of a reworking of a key computational abstraction (VMs) than an evolution of them. We finally have operating systems with enough inter-process isolation, sufficiently capable filesystems (layering), etc. that we can throw out 80% of the other unnecess…

I'm genuinely curious, although a bit naive WRT containers. Outside of an aesthetic preference (for being able to remove 80% unnecessary cruft), what is the advantage of containers? I was under the impression that VM overhead was marginal in terms of today's computing. I ask because I'm familiar with VMs, having worked with them extensively for a number of years. VMs work quite well for any application I've needed, s…

VM overhead isn't trivial. It still remains a pretty big factor in terms of cost bloat for CPU-bound stuff. Also, VMs take a godawful long time to start up; if you care about, say, responding to load within ten seconds, VMs aren't a great choice.

They're fine for a lot of things, of course. I use them all the time. But I use containers for other things.

Re: AWS EC2 Container Service

#72
No mention of Elastic Load Balancing integration or even EBS integration. Thus avoiding the 2 hardest problems in container management.

To make this not suck you will still need a proxy layer that maps ELB listeners to your containers and if you intend to run containers with persistent storage you are going to be in for a fun ride.

Probably best to integrate functionality for interacting with storage systems into Docker itself, probably as a script hook interface similar to the way Xen works.

Re: AWS EC2 Container Service

#73

Earlier quoted context omitted.

It's more like a ping-pong. Things start off simply, but over time as the layers of abstraction pile up, things become brittle and unworkable. I view containers as more of a reworking of a key computational abstraction (VMs) than an evolution of them. We finally have operating systems with enough inter-process isolation, sufficiently capable filesystems (layering), etc. that we can throw out 80% of the other unnecess…

I'm genuinely curious, although a bit naive WRT containers. Outside of an aesthetic preference (for being able to remove 80% unnecessary cruft), what is the advantage of containers? I was under the impression that VM overhead was marginal in terms of today's computing. I ask because I'm familiar with VMs, having worked with them extensively for a number of years. VMs work quite well for any application I've needed, s…

Just lighter weight. Ways that containers can be cool:

You need to start 10 containers locally to dev your app. Spinning up a local 10 VMs kind of sucks. 10 containers can be pretty quick.

(now if you really need 10 containers is another question, and some people clearly over split their architecture).

Re: AWS EC2 Container Service

#74
post #43

"All problems in computer science can be solved by another level of indirection" - David Wheeler That's what "containers" are, of course. There's so much state in OS file namespaces that running any complex program requires "installation" first. That's such a mess that virtual machines were created to allow a custom OS environment for a program. Then that turned into a mess, with, for example, a large number of canne…

It's more like a ping-pong. Things start off simply, but over time as the layers of abstraction pile up, things become brittle and unworkable. I view containers as more of a reworking of a key computational abstraction (VMs) than an evolution of them. We finally have operating systems with enough inter-process isolation, sufficiently capable filesystems (layering), etc. that we can throw out 80% of the other unnecess…

Well, we've had various containers such as BSD jails, for decades. The useless garbage wasn't necessary. Seems like ping pong happens whenever "kids these days" don't know why the status is quo then have to relearn the old lessons.

Re: AWS EC2 Container Service

#75
post #71

Earlier quoted context omitted.

I'm genuinely curious, although a bit naive WRT containers. Outside of an aesthetic preference (for being able to remove 80% unnecessary cruft), what is the advantage of containers? I was under the impression that VM overhead was marginal in terms of today's computing. I ask because I'm familiar with VMs, having worked with them extensively for a number of years. VMs work quite well for any application I've needed, s…

VM overhead isn't trivial. It still remains a pretty big factor in terms of cost bloat for CPU-bound stuff. Also, VMs take a godawful long time to start up; if you care about, say, responding to load within ten seconds, VMs aren't a great choice. They're fine for a lot of things, of course. I use them all the time. But I use containers for other things.

I recall several reliable testers confirming that the CPU overhead of virtualisation was negligible, somewhere around 2%. Unfortunately I could not quickly find those papers now, but I did find a old VMWare whitepaper[1] showing they had ~7% overheard 5+ years ago, which sounds about right considering what kind of advancements they would have made in half a decade.

[1] http://www.vmware.com/pdf/hypervisor_performance.pdf

Re: AWS EC2 Container Service

#76
post #43

"All problems in computer science can be solved by another level of indirection" - David Wheeler That's what "containers" are, of course. There's so much state in OS file namespaces that running any complex program requires "installation" first. That's such a mess that virtual machines were created to allow a custom OS environment for a program. Then that turned into a mess, with, for example, a large number of canne…

Bracket Computing is basically doing this. Funded by a16z too. https://www.brkt.com/

Re: AWS EC2 Container Service

#77
post #71

Earlier quoted context omitted.

I'm genuinely curious, although a bit naive WRT containers. Outside of an aesthetic preference (for being able to remove 80% unnecessary cruft), what is the advantage of containers? I was under the impression that VM overhead was marginal in terms of today's computing. I ask because I'm familiar with VMs, having worked with them extensively for a number of years. VMs work quite well for any application I've needed, s…

VM overhead isn't trivial. It still remains a pretty big factor in terms of cost bloat for CPU-bound stuff. Also, VMs take a godawful long time to start up; if you care about, say, responding to load within ten seconds, VMs aren't a great choice. They're fine for a lot of things, of course. I use them all the time. But I use containers for other things.

"if you care about, say, responding to load within ten seconds, VMs aren't a great choice."

That's actually exactly why I would use a VM..

Re: AWS EC2 Container Service

#78
post #64
post #39

Earlier quoted context omitted.

You forgot to quote the part where I said "I won't comment on whether it's good or bad". Canonical doesn't need to justify itself to me, no more than the Docker maintainers need to justify themselves to you. It's just how open-source works: you weigh the pros and cons of re-using vs re-implementing, make a decision, and see if the community follows you. In the case of Docker, the community followed. In the case of lx…

Happened to find the pull request discussing the lxc-driver issue. It sounds like there was some interest in contributing upstream, but it didn't really go anywhere. https://github.com/docker/docker/pull/5797 From the thread, it seems like the concern was just that lxc-exec wasn't well maintained and the lxc interfaces weren't stable since it was undergoing heavy development. I think that's changed recently with both…

Completely agree and we try hard to do just that.

Re: AWS EC2 Container Service

#79
post #43

"All problems in computer science can be solved by another level of indirection" - David Wheeler That's what "containers" are, of course. There's so much state in OS file namespaces that running any complex program requires "installation" first. That's such a mess that virtual machines were created to allow a custom OS environment for a program. Then that turned into a mess, with, for example, a large number of canne…

It's not really adding another level of indirection, it's taking one away. The pain of change remains in that you have to internalize yet another new layer, BUT at least this way you get to leave VMs behind. It's trading one layer for another slightly more granular one instead of piling another one on top.
Post reply on HN