This roadmap provides a high level overview of the themes that the DC/OS project is focusing on in the near, medium and long term. Please see the design docs and JIRAs for additional details on each item.
Unified DC/OS API
DC/OS consists of a number of components that each serve a specialized function. Every component has its own API, with different syntax, conventions, and endpoints. The Unified DC/OS API brings all of these together under one umbrella. It’s the “POSIX” of DC/OS. The initial focus will be on networking, and integrating the Marathon API. For more information, see the Design doc.
Support for Container Network Interface
Virtual Networks in DC/OS levaraging CNI & VxLAN
DC/OS Virtual Networking Service builds on the CNI standard and provides IP per Container capability to workloads running on top of DC/OS. For more information, see the Design doc.
Edge load balancing
A Layer 7 On-ramp/Off-ramp with load balancing capabilities that routes incoming North-South web traffic to services running on DC/OS. For more information, see the Design doc. This effort plans to integrate edge load balancing into the DC/OS service discovery layer, without the need for individually managed HAProxy.
Pluggable External Volumes
Support for pluggable external volume providers such as REX-Ray, Flocker, etc. For more information, see the design doc for external volumes (Docker Volume Driver) in Mesos.
Pods enable the popular “sidecar” pattern where multiple containers are scheduled together on the same host and with shared resources. Pods allows co-scheduling of monitoring agents, service registration clients, and more with the main application process.
The Metrics API provides a way for any component of DC/OS to publish its own metrics. Metrics can be forwarded to standard metrics aggregation tools such as Graphite, Grafana, InfluxDB, and Prometheus.
Aggregate logs from all parts of DC/OS via Journald. This includes master, agent, and service logs. Plugins and tutorials for integrating with log aggregation systems like Splunk or ELK.
Run a service on every node in the cluster to support add-ons that need a daemon process to be present cluster-wide. Examples are monitoring agents, log ingestion, security monitoring and enforcement, networking.
Multiple configuration profiles in Universe packages, to support dev/prod configurations and small/medium/large setups.
Support for dependencies in Universe packages.
Support for discovery, isolation, and consumption of GPUs. Users will be able to request machines with GPU support for their tasks. DC/OS provides isolation so that multiple containers cannot interfere with each other.
DC/OS on Windows
Support running DC/OS nodes on Windows machines, and support for scheduling workloads in Windows containers.
Schedule run-to-completion jobs with DC/OS, such as ETL and system maintenance tasks. This is currently accomplished by the Chronos scheduler which needs to be installed separately. The goal of this project is to integrate this functionality into DC/OS itself.
Tools for debugging applications at runtime, and integrating with existing debugging tools such as gdb and IDEs.
Automatic scale-out of container-based applications based on configurable metrics such as response time and throughput.