mediagoblin-userops
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Userops] Why is it hard to move from one machine to another? An ana


From: Dave Crossland
Subject: Re: [Userops] Why is it hard to move from one machine to another? An analysis.
Date: Fri, 10 Apr 2015 11:02:18 -0400



On 10 April 2015 at 09:02, Claes Wallin (韋嘉誠) <address@hidden> wrote:
On Fri, Apr 10, 2015 at 12:01 AM, Dave Crossland <address@hidden> wrote:
>
> Hi Asheesh
>
> On 8 April 2015 at 15:20, Asheesh Laroia <address@hidden> wrote:
>>
>> "Docker container" means large disk footprint.
>
>
> I don't think this is so; Docker containers are mostly misused as full
> system images, because people using them have used vm systems that pre-date
> container systems and haven't upgraded their mindset.
>
> Again, "Containers will do to apt what apt did to tar" - its like folks
> using dpkg like it was tar, `dpkg -i *.deb`, instead of setting up an apt
> repository and apt-get'ing those packages (which with ubuntu ppa
> infrastructure is now more common.)
>
> I think the difference between Sandstorm containers and a Docker containers
> is a key understanding.
>
> Docker _can_ containerise a full system image, but its not an ideal, 'post
> containerisation' use pattern... Can Sandstorm?
>
> AFAIK, no, and that means using Sandstorm is, de facto, a 'post
> containerisation' usage pattern.

Going briefly off-topic, I'm curious when "post-VM" VMs are going to
start happening. There's a lot of gooey hardware-management stuff
happening in VMs that don't have actual hardware, where it should all
just be what amounts to APIs to the hypervisor.

I think that's a great way to think about containers: They segment bare metal without the needless software-defined hardware interfaces of VMs.
 
What Mirage OS[1] is doing is really interesting, but it's far from mainstream yet.

Actually it's tangentially on-topic, because Mirage OS in particular
is also about deployment -- your service is just one binary that you
run right in your hypervisor.

[1] http://www.openmirage.org/

Hmm. This is Xen based. 

Xen is a hypervisor, not a VM or a container.

As I understand things: 

- VMs virtualise hardware completely in software. You can run software compiled for another CPU architecture in a VM, eg Super Marios in a NES emulator runs on your laptop.

- Hypervisors like Xen (and KVM, which superceded it; and vmware's vSphere and msft's Hyper-V) virtualise hardware using 'pass through' CPU hardware, to get near-native speeds. Your guest OSs need to be compiled for the same CPU architecture, but you can run heterogenous OSs, eg Windows on KVM or Debian on Hyper-V.

- Containers virtualise as much as everything above the kernel, but potentially just one program, using 'overlay filesystems' software, to get native speeds.

It becomes increasingly easy to punch out of the virual environment to get root on the bare metal as the amount of virtualisation decreases. 

Is this correct?

However, MirageOS does look very nice; I think of it as yet another example of what I pointed to earlier with https://us.pycon.org/2015/schedule/presentation/378/ and what Shawn Landden said,

 go binaries are statically linked, and if the application is designed right could go into a container with no other files. 

I don't really see the difference between a MirageOS host and a RancherOS or CoreOS host, other than optimisation (maybe prematurely ;)

Cheers
Dave 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]