minimesos. Apache Mesos made easy
date post
12-Apr-2017Category
Technology
view
467download
3
Embed Size (px)
Transcript of minimesos. Apache Mesos made easy
container-solutions.com | @containersoluti
minimesos -Apache Mesos
made easy- Viktor Sadovnikov
Programmable Infrastructure Engineer @ Container Solutions
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Viktor Sadovnikov
1985 - first keyboard touch
1988 - first line of code
1993 - first computer at home
1994 - first paid code line
2001 - first code to test another code
2005 - first build server runs
2007 - first automated deployments
2
@sadovnikov
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Outline
- What is Apache Mesos?
- Why minimesos?
- minimesos CLI + Demo
- minimesos Java API + Demo
- Upcoming changes
3
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti4
- Top level Apache project since 2013
- Program against your datacenter like its a single pool of resources- Distributed systems kernel
What is Mesos?Apache Mesos abstracts CPU, memory, storage, and other
compute resources away from machines (physical or virtual),
enabling fault-tolerant and elastic distributed systems to
easily be built and run effectively
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Mesos Architecture
5
Quick run through Mesos architecture and terminology
Mesos Master
Mesos Agents
ZooKeeper
Frameworks
Framework Scheduler
Framework Executors (aka Tasks)
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Mesos Resources
6
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Mesos Architecture
7
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Mesos Scheduler
8
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Mesos Executor
9
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Overview
10
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Simplify deployments, improve utilization
11
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Powered by Mesos
12
http://mesos.apache.org/documentation/latest/powered-by-mesos/ lists 91 organisation
http://www.container-solutions.comhttp://www.container-solutions.comhttp://mesos.apache.org/documentation/latest/powered-by-mesos/http://mesos.apache.org/documentation/latest/powered-by-mesos/
container-solutions.com | @containersoluti
Popular Mesos Frameworks
13
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti14
Why minimesos? developed a number of frameworks:
ElasticSearch, LogStash, Kibana
taking minutes to deploy and to ruin
someone elses tests
costs of having Google Cloud clusters
almost per developer
debugging is nearly impossible - rely
on logs
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti15
Why minimesos?
- Build classes
- Deploy framework(somewhere far away)
-
- Check logs
- TASK_LOST :-(
- ....Yawn!
- Long feedback loop
- Hard to do end-to-end feature testing
- Many components, many possible failures
minimesos
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti16
Needs unit and integration tests as
local builds and CI part
running cluster locally
Why minimesos?
Solutions minimesos Java API
minimesos CLI
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
minimesos CLI. Part I
17
- Installation
curl -sSL https://minimesos.org/install | sh
- Start default cluster
minimesos up
- Destroy running cluster
minimesos destroy
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
minimesos CLI. Part II
18
- Initializing configuration file
minimesos init
- Installing an application through Marathon
minimesos install --marathonFile tasks/task.json
- Retrieving Mesos state
minimesos state
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
minimesos CLI. Demo
19
- curl -sSL https://minimesos.org/install | sh- minimesos up- Mesos Master and Marathon UI- docker ps; minimesos destroy; docker ps -a- current directory in IntelliJ- minimesos init- configuration file editing- minimesos up; docker ps and Mesos Master UI- app.json and app.sh for Marathon- minimesos install --marathonFile tasks/app.json- Marathon and Master UI; kill a process; Marathon and Master UI- es.json and minimesos install --marathonFile tasks/es.json- Marathon, Master and ElasticSearch UI
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
minimesos Java API
20
private static final ClusterArchitecture CONFIG = new ClusterArchitecture.Builder() .withZooKeeper() .withMaster() .withAgent("ports(*):[8080-8082]") .withAgent("ports(*):[8080-8082]") .withAgent("ports(*):[8080-8082]") .build();
@ClassRulepublic static final MesosCluster CLUSTER = new MesosCluster(CONFIG);
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
minimesos Java API. Demo
21
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
minimesos. Upcoming changes
22
0.7.0 - released March 9, 2016 Configuration file support
0.8.0 - in a month or so Network services discovery
a bit more distant releases REST API and clients in several languages
distributed minimesos cluster
http://www.container-solutions.comhttp://www.container-solutions.com
container-solutions.com | @containersoluti
Contacts
23
https://github.com/ContainerSolutions/minimesos
http://minimesos.org/
http://mesosframeworks.com/
http://container-solutions.com/
@containersoluti, @minimesos
http://www.container-solutions.comhttp://www.container-solutions.comhttps://github.com/ContainerSolutions/minimesoshttps://github.com/ContainerSolutions/minimesoshttp://minimesos.org/http://minimesos.org/http://mesosframeworks.com/http://mesosframeworks.com/http://container-solutions.com/http://container-solutions.com/