Hi all,

Over the past years I have been working on an API that provides a layer of
abstraction for container management. What it basically allows you to do is
create a program that can run docker containers (or potentially other
containers) regardless of the underlying infrastructure.

A little history of the project to provide some context. I worked (and am
still working) on projects that require applications to be run as docker
containers. Initially I started this as a pure docker project, but later it
was moved to use Amazon ECS, a docker container environment. Later it
migrated to use Marathon and later yet again it migrated to another system
for managing docker containers.
Lucky enough I had an API abstraction in place which allowed me to take the
existing application and I just had to write a new driver for whatever
today's platform of deployment was going to be.

The ideas and insights I gained during this time led me to submit OSGi RPC
179 which has since been accepted by the OSGi community. While this is
currently just an RFP (no detailed technical design yet) the idea could be
there that different communities can implement this API to focus on the
backend that they care about. This has two benefits:
1. users can switch backend by just taking the implementation that supports
it
2. implementations don't need to support every backend that exists in the
world. They rather focus on a small number that they care about, which
keeps this maintenance of this manageable.

While I have quite a lot of code for this personally think that it would be
better to start from scratch here. So, I would propose to start a new
subproject in Apache Aries, for example named 'Aries Containers'. There we
could implement the start of what could become input to the OSGi API and
maybe a small number of implementations, for example a Marathon one and
maybe a bare Docker one. We might also consider providing a Kuberbetes impl
if someone with knowledge of that (I have not used that much) joins the fun.

Thoughts anyone? If people are happy with this idea my plan is to start
adding some API and impl soon to provide a starting point for such a
project.

Best regards,

David

[1]
https://github.com/osgi/design/blob/master/rfps/rfp-0179-ComputeManagementService.pdf

Reply via email to