(app310) scheduling using apache mesos in the cloud | aws re:invent 2014

89

Upload: amazon-web-services

Post on 12-Jul-2015

434 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 2: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 3: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 4: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 5: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 6: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 7: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 8: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 9: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 10: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 11: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 12: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Analytics

System health

Customer experienceInsights

Anomaly detection

Page 13: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 14: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 15: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 16: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

User

Job 1

User

Job 2

User

Job 3

Dis

covery

Page 17: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

MantisMantis

Apache MesosApache Mesos

Mantis

Apache Mesos

ASGASG

ASG

FenzoMesos

Framework

Page 18: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

JobJob

Job

Page 19: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 20: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 21: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 22: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Mesos slave

FrmWrk2 executor

TaskTask

Mesos slave

FrmWrk2 executor

FrmWrk1 executor

TaskTask

Mesos master Standby master Standby master

Mesos slave

FrmWrk1 executor

TaskTask

FrmWrk1 FrmWrk2

Page 23: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 24: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Instance 1Instance 1

Task A

Instance 2

Task B

Instance 1

Task A

Instance 1

Task A

Task B

Task C Task D

Page 25: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 26: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 27: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 28: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 29: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 30: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 31: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 32: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 33: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 34: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 35: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Data

stream

Host A

Task1

Host B

Task2

Host C

Task3

Page 36: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Data

stream

Data

stream

Host X

Task1

Task2

Task3

Host A

Task1

Host B

Task2

Host C

Task3

Page 37: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 38: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 39: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 40: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 41: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

MantisMantis

Mantis

FenzoMesos

Framework

Page 42: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Mesos slave

FrmWrk1 executorFrmWrk1 executor

Mesos slave

Framework executor

TaskTaskTask

Framework executor

Task

Page 43: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Apache MesosApache Mesos

Mesos Master

Apache Mesos

Framework

Persistence

Page 44: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Apache MesosApache Mesos

Mesos Master

Apache Mesos

Framework

Persistence

Page 45: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

.setName(name)

.setFailoverTimeout(to)

.setId(id)

.setCheckpoint(true)

.build();

Page 46: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 47: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 48: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 49: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 50: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Heterogeneous

Autoscale

Visibility

Plugins for

Constraints, Fitness

High speed

Page 51: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 52: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Mesos master

Mesos framework

Tasks

requests

Available

resource

offers

Fenzo task

scheduler

Persistence

Page 53: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Fitness

Urg

ency

Page 54: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Speed Accuracy

First fit assignment Optimal assignment

Real world trade-offs~ O (1) ~ O (N * M)1

1 Assuming tasks are not reassigned

Page 55: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 56: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 57: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 58: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 59: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 60: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 61: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 62: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 63: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 64: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 65: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 66: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 67: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 68: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 69: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Page 70: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 71: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

750

950

1150

1350

1550

1750

1950

2150

#H

osts

No bin packing used

#Full

#Partial

#Empty

750

950

1150

1350

1550

1750

1950

2150

#H

osts

With bin packing

#Full

#Partial

#Empty

Page 72: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

1450

1550

1650

1750

1850

1950

2050

#H

osts

No task runtime-based packer

DifferentruntimesSameruntimesUnused

1450

1550

1650

1750

1850

1950

2050

#H

osts

Using task runtime-based packer

Differentruntimes

Sameruntimes

Unused

Page 73: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 74: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 75: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 76: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 77: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 78: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

ASG/Cluster:

mantisagent

MinIdle: 8

MaxIdle: 20

CooldownSecs:

360

ASG/Cluster:

mantisagent

MinIdle: 8

MaxIdle: 20

CooldownSecs:

360

ASG/cluster:

mantisagent

MinIdle: 8

MaxIdle: 20

CooldownSecs: 360

Fenzo

ScaleUp

action:

Cluster, N

ScaleDown

action:

Cluster,

HostList

Page 79: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 80: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 81: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

.withLeaseOfferExpirySecs(60)

.withLeaseRejectAction( (lease) -> {

mesosDriver.declineOffer(lease.getOffer().getId());

})

Page 82: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

.withLeaseOfferExpirySecs(60)

.withLeaseRejectAction( (lease) -> {

mesosDriver.declineOffer(lease.getOffer().getId());

} )

.withFitnessCalculator(

BinPackingFitnessCalculators.cpuBinPacker)

Page 83: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 84: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 85: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Heterogeneous

Autoscale

Visibility

Plugins for

Constraints, Fitness

High speed

Page 86: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

MantisMantis

Apache MesosApache Mesos

Mantis

Apache Mesos

ASGASG

ASG

FenzoMesos

Framework

Page 87: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014
Page 88: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Talk Time Title

PFC-305 Wednesday, 1:15pm Embracing Failure: Fault Injection and Service Reliability

BDT-403 Wednesday, 2:15pm Next Generation Big Data Platform at Netflix

PFC-306 Wednesday, 3:30pm Performance Tuning EC2

DEV-309 Wednesday, 3:30pm From Asgard to Zuul, How Netflix’s proven Open Source

Tools can accelerate and scale your services

ARC-317 Wednesday, 4:30pm Maintaining a Resilient Front-Door at Massive Scale

PFC-304 Wednesday, 4:30pm Effective Inter-process Communications in the Cloud: The

Pros and Cons of Micro Services Architectures

ENT-209 Wednesday, 4:30pm Cloud Migration, Dev-Ops and Distributed Systems

APP-310 Friday, 9:00am Scheduling using Apache Mesos in the Cloud

Page 89: (APP310) Scheduling Using Apache Mesos in the Cloud | AWS re:Invent 2014

Please give us your feedback on this session.

Complete session evaluations and earn re:Invent swag.

http://bit.ly/awsevals