The Mirantis Kubernetes Engine (formerly Docker Enterprise, acquired by Mirantis in November 2019)aims to let users ship code faster. Mirantis Kubernetes Engine gives users one set of APIs and tools to deploy, manage, and observe secure-by-default, certified, batteries-included Kubernetes clusters on any infrastructure: public cloud, private cloud, or bare metal.
$0
per year
Pricing
Apache Mesos
Mirantis Kubernetes Engine
Editions & Modules
No answers on this topic
Free
$0.00
per year
Basic
$500.00
per year
Offerings
Pricing Offerings
Mesos
Mirantis Kubernetes Engine
Free Trial
No
Yes
Free/Freemium Version
No
Yes
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
These pricing options are compatible with Linux or Windows Server and are per year, per node. The basic version requires maximum online purchase not to exceed 50 nodes. Support/professional services are not included.
Mesos is really great when you have a big datacenter with many different applications and use cases. It will help you to optimize the resource usage, being a centralized API for your infrastructure. It will not suit well for small companies that just need to deploy a web app. In this case, I would recommend something smaller.
Docker is great for when you would want to use a VM for any given application, but don't need the overhead of the whole OS. Docker containers use very little computing resources, boot up very quickly, and are very easy to set up. An instance where Docker may not be appropriate would be for an application that requires good security. If in this situation, a true VM would probably be your best bet.
Mesos may have many frameworks. If you have Mesos installed on your servers, you may use it for many kinds of tasks. Today we're running only web applications but the idea is to install a different framework for big data soon.
Unreliable deployments that would fail for no good reason. Sometimes our Docker container would be "restarting" forever because Mesos thought it didn't have enough resources to start the container.
Impossibly slow UI. Built in React under the hood with a lot of bloatware backed in, so loading the Mesos UI on a slow internet connection was painful.
No real logging solution - it would stream "console.log()" output to the UI, but searching for logs wasn't really possible without downloading a huge file.
No built-in support for redeploying containers from a CI. We had to create a service whose whole job was to expose an HTTP endpoint that restarted a container, and then made Circle CI ping the endpoint whenever we wanted to redeploy.
Docker has a bit of a learning curve, and it takes some time to become familiar with the tooling and syntax. Transitioning an existing architecture to docker can represent a significant investment.
Docker attempts to provide some level of cross-host container orchestration via swarm, but it falls short of third-party solutions like kubernetes.
We occasionally run into stability issues when the docker daemon is subjected to high load (many applications starting/stopping frequently). In these cases, docker hangs and we have to restart or replace the node.
Docker's CLI has a lot of options, and they aren't all intuitive. And there are so many tools in the space (Docker Compose, Docker Swarm, etc) that have their own configuration as well. So while there is a lot to learn, most concepts transfer easily and can be learned once and applied across everything.
The community support for Docker is fantastic. There is almost always an answer for any issue I might encounter day-to-day, either on Stack Overflow, a helpful blog post, or the community Slack workspace. I've never come across a problem that I was unable to solve via some searching around in the community.
Kubernetes is by far the best choice. More reliable and better developer experience. Mesos is prone to sporadic failures and not really designed to handle CI/CD-based deployments. Docker Cloud once shut down our entire cluster for "upgrades" without giving us any warning.
I have not used any other software as a container management solution. Its containerized apps allow the usage of less memory, thus they start and shut down very fast. This tool is helping the enterprise software to work quickly against the changing conditions thus offers great scaling by simultaneously allowing me to meet the demands, which also leads to easy implementation of the strategies.
We are able to try things very quickly compared to before. If you need to debug it, changes on X/Y/Z will have an impact on the way your app works, and changing libraries or configurations of the environment easily can improve your development cycles.
In case someone new arrives, the onboarding is pretty easy thanks to Docker. We have tried many configs and images until we reached a point were we have what we want. We don't have to painfully do that again for every new user. We just send him the image.