Which container scheduler?
Vamp can run on top of Mesos/Marathon, DC/OS, Kubernetes and Rancher (Docker Swarm support is coming soon). In case you’re “greenfield” and don’t have anything selected or running yet, here are some high-level pointers to help you make an informed decision:
- Working with big data - Mesos/Marathon, DC/OS, Azure Container Service
- Running web-based applications - Kubernetes, Google Container Engine
- Managing (virtual) infrastructure - Rancher with Docker or Kubernetes
- Just running Docker
Whichever option you choose now, Vamp is container systems agnostic, so all your blueprints and workflows will keep on working if you decide to switch in the future *.
Working with big data
If you are working with typical big data solutions like Kafka, Cassandra or Spark (often combined in something called SMACK stack), and/or want to run not only containers on your cluster it makes sense to investigate Mesos/Marathon first. A lot of big data frameworks can run as native Mesos frameworks and you can combine the underlying infrastructure to share resources between these frameworks running on Mesos and your containers running inside Marathon (which is a Mesos framework in itself).
Add in commercial support
If you have the same requirements as described above, but you’re more comfortable buying commercial support, moving towards DC/OS makes sense. DC/OS is based on Mesos/Marathon, but adds additional features and a fancy UI. You can purchase commercial DC/OS support or buy an enterprise version from Mesosphere (the company that initiated Mesos and Marathon).
If you’re looking for a hosted version of DC/OS you could investigate Azure Container Service which let’s you choose between DC/OS or Docker Swarm.
Running web-based applications
If you’re solely interested in running (micro)services, APIs and other web-based applications, Kubernetes is an integrated cluster-manager and -scheduler, and is specifically designed for running containers with web-focused payloads.
Add in commercial support
At this point, commercial support and fancy dashboards are less easy to find for Kubernetes. However, Kubernetes is the scheduler used in Redhat software (Openshift V3), so if your company used Redhat software this might make sense to investigate.
A hosted version of Kubernetes is available from Google (Google Container Engine).
Managing (virtual) infrastructure
If you want to manage and provision (virtual) infrastructure as well as manage and run containers, Rancher is a viable option. Rancher provides a Docker or Kubernetes based container scheduler and adds infrastructure provisioning with a nice graphical UI.
Just running Docker
If you want to stay within the Docker ecosystem, Vamp works nicely with (single machine) Docker. Docker Swarm support is coming up soon.
* Note that Vamp dialects and some specific metric store settings are scheduler or container cloud specific.