The IBM Cloud Kubernetes Service provides the Managed Istio installation add on, designed to provide additonal control over clusters and the microservices they comprise via automatic updates and lifecycle management of control plane components, and integration with platform logging and monitoring tools.
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.
Clearly, the [IBM Cloud Managed Istio] tool is very useful when you have multiple services and each service is connecting with other services through APIs in different networks. To manage this type of complex network, [IBM Cloud Managed Istio] is very useful. It comes with a license that can increase the billing of your project so make sure if your application network mesh, monitoring cannot be managed on your own then you can use it. If your application is not very complex then you have many tools available like Grafana, Prometheus, Sumo Logic, which you can integrate individually with your cluster and implement. In this type of scenario, it is better to not use [IBM Cloud Managed Istio] and it will serve your purpose as well.
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.