Skip to content

Development Kit

Pavel Kiselev edited this page Jun 9, 2017 · 6 revisions

Development Kit

Each developer appliance has a batteries included for comfortable development.

Navigation:

Core software

Tier I

Literally a spine of our platform, list of open-source applications we depend on:

  • Apache Mesos - makes our datacenters multi-tenant, allowing multiple applications to work on the same machine.
    • Marathon - container orchestration platform for Mesos.
    • mesos-consul - Mesos to Consul bridge for service discovery.
  • Confluent Platform - complete streaming platform for large-scale distributed environments.
  • Consul - highly available and distributed service discovery.
    • consul-template - generic template rendering and notifications with Consul.
  • Docker - software containerization platform.
  • Elasticsearch - distributed, RESTful search and analytics engine.
    • Kibana - data visualization system for Elasticsearch.
  • Nginx - high performance load balancer, web server and reverse proxy.
  • PostgreSQL - open source object-relational database system.
    • bottledwater-pg - data capture system from PostgreSQL into Kafka.
    • pgweb - web-based database browser for PostgreSQL.
  • rsyslog - open-source software log-forwarding system.

Tier II

Available only on production environments or separate instances:

  • Docker Registry - Docker images storage and distribution system.
  • OpenVPN - open source SSL VPN solution.
  • Sinopia - private NPM repository server.
  • consul-alerts - a simple daemon to send notifications based on Consul health checks.
  • marathon-alerts - tool for monitoring the apps running on Marathon.

Programming languages

Pre-installed compilers and runtimes, in case you need to build or test something inside a VM:

Build tools

Various package management and build systems which are necessary for modern development:

  • Scala
    • sbt - interactive build tool for Scala.
  • Go
    • glide - package management for Golang.
  • Clojure
    • lein - automating Clojure projects without setting your hair on fire.
    • boot - Clojure build framework and ad-hoc Clojure script evaluator.
  • JavaScript
    • yarn - fast, reliable, and secure dependency management for Node.js.

Command line utilities

Baked in command-line utilities which ease problem solving:

  • consulate - command-line client for the Consul HTTP API.
  • ctop - top-like interface for container metrics.
  • docker-compose - define and run multi-container applications with Docker.
  • flyway - open-source database migration tool.
  • htop - interactive text-mode process viewer for Unix systems.
  • httpie - a command line HTTP client that will make you smile.
  • iotop - a top-like UI to monitor I/O stats.
  • jq - lightweight and flexible command-line JSON processor.
  • kt - commandline tool for Apache Kafka.
  • ncdu - disk usage analyzer with an ncurses interface.
  • pgcli - Postgres CLI with autocompletion and syntax highlighting.
  • zookeepercli - simple, lightweight, dependable CLI for Zookeeper.