[Container-tools] Nulecule Application Story & examples - illustrations

Mark Lamourine markllama at redhat.com
Thu May 7 20:38:39 UTC 2015



----- Original Message -----
> 
> Hi,
> 
> Draft illustrations - Nulecule Application Story & examples:
> https://docs.google.com/presentation/d/1rRfR9sSLuz_hMmz6W5SZAsV2AKDgHmfJk0hhFF0TTjU/edit#slide=id.p
> 
> Any comments, suggestions, or corrections? Did I get the examples right?

I look at Docker/Rocket, Kubernetes Mesos and Nulecule as russian dolls. (mostly)

The container system creates a tiny capsule environment on a host.  It has holes or sockets where the outside world is able to/required to connect to feed in resources: network, files, environment.  Each container runs only on one host.  The container system's scope is on the host and with very few exceptions it is unable to make changes to the configuration of the host itself.  The unit of operation for the container system is one container.  It can create containers that share resources but it cannot *provide* the resources if they are not already available on the host.

The orchestration system has two functions.  It prepares the host to start a container by rallying the external resources the container will need.  It finds and attaches the storage, it creates and publishes network interfaces.  It also binds multiple hosts together, examining the resources and loading of each one so that it can report that to a scheduler and then place and execute each container as it is instructed.  Because the orchestration system is aware of multiple running containers and has control of resources they might share.  It can modify the host to provide those resources to multiple local containers, or even containers which span hosts in the cluster.

The scheduler (mesos) takes information about the resources available in the cluster (from Kubernetes) and a provided policy from creators of the cluster and the jobs from a user queue.  It matches the jobs to the resources by applying the policy and then hands the jobs down to the orchestration system to execute.
Mesos uses the orchestration system as its hands.

Nulecule is the language in which one describes a complex running service in the most abstract terms.  It provides input to both the orchestration and scheduling systems.  It is how you say "I want to do *this*" and not "turn that knob, plug that cord".

Some of the details will need to be built in like plugins to span the layers.  Aaron mentioned to me today that there were hooks already in nulecule to have "provider" plugins, a familiar concept to Puppet users, so that each abstracted concept has a concreted implementation for each environment.

All this presumes a selection of resource legos, container images, storage, external network ports etc.

Does this make any sense?

- Mark


> 
> Thanks.
> Michael
> 
> _______________________________________________
> Container-tools mailing list
> Container-tools at redhat.com
> https://www.redhat.com/mailman/listinfo/container-tools
> 

-- 
Mark Lamourine <mlamouri at redhat.com>
Sr. Software Developer, Cloud Strategy
Red Hat, 314 Littleton Road, Westford MA 01886
Voice: +1 978 392 1093
http://people.redhat.com/~mlamouri
markllama @ irc://irc.freenod.org*lopsa




More information about the Container-tools mailing list