Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building and Deploying apps on Apache Mesos and Marathon

Building and Deploying apps on Apache Mesos and Marathon

Slides of a my presentation on building and deploying applications on Apache Mesos and Marathon at Hacker's Avenue hosted at Indix.

Aayush Kumar

January 19, 2018
Tweet

More Decks by Aayush Kumar

Other Decks in Technology

Transcript

  1. Mesos : A Platform for Fine-Grained Resource Sharing in the

    Data Center http://mesos.berkeley.edu/mesos_tech_report.pdf Google Borg : https://www.youtube.com/watch?v=0W49z8hVn0k Google Omega : https://www.youtube.com/watch?v=XsXlm4wmB6o origin
  2. imagine all this happening at SCALE* * maybe a few

    hundreds to even thousands of servers
  3. quick facts and checks: • Scalable to 10,000 nodes •

    High Availability • Native support for launching Docker Containers • Cross platform compatible, runs on Linux, OSX, Windows • Has a Web UI and also API’s for building third party apps
  4. constraints Constraints control where apps run to allow optimizing for

    either fault tolerance (by spreading a task out on multiple nodes) or locality (by running all of an application tasks on the same node). Fields • Hostname - Slaves are matched with their hostnames • Attributes - Slaves are matched through attributes defined as part of config
  5. running an app on marathon Example marathon config (JSON) :

    More example configs: https://mesosphere.github.io/marathon/docs/application-basics.html
  6. advantages • colocate diverse workloads : Same infrastructure can support

    analytics, stateless microservices, distributed data services and traditional apps to improve utilisation and reduce costs. • provide evergreen extensibility : To run new application and technologies without modifying the cluster manager or any of the existing applications built on top of it. • elastically scale : Scale application and the underlying infrastructure from a handful, to tens, to tens of thousands of nodes.