SCALING LIKE TWITTER WITH APACHE MESOS

Similar documents
AGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS

POWERING THE INTERNET WITH APACHE MESOS

@unterstein #bedcon. Operating microservices with Apache Mesos and DC/OS

Deploying Applications on DC/OS

Scale your Docker containers with Mesos

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

A Whirlwind Tour of Apache Mesos

MESOS A State-Of-The-Art Container Orchestrator Mesosphere, Inc. All Rights Reserved. 1

Mesosphere and the Enterprise: Run Your Applications on Apache Mesos. Steve Wong Open Source Engineer {code} by Dell

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

利用 Mesos 打造高延展性 Container 環境. Frank, Microsoft MTC

The SMACK Stack: Spark*, Mesos*, Akka, Cassandra*, Kafka* Elizabeth K. Dublin Apache Kafka Meetup, 30 August 2017.

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

@joerg_schad Nightmares of a Container Orchestration System

Building/Running Distributed Systems with Apache Mesos

Networking & Security for Mesos

Using DC/OS for Continuous Delivery

Mesosphere and Percona Server for MongoDB. Jeff Sandstrom, Product Manager (Percona) Ravi Yadav, Tech. Partnerships Lead (Mesosphere)

Building a Data-Friendly Platform for a Data- Driven Future

Mesosphere and Percona Server for MongoDB. Peter Schwaller, Senior Director Server Eng. (Percona) Taco Scargo, Senior Solution Engineer (Mesosphere)

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

Zabbix on a Clouds. Another approach to a building a fault-resilient, scalable monitoring platform

Container 2.0. Container: check! But what about persistent data, big data or fast data?!

Container Orchestration on Amazon Web Services. Arun

SAMPLE CHAPTER IN ACTION. Roger Ignazio. FOREWORD BY Florian Leibert MANNING

Deploy Like A Boss Oliver Nicholas

Introduction to Mesos and the Datacenter Operating System

Advantages of using DC/OS Azure infrastructure and the implementation architecture Bill of materials used to construct DC/OS and the ACS clusters

Distributed Data on Distributed Infrastructure. Claudius Weinberger & Kunal Kusoorkar, ArangoDB Jörg Schad, Mesosphere

what is cloud computing?

Using the SDACK Architecture to Build a Big Data Product. Yu-hsin Yeh (Evans Ye) Apache Big Data NA 2016 Vancouver

A Platform for Fine-Grained Resource Sharing in the Data Center

The Datacenter Needs an Operating System

MANAGING MESOS, DOCKER, AND CHRONOS WITH PUPPET

(using Apache Mesos, Jenkins and Marathon)

Containerization Dockers / Mesospere. Arno Keller HPE

Sunil Shah CONTAINERISED CONTINUOUS DELIVERY AT LOW COST AND WEB SCALE! 2016 Mesosphere, Inc. All Rights Reserved.

How to Keep UP Through Digital Transformation with Next-Generation App Development

Issues Fixed in DC/OS

Distributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA

Orchestration Ownage: Exploiting Container-Centric Datacenter Platforms

The Emergence of the Datacenter Developer. Tobi Knaup, Co-Founder & CTO at

WHITEPAPER. MemSQL Enterprise Feature List

Jupyter and Spark on Mesos: Best Practices. June 21 st, 2017

Key aspects of cloud computing. Towards fuller utilization. Two main sources of resource demand. Cluster Scheduling

Blended Learning Outline: Developer Training for Apache Spark and Hadoop (180404a)

Key aspects of cloud computing. Towards fuller utilization. Two main sources of resource demand. Cluster Scheduling

Overview of Container Management

70-532: Developing Microsoft Azure Solutions

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Architekturen für die Cloud

Big Data Security. Facing the challenge

NVMe over Fabrics (NVMe-oF) For Containers

Index. Raul Estrada and Isaac Ruiz 2016 R. Estrada and I. Ruiz, Big Data SMACK, DOI /

FROM MONOLITH TO DOCKER DISTRIBUTED APPLICATIONS

Knative: Building serverless platforms on top of Kubernetes

CSC 261/461 Database Systems Lecture 24. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101

Architecting for Failure in a Containerized World. Tom Faulhaber Infolace

Portable stateful big data processing in Apache Beam

What I ll be talking about. About me & bol.com The CI/CD bol.com Current setup. The future in the cloud

Mesos: Mul)programing for Datacenters

If Only I Could Find My Databases-Service Discovery with SmartStack and MySQL. Susanne Lehmann, Yelp

Stream Processing on IoT Devices using Calvin Framework

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

REFERENCE ARCHITECTURE DEPLOYING PORTWORX PX-ENTERPRISE ON MESOSPHERE DC/OS

Intro Cassandra. Adelaide Big Data Meetup.

CLUSTERING HIVEMQ. Building highly available, horizontally scalable MQTT Broker Clusters

BigDataBench-MT: Multi-tenancy version of BigDataBench

