TODO separate orchestration, cluster management, cloud computing etc.
TODO CoreOS fleet: cluster management or container management?
Running containers in production seriously requires using some orchestration platform tools to “herd the cattle”. There are three different types of deployment platforms:
- IaaS: provision VMs and deploy an orchestration platform yourself
- CaaS: deploy containers directly to the service. Orchestration is taken care of.
- PaaS: deploy applications. The platform takes care of containerization.
Most CaaS and PaaS offerings have their own take on what container orchestration should look like and they provide/require different sets of tools. Deploying on IaaS requires setting up an orchestration platform yourself. There are also PaaS solutions that you deploy yourself either on top of IaaS or in your own datacenter.
- Docker Swarm
- Google Kubernetes
- DC/OS / Mesosphere / Mesos / Marathon TODO how do these relate to each other?
The benefit of running on IaaS is that the whole solution can be deployed in the same way on any service provider or in a private datacenter.
Generally, you provision VMs directly on an IaaS provider or in the datacenter and deploy an orchestration solution on top of the VMs. You can also use a cloud computing platform in the middle to form a PaaS of your own.
- Coreos Tectonic (Kubernetes)
- Azure Container Service ACS (DC/OS or Swarm)
- Amazon EC2 Container Service ECS
- Google Container Engine GKE (Kubernetes)
- IBM Bluemix
- Based on CloudFoundry
- Google Cloud Platform
- OpenShift Origin
- Open source of OpenShift version that you deploy yourself
- Cloud Foundry
- OpenStack (IaaS really?)
- Has the Magnum service for running container orchestration platforms
- Can run also OpenShift Origin, Cloud Foundry etc.
- TODO https://blog.openshift.com/openshift-origin-vs-openstack/