2
votes

I went through the video on introduction of DCOS. It was good but got me somewhat confused in terms of classification of component definitions in Mesosphere.

  1. I get that DCOS is an ecosystem and Mesos is like a kernel. Please correct me if I am wrong. For eg. It's like Ubuntu and Linux kernel I presume.

  2. What is marathon? Is it a service or framework or is it something else that falls in neither category? I am bit confused in terms of service vs framework vs application vs Task definition in Mesosphere's context.

  3. Are the services(Cassandra, HDFS, Kubernetes, etc..) that he launches in the video can safely be also called as frameworks?

  4. From 3, are these "services" running as executors in the slaves?

  5. What should rails-app's type be here? Is it a task? So will it also have an executor?

  6. Who makes the decision of autoscaling the rails-app to more nodes, when he increases the traffic using marathon.

1

1 Answers

6
votes

1) I get that DCOS is an ecosystem and Mesos is like a kernel. Please correct me if I am wrong. For eg. It's like Ubuntu and Linux kernel I presume.

Correct!

2) What is marathon? Is it a service or framework or is it something else that falls in neither category? I am bit confused in terms of service vs framework vs application vs Task definition in Mesosphere's context.

In Apache Mesos terminology, Marathon is a framework. Every framework consists of a framework scheduler and an executor. Many frameworks reuse the standard executor rather than providing their own. An app is a Marathon specific term, meaning the long-running task you launch through it. A task is the unit of execution, running on a Mesos agent (in an executor). In DC/OS (the product, Mesosphere is our company) we call frameworks in general services. Also, in the context of DC/OS, Marathon plays a special role: it acts as a sort of distributed initd, launching other services such as Spark or Kafka.

3) Are the services(Cassandra, HDFS, Kubernetes, etc..) that he launches in the video can safely be also called as frameworks?

See above.

4) From 3), are these "services" running as executors in the slaves?

No. See above.

5) What should rails-app's type be here? Is it a task? So will it also have an executor?

The Rails app may have one or more (Mesos) tasks running in executors on one or more agents.

6) Who makes the decision of autoscaling the rails-app to more nodes, when he increases the traffic using marathon.

Not nodes but instances of the app. Also as @air suggested, with Marathon autoscaling is simple, see also this autoscaling example.