Ben Whitehead
ben.whitehead@mesosphere.io
Sunil Shah
sunil@mesosphere.io
“Mesos is the cornerstone of our elastic compute infrastructure — it's how we build all our new services and is critical for Twitter's continued success at scale. It's one of the primary keys to our data center efficiency.” — Chris Fry, SVP of Engineering at Twitter
Mesoswhat?
Marathon
Chronos
Demo`s!
Add some virtual machines
Provision Hadoop
Provision a web service
Moar data, moar Hadoop
Not as individual machines |
Not as VMs |
Open Source Apache project |
|
Cluster Resource Manager |
|
Scalable to 10,000s of nodes |
|
Fault-tolerant, battle-tested |
|
An SDK for distributed apps |
Mesoswhat?
Marathon
Chronos
Demo!
Mesoswhat?
Marathon
Chronos
Demo!
PUT chronos-node:8080/scheduler/job/job1
GET chronos-node:8080/scheduler/jobs
DELETE chronos-node:8080/scheduler/task/kill/job2
Mesoswhat?
Marathon
Chronos
Demo!
FROM nginx
MAINTAINER Mesosphere support@mesosphere.io
EXPOSE 80
ADD app/ /usr/share/nginx/html
{
"id": "/mesosphere/cd-demo-app",
"instances": 1,
"cpus": 1,
"mem": 512,
"container": {
"type": "DOCKER",
"docker": {
"image": "mesosphere/cd-demo-app:$tag",
"network": "BRIDGE",
"portMappings": [
{ "servicePort": 28080, "containerPort": 80, "hostPort": 0, "protocol": "tcp" },
{ "servicePort": 28443, "containerPort": 443, "hostPort": 0, "protocol": "tcp" }
]
}
},
"healthChecks": [
{
"gracePeriodSeconds": 120,
"intervalSeconds": 30,
"maxConsecutiveFailures": 3,
"path": "/",
"portIndex": 0,
"protocol": "HTTP",
"timeoutSeconds": 5
}
],
"constraints": [
["hostname", "GROUP_BY"]
]
}
mkdir -p target
echo %TAG% > target/docker-tag
cat marathon.json | \
jq '.container.docker.image |= "%DOCKER_IMAGE%:%TAG%"' > target/marathon.json
echo '{
"username" :"%SLACK_USERNAME%",
"channel" :"%SLACK_CHANNEL%",
"text" :"%SLACK_MESSAGE%",
"icon_emoji" :"%SLACK_EMOJI%",
"mrkdwn" :%SLACK_MARKDOWN%
}' | http --print=HhBb --json POST %SLACK_WEBHOOK_URL%
Marathon will now begin rolling out1 the updated version of the application and your team has just been notified of the deployment.
Get Mesosphere packages: mesosphere.io/downloads |
|
Read about Marathon: github.com/mesosphere/marathon |
|
Read about Chronos: github.com/mesos/chronos |
|
Try out Mesosphere on GCE: google.mesosphere.io |
|
Come work with us: mesosphere.io/jobs |