1. Mesos at OpenTable
Pablo Delgado
Senior Data Engineer
OpenTable
@pablete
MesosCon 2015, Seattle, WA
2. • Over 32,000 restaurants worldwide
• more than 760 million diners seated since 1998, representing
more than $30 billion spent at partner restaurants
• Over 16 million diners seated every month
• OpenTable has seated over 190 million diners via a mobile
device. Almost 50% of our reservations are made via a
mobile device
• OpenTable currently has presence in US, Canada, Mexico,
UK, Germany and Japan
• OpenTable has nearly 600 partners including Facebook,
Google, TripAdvisor, Urbanspoon, Yahoo and Zagat.
2
OpenTable
the world’s leading provider of online restaurant
reservations
6. 6
• Mesos: A Platform for Fine-Grained Resource Sharing in
the Data Center
PAPER: http://mesos.berkeley.edu/mesos_tech_report.pdf
• Omega: flexible, scalable schedulers for large compute
clusters
PAPER: http://research.google.com/pubs/pub41684.html
Apache Mesos
7. 7
Apache Mesos
• Mesos slaves connect to
masters and offer resources
like CPU, disk, and memory.
• Masters take those offers
and make decisions about
resource allocation using
frameworks like Singularity.
• Frameworks in turn choose
to use resource offers, and
run tasks on slaves.
10. 10
• Native Docker Support
• JSON REST API and Java Client
• Fully featured web application (replaces and improves Mesos Master UI)
• Deployments, automatic rollbacks, and healthchecks
• Configurable email alerts to service owners
Singularity Features
11. 11
Hubspot’s Singularity
Process types:
Web Services
Workers
Scheduled (CRON-type) Jobs
On-Demand Processes
Slave placement:
GREEDY
SEPARATE_BY_DEPLOY
SEPARATE_BY_REQUEST
OPTIMISTIC
Executors:
Mesos executor
Singularity executor
Docker executor
15. 15
Services no longer live in a well known address/port, so we needed a registry
or dynamic way to find them. Also it had to be MESOS agnostic.
• Service announce their presence to the Discovery Server
• Service subscribe to changes in dependencies announcement
• Service un-announce on termination or timeout on crash
Service Discovery
16. 16
Zookeeper Zookeeper Zookeeper
availability zone 2bavailability zone 2a availability zone 2c
Service Discovery
Discovery Server Discovery Server Discovery Server
A
A
A
BB
Announce
Discover
Subscribe
31. 31
Spark’s Approach
• Generalize MapReduce in order to support new apps in the same engine
• General DAGs and Data Sharing
• Unification benefits the engine, which is more efficient, and simple for user
• Handles batch, interactive and online processing
• API available for Java, Scala, Python, SQL, R
32. 32
Spark RDDs
Resilient Distributed Datasets (or RDD) are fault-tolerant distributed collections
They exists in the form of:
• Parallelized Collections
• External datasets, distributed datasets from any storage source supported by
Hadoop, including your local file system, HDFS, Cassandra, HBase, Amazon S3, etc.
42. Pull Requests (maybe merged)
[SPARK-7373] Add docker support for launching drivers
in mesos cluster mode.
[SPARK-5338] Add cluster mode support for Mesos
[SPARK-5095] Support capping cores and launch mulitple executors in coarse
mode
[SPARK-6707] Mesos Scheduler should allow the user to specify constraints
based on slave attributes
[SPARK-6287] Add dynamic allocation to the coarse-grained Mesos scheduler
43. 43
Memory-centric distributed
storage system (cache)
Distributed file system
General engine for large-scale data
processing
Kernel for the datacenter
Ideal data processing stack
44. 44
Other frameworks
• KAFKA on mesos https://github.com/mesos/kafka
• SAMZA on mesos https://github.com/banno/samza-mesos
• PHOENIX (secor on mesos) https://github.com/stealthly/phoenix
• CASSANDRA on mesos https://github.com/mesosphere/cassandra-mesos
We are also using:
We are considering:
• CHRONOS https://github.com/mesos/chronos
• MARATHON https://github.com/mesosphere/marathon
49. 49
Sushi of Gari,
Gari Columbus, NYC
Masaki Sushi
Chicago
Sansei Seafood Restaurant &
Sushi Bar, Maui
A restaurant like your favorite one but in a
different city.
Find the “synonyms” of the restaurant in question, then filter by location!
Akiko’s, SF
San Francisco Maui Chicago New York
'
Downtown upscale sushi experience with sushi bar