Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app...

33
Mesos & Aurora = Awesome SRECon15 Europe

Transcript of Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app...

Page 1: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Mesos & Aurora =

AwesomeSRECon15 Europe

Page 2: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 3: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 4: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Where do we come from?

Page 5: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

PHP MySQL

Page 6: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

PHP PHP PHP

MySQL MySQL

Page 7: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

PHP MySQL

RabbitMQ Redis

Recommender

Page 8: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

PHP MySQL

RabbitMQ Redis

Recommender

Page 9: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Everything

Page 10: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 11: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 12: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 13: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 14: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Resources & Attributes

* CPU * Memory * Disk * Ports

e.g. * Host * Rack * OS * DiskType

Page 15: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 16: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 17: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Apache Aurora is a Mesos framework for long-running

services and cron jobs.

Page 18: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Discovery via

Zookeeper

Page 19: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Rolling Updates (&Rollbacks)

Page 20: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Constraints

*rack: limit:2

*disktype: value:ssd

*os: value:centos

Page 21: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 22: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 23: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03
Page 24: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

https://flic.kr/p/4NAeyW

Page 25: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

https://flic.kr/p/ci3JK9

Page 26: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

https://flic.kr/p/pdpBA8

Page 27: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

https://flic.kr/p/5xrZN1

Page 28: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Jenkins Build & Unit Tests ->

Canary Deployment ->

Large/Regressionstests ->

Production Deployment

Page 29: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

~100 Deploys / Day

~10 Minutes commit->prod

Page 30: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Things to do…

Page 31: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

&

Page 32: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

„Kubernetes and Mesos are a match made in

heaven.“https://github.com/mesosphere/kubernetes-mesos

Page 33: Mesos & Aurora Awesome - USENIX · task 1430927589184-gfservice. prod -svc -app -relatedquestions.O.77aOa911-969849ef.b8bf.567abc66853c header chroot browse hostname mesosslave03

Florian Pfeiffer

[email protected]

@derfloh