# awesome-mesos

Everything about awesome Apache Mesos.

Share your Mesos :heart: through pull requests :)

What can you expect to see here?

- Frameworks

  - Data Processing
  - Storage and Serving
  - Machine Learning
  - Service/Meta Schedulers/ PaaS
  - Consensus
  - Continuous Integration
  - One-off tasks/commands
  - Tracing
  - Metric collection, logging and visualization
  - Benchmarking
  - Experimental/Example/Unsorted

- Language Bindings

- Tools

  - Alternative UI/Dashboards
  - Tools for Mesos Developers
  - Tools for Mesos Framework Developers
  - Command line tools
  - Vagrant based setups
  - Docker based setups
  - Trace Visualization

- Deployment

  - Ansible
  - Chef
  - Puppet
  - Babushka
  - Cloudformation
  - Terraform
  - Systemd
  - Shell-scripts
  - Packaging
  - Networking

- Monitoring and alerting

- Service discovery and Load balancing

- Modules

- Platforms and microservice architectures

- Other Projects and Integrations

- Where to look for more?

## Frameworks

### Data Processing

#### Batch Processing

- Apache Spark
- Apache Hadoop
- Apache Hama
- Dpark
- Flink

#### Stream/Event Processing

- Apache Storm
- Samza
- Heron
- Fabric

### Storage and Serving

- Apache Cassandra

- Hypertable

- ElasticSearch

- Tachyon

- HDFS (and HDFS and HDFS)

- Riak

- Apache Kafka

- Kafka client

- Phoenix

- Apache Cotton - MySQL on Mesos

- MongoDB

- Hemlock

- Apache Drill

- Ceph

- Crate

- Apache Accumulo

- MrRedis - Mesos runs Redis

- Apache Ignite

- DataStax

- Kafaka -> Cassandra mirroring

- memSQL

### Machine Learning

- TensorFlow

### Service/Meta Schedulers/ PaaS

- Apache Aurora
- Marathon
- Singularity
- Chronos
- Cook Scheduler
- CloudFoundry
- Myriad - Elastic YARN on Mesos
- Kubernetes
- Metronome
- Swan
- ElasticJob
- Waiter - Runs, manages, and autoscales web services
- Scale

### Consensus

- ZooKeeper and ZooKeeper
- Etcd

### Continuous Integration

- Jenkins and Jenkins
- GitLab CI
- Teamcity Plugin

### One-off tasks/commands

- Eremetic
- R scripts
- Sprint

### Tracing

- Zipkin

### Metric collection, logging and visualization

- Kibana
- Logstash
- Statsd -> Kafka and Statsd -> Kafka
- Construct - Deploy a single task on all agents of the cluster
- Go based Syslog service and Go based Syslog service
- Mesos slave metrics -> Kafka

### Benchmarking

- YCSB
- Hydra

### Experimental/Example/Unsorted

- distcc
- Exelixi
- MPI
- Chapel Parallel Programming Language
- SSSP
- JobServer
- RENDLER
- OwlCrawler
- Volt
- Gozer - Prototype with low-level go API
- Portainer - builds docker images using Mesos cluster
- Autoscaling
- Jetty
- JobTree
- Sun Grid Engine
- Checkswarm
- gasc - Generic Mesos Gang Scheduler for HPC tooling
- Mesosaurus
- pinspider
- Example Python Framework
- Amazon ECS Integration (proof-of-concept)
- Charmander
- Elastic Sentiment Analysis
- Tiniest Mesos Scheduler in Python
- Anagram Finder
- Clojure Example
- Example Mesos framework in Java to launch Docker containers
- Example framework for Apache Mesos Essentials book
- Bitcoin Miner
- Closest-pairs in 2D with divide-and-conquer
- QoSon
- Logo Generator
- Changes Mesos Framework
- Inverse Offer Example Framework
- Deimos (deprecated when native Docker support was added to Mesos v0.20)
- Slurm (deprecated)
- Satyr
- Retz
- Wraxl
- ScaleIO
- openvdc
- hippo - Mesos framework for eating tasks off queues
- rexe - Remote Execution tool for Mesos
- SearchYA - simple distributed textual search engine

## Language Bindings

- Java
  - Java
  - Jesos - Pure Java
  - Framework API - Pure JVM
  - RxJava
- Python
  - Pesos - Pure Python
  - Pymesos
  - Python HTTP
- Go
  - mesos-go-http - HTTP Go
- Erlang with example framework
- Haskell
- Clojure
  - Clojure
  - mesomatic
- Ruby
- Perl
- Rust
- CLR
- Scala
- JavaScript

## Tools

### Alternative UI/Dashboards

- Mesos UI
- Simple Mesos Dasboard
- Mesos Visualizer
- Mesos UI

### Tools for Mesos Developers

- Xcode Workspace for Apache Mesos
- Example repository for creating Mesos modules
- Docker image for Mesos modules
- Windows support for Mesos

### Tools for Mesos Framework Developers

- Write a Scala Mesos Framework in 7 Steps
- Akka Mesos
- Simple Mesos “Hello world” in scala
- Mesos State Backed Collections
- mini-mesos - Testing infrastructure for Mesos frameworks
- Fenzo - Cross framework pluggable task scheduling library
- Spring Boot starter for Mesos
- Go-Mesos-Utils
- JavaScript framework boilerplate
- Mesos Go Stateful
- Mesos Framework SDK
- Customizable Mesos Executor

