when you go to run an application on your laptop you don’t have a time say this application is going to have 32 threads and this amount of ram. you just launch the application and the application itself uses the operating system on your computer to do things like memory alloc to get the memory allocated to you or p thread.
That’s the API that Mesos really provides for distributed systems. Mesos acts as the OS in above eg. but it’s designed to work with distributed hardware. It’s designed such that you will use other frameworks on top of it, just like you run applications on a standard OS. like you’ll use a marathon or K8 to launch containers.
The intention is to use the Mesos API to make it easier to build any distributed system.
Mesos is a resource allocation and distribution architecture.
K8 is environment that makes building distributed systems like Cassandra easier.