Note: Isolation guarantees among subnets depend on your firewall policies.

Apache Ignite TM - In- Memory Data Fabric Fast Data Meets Open Source

BIG DATA COURSE CONTENT

DATA SCIENCE USING SPARK: AN INTRODUCTION

CloudCenter for Developers

70-532: Developing Microsoft Azure Solutions

Service discovery in Kubernetes with Fabric8

Spark, Shark and Spark Streaming Introduction

Storm. Distributed and fault-tolerant realtime computation. Nathan Marz Twitter

Cisco Tetration Analytics

Think Small to Scale Big

CHEM-E Process Automation and Information Systems: Applications

Supporting GPUs in Docker Containers on Apache Mesos

CONTAINERIZED SPARK ON KUBERNETES. William Benton Red Hat,

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

Personal Statement. Skillset I MongoDB / Cassandra / Redis / CouchDB. My name is Dale-Kurt Murray. I'm a Solutiof

Introduction to Apache Kafka

Stream and Batch Processing in the Cloud with Data Microservices. Marius Bogoevici and Mark Fisher, Pivotal

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

Cloud I - Introduction

Minimizing the Risks of OpenStack Adoption

Kontejneri u Azureu uz pomoć Kubernetesa što i kako? Tomislav Tipurić Partner Technology Strategist Microsoft

S Implementing DevOps and Hybrid Cloud

Processing of big data with Apache Spark

In-cluster Open Source Testing Framework

Big Data Architect.

arxiv: v1 [cs.dc] 20 Aug 2015

Multi-tenancy version of BigDataBench

5 reasons why choosing Apache Cassandra is planning for a multi-cloud future

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Reactive App using Actor model & Apache Spark. Rahul Kumar Software

Big Data Hadoop Developer Course Content. Big Data Hadoop Developer - The Complete Course Course Duration: 45 Hours

Transcription:

Philip Norman & Sunil Shah SCALING LIKE TWITTER WITH APACHE MESOS 1

MODERN INFRASTRUCTURE Dan the Datacenter Operator Alice the Application Developer Doesn t sleep very well Loves automation Wants to control what runs in his datacenter Finds setting up infrastructure tedious Wants her application to be deployed as quickly as possible 2

Modern Infrastructure 3 TENETS Clean separation of responsibilities No more 3am wake ups Easy programmatic deployment 3

Modern Infrastructure CLEAN SEPARATION Now - With Mesos, all the nodes are provisioned exactly the same (but may have heterogenous hardware). - Dan doesn t care what software is deployed since applications are well encapsulated. - Alice doesn t care where her software is deployed because it s easy enough to scale up and down. Before - - Dan cares about his hardware and Alice s software that runs on it Alice cares about her software and what hardware Dan provides 4

Modern Infrastructure NO MORE 3AM WAKE UPS Now - Mesos and Marathon monitor running tasks. - If a task fails or is lost (due to a machine going offline), Mesos communicates that to Marathon. - Marathon restarts the application. - Dan gets to sleep peacefully! Before - Dan had to react every time an application or machine went down. 5

Modern Infrastructure EASY PROGRAMMATIC DEPLOYMENT Now - Dan provides Alice with her own instance of Marathon that makes it hard for her to take down someone else s application. - Running applications are isolated from each other by Mesos. - Marathon offers a nice API that allows Alice to easily deploy new versions safely. Before - Servers were handcrafted. - Deploying new or updated software would require oversight and involvement from both Alice and Dan. 6

Apache Mesos LAYER OF ABSTRACTION 7

Apache Mesos Apache Mesos INTRODUCTION INTRODUCTION Apache Mesos is a cluster resource manager. It handles: Aggregating resources and offering them to schedulers Launching tasks (i.e. processes) on those resources Communicating the state of those tasks back to schedulers 8

PRODUCTION CUSTOMERS AND MESOS USERS Government Agencies 9

MESOS: ORIGINS 10

THE BIRTH OF MESOS TWITTER TECH TALK APACHE INCUBATION The grad students working on Mesos give a tech talk at Twitter. Spring 2009 Mesos enters the Apache Incubator. September 2010 March 2010 December 2010 CS262B MESOS PUBLISHED Ben Hindman, Andy Konwinski and Matei Zaharia create Nexus as their CS262B class project. Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center is published as a technical report. 11

TECHNOLOGY VISION Sharing resources between batch processing frameworks What does an operating system provide? Hadoop MPI Spark Resource management Programming abstractions Security Monitoring, debugging, logging 12

MESOS FUNDAMENTALS ARCHITECTURE 13

MESOS FUNDAMENTALS ARCHITECTURE Agents advertise resources to Master Master offers resources to Scheduler Scheduler rejects/uses resources Agents report task status to Master 14

MESOS FUNDAMENTALS ARCHITECTURE Agents advertise resources to Master Master offers resources to Scheduler Scheduler rejects/uses resources Agents report task status to Master 15