### Command line tools

- mesosctl
- mesos-tail

### Vagrant based setups

- CoreOS Mesos Cluster
- Vagrant Mesos
- Playa Mesos
- Vagrant Deimos
- Vagrant Mesos Spark
- Vagrant Mesos
- Mesos Marathon Deimos Vagrant
- Mesos Playground
- Vagrant Mesos Development Environment
- Mesos CentOS
- Using Atlas

### Docker based setups

- Fig Mesos
- Compose Mesos
- Docker Mesos
- Mesoscope
- Mesos workshop
- Mesos Docker containers

### Trace Visualization

- Mesos traces vis
- Mesos tracing

## Deployment

### Ansible

- Ansible Mesos playbook
- Ansible Mesos
- Ansible Mesos cluster
- Ansible MMD
- Ansible Mesos
- Anisble Mesos Docker
- Ansible Chronos
- Anisble Marathon
- Deploy apps on marathon from ansible
- roger-mesos with Bamboo

### Chef

- Cookbook Mesos
- Mesos Cookbook

### Puppet

- Puppet Mesos

### Babushka

- Mesos Babushka

### Cloudformation

- Cloudformation Mesos

### Terraform

- Terraform Mesos

### Systemd

- Mesos SystemD

### Shell-scripts

- Mesos on Eucalyptus Private Cloud

### Packaging

- RPM Mesos
- Mesos RPM
- Mesos DEB packaging
- Mesos DEB packaging

### Networking

- Project Calico

## Monitoring and alerting

- Nagios Mesos
- CollecD Mesos task
- Docker CollecD Mesos)
- Satellite
- Prometheus
- Prometheus
- Mesos InfluxDB Collector
- Complainer
- marathon-slack

## Service discovery and Load balancing

- Automated HAProxy reconfiguration for Marathon
- DNS based Service Discovery for Mesos
- Service Discovery script for Mesos and Marathon
- Marathoner - Service discovery in Marathon
- Bamboo - Automatically configuring HAProxy for Mesos+Marathon
- Mesos-Consul and Service Discovery & Orchestration With Mesos and Consul
- Ralph
- Zoidberg
- Aurproxy
- Marathon-Consul - Register Marathon Tasks as Consul Services for service discovery.
- roger-bamboo
- traefik
- Surok
- Sprinter

## Modules

- A customer allocator module
- Serenity
- Metaswitch
- Network Isolator
- Remote Commands Execution
- Flocker volumes
- Docker Volume Driver Isolator
- Allocator module with Offer Filtering
- Threshold-based Mesos Oversubscription

## Platforms and microservice architectures

- DC/OS
- Mantl
- Apollo
- PanteraS - PanteraS - Platform as a Service in a box
- Vamp - The Very Awesome Microservices Platform
- Compute platform
- PaaSTA
- Appsoma Welder
- Peloton from Uber

## Other projects and Integrations

- BigDataScript

- Sample Mesos Executor

- Mesos BOSHrelease

- Mesos BOSHrelease

- Sample FluentD on Mesos Docker

- Mesos Utils

- Mesos CLI

- Marathon Python

- Marathon Logger

- Service Bridge

- Mesosphere pkg

- GoMarathon

- Chronos pkg

- Chronos utils

- Mesos in Hadoop

- CDH patched for Mesos - old

- Docker PAAS - old

- Hecate

- Magneto

- Mesos Akaros

- VirtualMesos - old

- Mammoth

- Mesos Spark

- Packer Mesos

- Packer Mesos

- Chronos

- Docker Marathon

- CoreOS Mesos Marathon

- Mesos on CoreOS

- Mesos

- Angstrom

- supervisor

- NixOps Mesos

- Universe - Mesos package repository

- Presto Marathon Docker

- Mesos Nerve

- Foundry bagrant Mesos Kafka cluster

- Autoscaling Mesos

- https://github.com/datastrophic/mesos-scaler-ec2

- Aurora REST interface - https://github.com/misho-kr/mesos-aurora-restful and https://github.com/smarth-madan/incubator-aurora

- Storm Marathon

- https://github.com/tailhook/mesos-tests

- REPL-MESOS

- Relay.Mesos

- Ochopod

- Mesos on Mesos

- Load replaying

- Vamp

- Charmander

- Compose-executor

- Triathlon - Marathon wrapper for distributed Mesos cluster selection

- megos - Go(lang) client library for accessing information of a Apache Mesos cluster

- Weave Mesos Integration

- OpenStack Kolla

- Depcon

- Vault

- Go Mesos Kafka Consumer

- Apache Mesos Platform as a Service Deploy

- JIRA on Mesos

- Dask Mesos backend

- Spring Cloud Data Flow

- Nix

- RogerOS

- deathnode - Gracefully kill Mesos nodes for autoscaling

- PAPI performance counters for Mesos

- REX-Ray storage orchestration engine

- Toil - workflow engine

- Dispatch - execute scripts on Mesos cluster

- OpenTable Mesoshub

- Marvin Scheduler

## Where to look for more?

- MesosCon
  - 2014
  - 2015
  - Europe 2015
  - Seattle 2015
  - North America 2016
  - North America 2017
- Mesos User Groups
- Powered By Mesos
- Mesos Community
- Apache Mesos Youtube Channel
- List of Mesos related conferences & meetups
- Apache Mesos Essentials book