michail koltsov, automate yourself out of running your applications with apache mesos

33
How I automated myself out of my job with Apache Mesos Michail Kolcow, 2017

Upload: meyouslide

Post on 12-Apr-2017

43 views

Category:

Automotive


1 download

TRANSCRIPT

Page 1: Michail koltsov, automate yourself out of running your applications with apache mesos

How I automated myself out of my job

with Apache Mesos

Michail Kolcow, 2017

Page 2: Michail koltsov, automate yourself out of running your applications with apache mesos

About me• 12+ years in IT • Java, Scala, Lisp, Python, … • Tatar, Russian, English, Latvian, Polish • Spark, Hadoop, Couchbase • I love castles & craft beer • 2 lovely kids: Kira & Adam

Page 3: Michail koltsov, automate yourself out of running your applications with apache mesos

The most British thing ever?

Page 4: Michail koltsov, automate yourself out of running your applications with apache mesos

The most British thing ever

Page 5: Michail koltsov, automate yourself out of running your applications with apache mesos

The most British thing ever

Page 6: Michail koltsov, automate yourself out of running your applications with apache mesos

Kettle-o-strophe

Page 7: Michail koltsov, automate yourself out of running your applications with apache mesos

Kettle-o-strophe is real

Page 8: Michail koltsov, automate yourself out of running your applications with apache mesos

Autoscaling to prevent the future kettle-o-strophe

Dinorwig Power Station, Wales, UK

Page 9: Michail koltsov, automate yourself out of running your applications with apache mesos

Why do we care about kettles?

Page 10: Michail koltsov, automate yourself out of running your applications with apache mesos

My first kettle-o-strophe

Page 11: Michail koltsov, automate yourself out of running your applications with apache mesos

My first kettle-o-strophe

• Start of the main product development: 2015 • Autoscaling groups, Cloudwatch & Elastic IP • Mandatory code review • ~100 microservices • Fully automated deployment w/Ansible &

Jenkins • Scala, Go, Java • Postgres, Couchbase, Influx, GraphDB • Non-distributed dev teams & DevOps

Page 12: Michail koltsov, automate yourself out of running your applications with apache mesos

My first kettle-o-strophe

Page 13: Michail koltsov, automate yourself out of running your applications with apache mesos

My first kettle-o-strophe

Page 14: Michail koltsov, automate yourself out of running your applications with apache mesos

My first kettle-o-strophe

Page 15: Michail koltsov, automate yourself out of running your applications with apache mesos

My second kettle-o-strophe

Page 16: Michail koltsov, automate yourself out of running your applications with apache mesos

My second kettle-o-strophe

• Start of the main product development: 1948 • ~ 1000 of apps, code from different epochs • Distributed teams: EU, US, Australia • Highly motivated staff • Some apps got their own build & deployment

automation process • Scala, Java, Node, Python, Ruby, whatever… • Oracle, Sybase, Riak, Postgres, Couchbase,

Influx, GraphDB, choose your own DB

Page 17: Michail koltsov, automate yourself out of running your applications with apache mesos

My second kettle-o-strophe

DATACENTRES ARE NOT IMMUTABLE!!!

Page 18: Michail koltsov, automate yourself out of running your applications with apache mesos

To avoid the inevitable

Page 19: Michail koltsov, automate yourself out of running your applications with apache mesos

To avoid the inevitable

Page 20: Michail koltsov, automate yourself out of running your applications with apache mesos

To avoid the inevitable

Page 21: Michail koltsov, automate yourself out of running your applications with apache mesos

Tech we use

Page 22: Michail koltsov, automate yourself out of running your applications with apache mesos

Tech we build

Page 23: Michail koltsov, automate yourself out of running your applications with apache mesos

Developers’ pipelines

Page 24: Michail koltsov, automate yourself out of running your applications with apache mesos

Mesos as a DC abstraction

Page 25: Michail koltsov, automate yourself out of running your applications with apache mesos

Mesos as a DC abstraction

Page 26: Michail koltsov, automate yourself out of running your applications with apache mesos

Mesos is a distributed kernel

Page 27: Michail koltsov, automate yourself out of running your applications with apache mesos

How it helps

Page 28: Michail koltsov, automate yourself out of running your applications with apache mesos

How it helps

Page 29: Michail koltsov, automate yourself out of running your applications with apache mesos

We need more abstractions

Page 30: Michail koltsov, automate yourself out of running your applications with apache mesos

To track the tasks

Page 31: Michail koltsov, automate yourself out of running your applications with apache mesos

To deploy the apps

Page 32: Michail koltsov, automate yourself out of running your applications with apache mesos

It’s demo time

DEMO

Page 33: Michail koltsov, automate yourself out of running your applications with apache mesos