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

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

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

SCALING LIKE TWITTER WITH APACHE MESOS

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

AGILE DEVELOPMENT AND PAAS USING THE MESOSPHERE DCOS

Deploying Applications on DC/OS

POWERING THE INTERNET WITH APACHE MESOS

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

Introduction to Mesos and the Datacenter Operating System

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

@joerg_schad Nightmares of a Container Orchestration System

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

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

Using DC/OS for Continuous Delivery

Scale your Docker containers with Mesos

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

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

A Whirlwind Tour of Apache Mesos

Building/Running Distributed Systems with Apache Mesos

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

Big Data Technology Ecosystem. Mark Burnette Pentaho Director Sales Engineering, Hitachi Vantara

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

CONTINUOUS DELIVERY WITH MESOS, DC/OS AND JENKINS

Deploying and Operating Cloud Native.NET apps

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

Big Data. Big Data Analyst. Big Data Engineer. Big Data Architect

Modern Stream Processing with Apache Flink

MODERN BIG DATA DESIGN PATTERNS CASE DRIVEN DESINGS

Containerization Dockers / Mesospere. Arno Keller HPE

CONTINUOUS DELIVERY WITH DC/OS AND JENKINS

A Generic Microservice Architecture for Environmental Data Management

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

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

Hadoop 2.x Core: YARN, Tez, and Spark. Hortonworks Inc All Rights Reserved

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

Title DC Automation: It s a MARVEL!

Flash Storage Complementing a Data Lake for Real-Time Insight

Introduction to Big-Data

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

[Docker] Containerization

Docker and Oracle Everything You Wanted To Know

Merging Enterprise Applications with Docker* Container Technology

Microservices at Netflix Scale. First Principles, Tradeoffs, Lessons Learned Ruslan

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

EASILY DEPLOY AND SCALE KUBERNETES WITH RANCHER

CSE 444: Database Internals. Lecture 23 Spark

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

The Hadoop Ecosystem. EECS 4415 Big Data Systems. Tilemachos Pechlivanoglou

Deploying and Operating Cloud Native.NET apps

Cisco Tetration Analytics

Qualys Cloud Platform

DATA SCIENCE USING SPARK: AN INTRODUCTION

Designing MQ deployments for the cloud generation

The Datacenter Needs an Operating System

Red Hat Roadmap for Containers and DevOps

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

Overview. Prerequisites. Course Outline. Course Outline :: Apache Spark Development::

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

Microsoft Azure Databricks for data engineering. Building production data pipelines with Apache Spark in the cloud

STATE OF MODERN APPLICATIONS IN THE CLOUD

Big Data Architect.

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

Apache Flink Big Data Stream Processing

Hi! NET Developer Group Braunschweig!

AWS Lambda: Event-driven Code in the Cloud

Apache Spark 2.0. Matei

WHITEPAPER. MemSQL Enterprise Feature List

Running MarkLogic in Containers (Both Docker and Kubernetes)

Architecting Microsoft Azure Solutions (proposed exam 535)

Kuberiter White Paper. Kubernetes. Cloud Provider Comparison Chart. Lawrence Manickam Kuberiter Inc

Hadoop, Yarn and Beyond

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

Activator Library. Focus on maximizing the value of your data, gain business insights, increase your team s productivity, and achieve success.

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

Putting it together. Data-Parallel Computation. Ex: Word count using partial aggregation. Big Data Processing. COS 418: Distributed Systems Lecture 21

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017

Extend NonStop Applications with Cloud-based Services. Phil Ly, TIC Software John Russell, Canam Software

Learn. Connect. Explore.

BIG DATA COURSE CONTENT

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

MapR Enterprise Hadoop

Issues Fixed in DC/OS

API, DEVOPS & MICROSERVICES

Spark, Shark and Spark Streaming Introduction

REAL-TIME ANALYTICS WITH APACHE STORM

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

Cloud Analytics and Business Intelligence on AWS

CS 470 Spring Virtualization and Cloud Computing. Mike Lam, Professor. Content taken from the following:

Managing IoT and Time Series Data with Amazon ElastiCache for Redis

