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

Mesos at Yelp: Building a production ready PaaS.

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

Mesos at Yelp: Building a production ready PaaS.

Avatar for Rob Johnson

Rob Johnson

October 08, 2015

More Decks by Rob Johnson

Other Decks in Programming

Transcript

  1. - Rob Johnson - Operations Team at Yelp - Spend

    most of my time working on PaaSTA Who Am I:
  2. - Yelp’s monolith is ~3 million LoC (that’s just the

    Python). * - Increasing number of developers. *as of 28/09/2015
  3. SOA

  4. - Statically defined list of hosts to deploy a service

    on. - Operations handle deciding which hosts to deploy to.
  5. - Manually configure Nagios for each service. - Manual deployment

    system. Lots of rsync wrappers to push code around.
  6. - Built on the shoulders of established tools. - ‘Glue

    Code’ that coordinates these tools.
  7. - easy deployment for developers - discovery - monitoring -

    highly available - operational support
  8. - easy deployment for developers - discovery - monitoring -

    highly available - operational support
  9. git push make itest push to registry performance check deploy

    to dev (repeat for each dev env) manual intervention prod
  10. Once a given image is marked for deployment in production,

    PaaSTA ‘bounces’ the app, gracefully upgrading the version.
  11. - easy deployment for developers - discovery - monitoring -

    highly available - operational support
  12. s2 s1 s3 s4 s2 s1 s3 s4 s2 s1

    s3 s4 H H H S N N S S N ZK
  13. s2 s1 s3 s4 s2 s1 s3 s4 s2 s1

    s3 s4 H H H S N N S S N ZK
  14. s2 s1 s3 s4 s2 s1 s3 s4 s2 s1

    s3 s4 H H H S N N S S N ZK
  15. s2 s1 s3 s4 s2 s1 s3 s4 s2 s1

    s3 s4 H H H S N N S S N ZK
  16. - ZK/synapse/nerve dying doesn’t wipe us out. - HAProxy has

    its own health checking system we can fall back to.
  17. - HAProxy is a proven load balancer and http proxy.

    - We can use Smartstack with non-PaaSTA services.
  18. - easy deployment for developers - discovery - monitoring -

    highly available - operational support
  19. - API allows us to send event data. - Flexibility

    to assign alerts to service authors, rather than forcing it on operations team.
  20. $ cat monitoring.yaml -- team: search_infra notification_email: [email protected] page: true

    runbook: 'y/rb-myservice' alert_after: 5m realert_every: 10m tip: 'The federator service is in the critical path for search, you should be fixing this'
  21. - easy deployment for developers - discovery - monitoring -

    highly available - operational support
  22. - By being aware of these latency zones, PaaSTA can

    make smarter decisions on how to constrain applications.
  23. - easy deployment for developers - discovery - monitoring -

    highly available - operational support
  24. - easy deployment for developers - discovery - monitoring -

    highly available - operational support