If you are on AWS, use auto scaling groups. It achieves more than these software, it works and it's stable. (Bonus: you don't need docker at all).
If you are on GCE, use Google Container Engine (i.e. their kubernetes). That's the only [sane] way to have kubernetes running in production.
I'm planning a blog post about all that later.
If you're a [very] small company with limited resources (and limited needs?) to the point of living on a cheap featureless hosting provider, you should forget about Kubernetes and Mesos. They're hell to setup, don't waste your time with that.
What's the scale of your operations? How many servers? How much budget for hardware? How many applications? How many devs? How many ops? Maybe open another question, with more details. More people will catch up if you're lucky.
Everything is a container and could be scaled, destroyed, restarted in a very simple way.
Machine creation is automated with Terraform and Ansible for provisioning, no matter the provider.
The things I like the most about mesos is that it is light weight and removes a like of the friction in deploying new services. So I can test out a new idea without a big investment or f*ing around with the giant monolith. I found container based approaches too resource intensive for my budget.