CONTAINERIZED SPARK ON KUBERNETES. William Benton Red Hat,

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

Microservices. Chaos Kontrolle mit Kubernetes. Robert Kubis - Developer Advocate,

Apache Ignite and Apache Spark Where Fast Data Meets the IoT

Windows Azure Services - At Different Levels

Architekturen für die Cloud

The Stream Processor as a Database. Ufuk

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

Big-Data Pipeline on ONTAP and Orchestration with Robin Cloud Platform

Esper EQC. Horizontal Scale-Out for Complex Event Processing

AN EVENTFUL TOUR FROM ENTERPRISE INTEGRATION TO SERVERLESS. Marius Bogoevici Christian Posta 9 May, 2018

Transcription:

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

Johannes Unterstein Software Engineer @Mesosphere @unterstein @unterstein.mesosphere 2017 Mesosphere, Inc. All Rights Reserved. 2

In the beginning there was a big Monolith 3

COMPUTERS Application Operating System Hardware 4

INTERNET - Remote Users! Web Application Operating System Hardware 5

DISTRIBUTION - Horizontal Scale Fault Tolerance Availability Load Balancing Web App Web App Web App Operating System Operating System Operating System Hardware Hardware Hardware 6

SERVICEORIENTED ARCHITECTURE - Separation of concerns - Optimization of bottlenecks - Smaller teams - API Contracts - Data replication - Complicated provisioning - Dependency management Web App Web App Web App Operating System Operating System Operating System Hardware Hardware Hardware 7

HARDWARE VIRTUALIZATION - Fast provisioning Isolation Portability Utilization Configuration Management - Virtual Networking - Credential management Web App Web App Web App Operating System Operating System Operating System Machine Machine Machine Infrastructure 8

MICROSERVICES - Polyglot Single Responsibility Smaller Teams Utilization Machine types/groups - Dependency hell App App App Operating System Operating System Operating System Machine Machine Machine Infrastructure 9

OVERVIEW noun ˈmīkrō/ /ˈsərvəs/ : an approach to application development in which a large application is built as a suite of modular services. Each module supports a specific business goal and uses a simple, well-defined interface to communicate with other modules.* Microservices are designed to be flexible, resilient, efficient, robust, and individually scalable. *From whatis.com

MICROSERVICES - Polyglot Single Responsibility Smaller Teams Utilization Machine types/groups - Dependency hell App App App Operating System Operating System Operating System Machine Machine Machine Infrastructure 11

Run everything in containers!

CONTAINERS - Rapid deployment - Dependency vendoring - Container image repositories - Spreadsheet scheduling App App App Container Runtime Container Runtime Container Runtime OS OS OS Machine Machine Machine Infrastructure 13

CONTAINER SCHEDULING 14

RESOURCE MANAGEMENT 15

SERVICE MANAGEMENT 16

CONTAINER ORCHESTRATION CONTAINER SCHEDULING RESOURCE MANAGEMENT SERVICE MANAGEMENT - Load Balancing Readiness Checking 17

CONTAINER ORCHESTRATION CONTAINER SCHEDULING - Placement Replication/Scaling Resurrection Rescheduling Rolling Deployment Upgrades Downgrades Collocation RESOURCE MANAGEMENT - Memory CPU GPU Volumes Ports IPs Images/Artifacts SERVICE MANAGEMENT - Labels Groups/Namespaces Dependencies Load Balancing Readiness Checking 18

CONTAINER ORCHESTRATION Web Apps & s Orchestration Management Scheduling Resource Management Container Runtime Container Runtime Container Runtime Machine & OS Machine & OS Machine & OS Machine Infrastructure 19

Meanwhile... MapReduce is crunching Data 20

DATA PROCESSING AT HYPERSCALE EVENTS INGEST STORE ANALYZE ACT Ubiquitous data streams from connected devices Ingest millions of events per second Distributed & highly scalable database Real-time and batch process data Visualize data and build data driven applications Apache Spark Akka Sensors Devices Clients Apache Kafka Apache Cassandra DC/OS 2017 Mesosphere, Inc. All Rights Reserved. 21

