Microsoft's Azure Kubernetes Service (AKS) is designed to make deploying and managing containerized applications easy. It offers serverless Kubernetes, an integrated continuous integration and continuous delivery (CI/CD) experience, and enterprise-grade security and governance. It allows development and operations teams on a single platform to rapidly build, deliver, and scale applications with confidence.
There's really no reason to ever use Mesos. We switched over to Kubernetes and it's been a breath of fresh air - better CD support, easy CLI for browsing logs, no mysterious dangling redeploys. If you're looking for a tool to manage a fleet of Docker containers on VMs, Kubernetes beats Mesos by a wide margin.
At one instance, there was a fire in our data center and the backup power had some issues because of which the whole DC went down. I believe with AKS and the replication it's easier to handle such a situation. Also, the scenario would have been pretty transparent to the end-users.
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.
Kubernetes is really great and their community is growing really fast (Google influence). We evaluated it in the beginning and it would fit for our web applications workload. We decided to proceed with Mesos because it has more potential. You may use a different framework for different kinds of tasks on Mesos. There is a Kubernetes framework for Mesos, by the way.
The ability to create new instances (i.e. elastic provisioning) is probably the fastest with Azure Kubernetes Service compared to the alternatives that I have looked at. From a pricing perspective, Microsoft always seems to find a way to be more competitive in this area, and literally every other field they play in.