Sunil Shah
sunil@mesosphere.io
An introduction to the world of Mesosphere
Deploying applications with Marathon
Mesosphere on Google Cloud Platform
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 |
An introduction to the world of Mesosphere
Deploying applications with Marathon
Mesosphere on Google Cloud Platform
An introduction to the world of Mesosphere
Deploying applications with Marathon
Mesosphere on Google Cloud Platform
http -v POST http://10.53.20.188:8080/v2/apps @app-ruby.json
{
"container": {
"type": "DOCKER",
"docker": {
"image": "superguenter/demo-app"
}
},
"cmd": "rails server -p $PORT",
"id": "rails-demo",
"instances": 1,
"cpus": 0.01,
"mem": 256,
"ports": [3000]
}
http -v PUT http://10.53.20.188:8080/v2/apps/demo @scale-app.json
{
"instances": 3
}
http -v PUT http://10.53.20.188:8080/v2/apps/demo @app-python.json
{
"container": {
"type": "DOCKER",
"docker": {
"image": "superguenter/demo-app"
}
},
"cmd": "python -m SimpleHTTPServer $PORT",
"id": "demo",
"instances": 3,
"cpus": 0.01,
"mem": 256,
"ports": [3000]
}
http -v POST http://10.53.20.188:8080/v2/apps @app-with-healthcheck.json
{
"container": {
"type": "DOCKER",
"docker": {
"image": "superguenter/demo-app"
}
},
"cmd": "rails server -p $PORT",
"id": "healthcheck-demo",
"instances": 1,
"cpus": 0.01,
"mem": 256,
"ports": [3000],
"healthChecks": [
{
"path": "/",
"portIndex": 0,
"protocol": "HTTP",
"gracePeriodSeconds": 30,
"intervalSeconds": 30,
"timeoutSeconds": 30,
"maxConsecutiveFailures": 0
}
],
"constraints": [
["hostname", "UNIQUE"]
]
}
http -v POST http://10.53.20.188:8080/v2/apps @app-with-constraint.json
{
"container": {
"type": "DOCKER",
"docker": {
"image": "superguenter/demo-app"
}
},
"cmd": "python -m SimpleHTTPServer $PORT",
"id": "constraint-demo",
"instances": 6,
"cpus": 0.01,
"mem": 256,
"ports": [3000],
"healthChecks": [
{
"path": "/",
"portIndex": 0,
"protocol": "HTTP"
}
],
"constraints": [
["hostname", "UNIQUE"]
]
}
Get Mesosphere packages: http://mesosphere.io/downloads |
|
Kubernetes on Mesos: https://github.com/mesosphere/kubernetes-mesos |
|
Read about Marathon: https://github.com/mesosphere/marathon |
|
Try out Mesosphere on GCE: http://google.mesosphere.io |