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 <[email protected]>
Sent: Saturday, January 30, 2016 2:27 AM
Subject: Re: Hello from Apache Libcloud!
To: <[email protected]>
> 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