I’m moving this whiteboard to the ML so we can have some discussion to refine 
it, and then go back and update the whiteboard.

Source: https://blueprints.launchpad.net/magnum/+spec/mesos-bay-type

My comments in-line below.

Begin forwarded message:

From: hongbin <hongbin...@huawei.com<mailto:hongbin...@huawei.com>>
Subject: COMMERCIAL:[Blueprint mesos-bay-type] Add support for mesos bay type
Date: May 28, 2015 at 2:11:29 PM PDT
To: <adrian.o...@rackspace.com<mailto:adrian.o...@rackspace.com>>
Reply-To: hongbin <hongbin...@huawei.com<mailto:hongbin...@huawei.com>>

Blueprint changed by hongbin:

Whiteboard set to:

I did a preliminary research on possible implementations. I think this BP can 
be implemented in two steps.
1. Develop a heat template for provisioning mesos cluster.
2. Implement a magnum conductor for managing the mesos cluster.

Agreed, thanks for filing this blueprint!

First, I want to emphasis that mesos is not a service (It looks like a
library). Therefore, mesos doesn't have web API, and most users don't
use mesos directly. Instead, they use a mesos framework that is on top
of mesos. Therefore, a mesos bay needs to have a mesos framework pre-
configured so that magnum can talk to the framework to manage the bay.
There are several framework choices. Below is a list of frameworks that
look like a fit (in my opinion). A exhaustive list of framework can be
found here [1].

1. Marathon [2]
This is a framework controlled by a company (mesosphere [3]). It is open source 
through. It supports running app on clusters of docker containers. It is 
probably the most widely-used mesos framework for long-running application.

Marathon offers a REST API, whereas Aroura does not (unless one has 
materialized in the last month). This was the one we discussed in our Vancouver 
design summit, and we agreed that those wanting to use Apache Mesos are 
probably expecting this framework.

2. Aurora [4]
This is a framework governed by Apache Software Foundation. It looks very 
similar to Marathon, but maybe more advanced in nature. It has been used by 
Twitter at scale. Here [5] is a detailed comparison between Marathon and Aurora.

We should have an alternate bay template for Aroura in our contrib directory. 
If users like Aroura better than Marathon, we can discuss making it the default 
template, and put the Marathon template in the contrib directory.

3. Kubernetes/Docker swarm
It looks the swarm-mesos is not ready yet. I cannot find any thing about that 
(besides several videos on Youtube). The kubernetes-mesos is there [6]. In 
theory, magnum should be able to deploy a mesos bay and talk to the bay through 
kubernetes API. An advantage is that we can reuse the kubernetes conductor. A 
disadvantage is that it is not a 'mesos' way to manage containers. Users from 
mesos community are probably more comfortable to manage containers through 
Marathon/Aurora.

If you want Kubernetes, you should use the Kubernetes bay type. If you want 
Kubernetes controlling Mesos, make a custom Heat template for that, and we can 
put it into contrib.

If you want Swarm controlling Mesos, then you want BOTH a Swarm bay *and* a 
Mesos bay, with the Swarm bay configured to use the Mesos bay using the 
(currently developing) integration hook for Mesos in Swarm.

Any opposing viewpoints to consider?

Thanks,

Adrian

--hongbin

[1] http://mesos.apache.org/documentation/latest/mesos-frameworks/
[2] https://github.com/mesosphere/marathon
[3] https://mesosphere.com/
[4] http://aurora.apache.org/
[5] 
http://stackoverflow.com/questions/28651922/marathon-vs-aurora-and-their-purposes
[6] https://github.com/mesosphere/kubernetes-mesos

--
Add support for mesos bay type
https://blueprints.launchpad.net/magnum/+spec/mesos-bay-type

__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to