DATA PROCESSING AT HYPERSCALE EVENTS INGEST STORE ANALYZE ACT Ubiquitous data streams from connected devices Ingest millions of events per second Distributed & highly scalable database Real-time and batch process data Visualize data and build data driven applications Apache Spark Akka Sensors Devices Clients Apache Kafka Apache Cassandra DC/OS 2017 Mesosphere, Inc. All Rights Reserved. 22

STREAM PROCESSING Apache Storm Apache Spark Apache Samza Apache Flink Apache Apex Concord cloud-only: AWS Kinesis, Google Cloud Dataflow 2017 Mesosphere, Inc. All Rights Reserved. 23

EXECUTION MODEL Micro-Batching Native Streaming 2017 Mesosphere, Inc. All Rights Reserved. 24

DATA PROCESSING AT HYPERSCALE EVENTS INGEST STORE ANALYZE ACT Ubiquitous data streams from connected devices Ingest millions of events per second Distributed & highly scalable database Real-time and batch process data Visualize data and build data driven applications Apache Spark Akka Sensors Devices Clients Apache Kafka Apache Cassandra DC/OS 2017 Mesosphere, Inc. All Rights Reserved. 25

Datastores 2017 Mesosphere, Inc. All Rights Reserved. 26

Data Model Relational Key-Value Schema SQL Foreign Keys/Joins OLTP/OLAP Simple Scalable Cache Graph Complex relations Social Graph Recommend ation Fraud detections Document Time-Series Files Schema-Less Semi-structu red queries Product catalogue Session data 2017 Mesosphere, Inc. All Rights Reserved. 27

Modern datacenter 28

Flink Cassandra µs Spark RDB

Flink Cassandra µs Spark RDB

KEEP IT STATIC A naive approach to handling varied app requirements: static partitioning. Maintaining sufficient headroom to handle peak workloads on all partitions leads to poor utilization overall. time 31

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

SILOS OF DATA, SERVICES, USERS, ENVIRONMENTS Spark/Hadoop Kafka mysql Multiplexing 30-40% utilization, more at some users microservices Industry Average 12-15% utilization Cassandra Typical Datacenter siloed, over-provisioned servers, low utilization 4X Modern Datacenter automated schedulers, workload multiplexing onto the same machines 33

34

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 April 2016 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. DC/OS 35

Apache Mesos A top-level Apache project A cluster resource negotiator Scalable to 10,000s of nodes Fault-tolerant, battle-tested An SDK for distributed apps Native Docker support 36

MESOS FUNDAMENTALS ARCHITECTURE 37

STORAGE OPTIONS Default Sandbox Simple to use, Task failures Persistent Volumes Task failures, (permanent) Node failures Distributed File System/External Storage Node failures, non-local writes 38

2017 Mesosphere, Inc. All Rights Reserved. 39

DC/OS ENABLES MODERN DISTRIBUTED APPS Modern App Components Microservices (in containers) Big Data + Analytics Engines Streaming Batch Functions & Logic Analytics Machine Learning Search Time Series Databases SQL / NoSQL Datacenter Operating System (DC/OS) Distributed Systems Kernel (Mesos) Any Infrastructure (Physical, Virtual, Cloud) 40

THE BASICS DC/OS is 100% open source (ASL2.0) + A big, diverse community An umbrella for ~30 OSS projects + Roadmap and designs + Docs, tutorials, setup installations.. + Check https://dcos.io Familiar, with more features + Networking, Security, CLI, UI, Discovery, Load Balancing, Packages,... 41

Best Practices 42

GOING TO PRODUCTION Deployment Discovery Monitoring Logging 43

BEST PRACTICES DEPLOYMENT Version configurations Private registries Resource limits Make it HA 44

BEST PRACTICES SERVICE DISCOVERY Dynamic ports Virtual IPs DNS Overlay networks External tools 45

BEST PRACTICES MONITORING & LOGGING Application metrics Health checks Alerting Aggregate logs Consistent service logs 46

Questions? Code: https://git.io/v1djv @unterstein https://git.io/vxuoy github.com/unterstein @mesosphere / mesosphere.com @dcos / dcos.io / chat.dcos.io 2017 Mesosphere, Inc. All Rights Reserved. 47