Hi Wenzhao, I am not sure I understand you exactly.
All Mesos tasks (the stuff running on and managed by Mesos agents) always belong to a framework; this framework launches and supervises them, and manages their lifetime. It is not possible to start tasks without a framework. Marathon is a framework. Usually the framework process is not started as a Mesos task, but instead started by e.g., init.d/systemd, so the framework itself is not supervised by Mesos. Users can start Mesos tasks by e.g., hitting Marathon endpoints. Marathon then starts a task with Mesos and makes sure that the task keeps running (similar to how e.g., systemd might make sure that the Marathon framework process is running). Frameworks can talk to Mesos with two different APIs (often called v0 and v1); v0 is a C++ API while v1 communicates over HTTP. v1 is not a REST API. To launch Mesos tasks you will need a framework. You can either write a framework yourself, or use an existing one (there’s one list of some frameworks here, https://mesos.apache.org/documentation/latest/frameworks/). Cheers, Benjamin

