Hey Guys
Warm welcome! 
Ignasi- long time no speak :-) 
You raise some great questions. Forget about a docker standalone server for 
now, although we do support that. 
The idea is to see a cluster or a cloud of docker servers, you can say deploy x 
image(s) and list running containers. 
I've been speaking with some users of Docker at user groups and the interesting 
use case is how do they develop a CI/CD process that can span across 
Docker/Kubernetes (local private instance) and a public cloud? 
Differently clouds approach that in different ways. Joyent for example wraps 
the docker API and provides compat, Amazon ECS provides an API to list 
containers across a group of docker nodes. Kubernetes and Google cloud are 
similar. So we immediately have 4 different APIs for doing very similar tasks. 
Docker is to these providers what Xen or KVM was. The only way they will 
provide value is to wrap services around the docker ecosystem. 
Also, Docker is not the only container spec, I don't know of any providers 
running coreos yet but this is all moving so fast. 
I classified the drivers into 2 types. Those that are for a single container 
host and those that are for a cluster of container hosts. ECS, Kubernetes and 
GCE are the latter. 
With regards to deploying a graph of containers, each driver will have an 
extension method for offering native actions, but I couldn't see any way of 
doing that consistently yet. I would imagine defining a 'service' type with a 
list of containers as an attribute and a simple reference to another service it 
depends on would do the trick. 
Anthony

Sent from Outlook Mobile

    _____________________________
From: Andrew Phillips <andr...@apache.org>
Sent: Saturday, January 30, 2016 2:27 AM
Subject: Re: Hello from Apache Libcloud!
To:  <dev@jclouds.apache.org>


> Thanks for starting this thread!

Big +1 to that - thanks, Anthony! What I'd be especially interested to 
hear about are your thoughts on the feasibility of providing a level of 
abstraction at this point.

The main questions for me would be:

* What is the right interface: something that can instantiate a single 
image (e.g. Docker)? Or a graph of images (e.g. Kubernetes)? Or both?

* How much commonality is there across providers? At present, the 
"single image providers" seem much closer to providing a standard than 
the "image graph providers"...but is the single image use case really 
that compelling?

* Given that the predominant paradigm for containers is "instantiate and 
don't change" (vs. traditional compute, which is more like "instantiate 
and modify"), what is the core value of an abstraction over multiple 
providers - especially if they are largely all compatible with one API? 
I.e. if all I'm trying to do is instantiate a known image, why not 
simply use the Docker client or API directly?

Would be great to learn more about how you see this space!

Regards

ap



  

Reply via email to