MESOS FUNDAMENTALS ARCHITECTURE Agents advertise resources to Master Master offers resources to Scheduler Scheduler rejects/uses resources Agents report task status to Master 16

MESOS FUNDAMENTALS ARCHITECTURE Agents advertise resources to Master Master offers resources to Scheduler Scheduler rejects/uses resources Agents report task status to Master 17

MESOS FUNDAMENTALS ARCHITECTURE Agents advertise resources to Master Master offers resources to Scheduler Scheduler rejects/uses resources Agents report task status to Master 18

KEEP IT STATIC A naive approach to handling varied app requirements: static partitioning. This can cope with heterogeneity, but is very expensive. time 19

KEEP IT STATIC Maintaining sufficient headroom to handle peak workloads on all partitions leads to poor utilisation overall. time 20

SHARED RESOURCES Multiple frameworks can use the same cluster resources, with their share adjusting dynamically. time 21

TWITTER & MESOS 22

THE BIRTH OF MESOS TWITTER TECH TALK APACHE INCUBATION The grad students working on Mesos give a tech talk at Twitter. Spring 2009 Mesos enters the Apache incubator. September 2010 March 2010 December 2010 CS262B MESOS PUBLISHED Ben Hindman, Andy Konwinski and Matei Zaharia create Nexus as their CS262B class project. Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center is published as a technical report. 23

MESOS REALLY HELPS Former Google engineers at Twitter thought Mesos could provide the same functionality as Borg. Mesos actually works pretty well for long running services. 24

MESOS WITH MARATHON IN PRODUCTION 25

Mesos with Marathon in Production WHAT IS MARATHON? Service scheduler for Mesos init.d for long-running apps Your own private PaaS 26

Mesos with Marathon in Production WHAT IS MARATHON? 27

Mesos with Marathon in Production USEFUL MARATHON FEATURES Start, stop, scale, update apps Highly available, no SPoF Native Docker support Powerful Web UI Fully featured REST API Pluggable event bus Artifact staging 28

Mesos with Marathon in Production USEFUL MARATHON FEATURES: DEPLOY LIKE FACEBOOK Application versioning Rolling deploy / restart Deployment strategies 29

Mesos with Marathon in Production USEFUL MARATHON FEATURES: DEPLOY LIKE A TELCO Application versioning Hot/hot new/old clusters Authentic scale testing Manual *and* automated testing 30

MESOS WITH MARATHON IN ACTION 31

32

33

34

35

36

37

38

39

40

41

42

Mesos with Marathon in Action TASK FAILURE 43

44

45

46

47

Mesos with Marathon in Production SERVICE DISCOVERY How do my applications discover each other? Two main service discovery mechanisms: 1. DNS based (Mesos-DNS) 2. HAProxy based (Marathon-lb) 48

Service Discovery MESOS-DNS Ingests cluster state periodically. Uses cluster state to generate DNS records for all running Mesos tasks. Services query DNS server to discover IP address and port of other services. Primarily used for internal service discovery. No extra configuration required! 49

Service Discovery MARATHON-LB Ingests state of running Marathon applications. Regenerates HAProxy configuration. Supports virtual hosts! Can be used for both internal and external service discovery. Must add HAPROXY_GROUP and HAPROXY_0_VHOST variables to your marathon.json. 50

Mesos as the Datacenter Kernel HOW TO DEPLOY A MESOS CLUSTER (THE HARD WAY) Using chef/puppet/ansible (or a reliable intern) Install ZooKeeper and Mesos Install your scheduler (Marathon) Deploy some long-running services. See https://open.mesosphere.com/getting-started/tools/ for more docs 51

Mesos as the Datacenter Kernel HOW TO DEPLOY A MESOS CLUSTER (OUR WAY) Visit http://mesosphere.com Hit the Get Started button 52

MESOS AS THE DATACENTER KERNEL Services & Containers Mesosphere DCOS Existing Infrastructure 53

Mesos as the Datacenter Kernel JENKINS: BUILD RESOURCE POOLING Jenkins on Mesos allows you to share build resources between multiple Jenkins masters. PayPal does this with hundreds of Jenkins masters Between them, they use less than a hundred build slaves to service several thousand developers. Combining Jenkins with a PaaS like Marathon or Kubernetes allows you to practice easy continuous deployment. 54

An example continuous deployment pipeline using Mesos, Marathon, Docker and Jenkins on Mesos. 55

CONTINUOUS DELIVERY DEMO 56

Mesos as the Datacenter Kernel KUBERNETES ON MESOS 57

Mesos as the Datacenter Kernel KUBERNETES ON MESOS 58

Mesos as the Datacenter Kernel BIG DATA ON MESOS Mesos was built for and is great for running big data workloads: Chronos (time scheduled jobs) Spark Cassandra Kafka Hadoop/YARN (via Myriad) 59

QUESTIONS? THANK YOU! Come and talk to us! Email us at philip@mesosphere.io, sunil@mesosphere.io Slides will be up at http://mesosphere.github.io/presentations