github.com/rochacon/deis@v1.0.2-0.20150903015341-6839b592a1ff/docs/roadmap/roadmap.rst (about)

     1  :title: Roadmap
     2  :description: The Deis project roadmap
     3  
     4  .. _roadmap:
     5  
     6  Deis Roadmap
     7  ============
     8  The Deis Roadmap is a community document created as part of the open :ref:`planning`.
     9  Each roadmap item describes a high-level capability or grouping of features that are deemed
    10  important to the future of Deis.
    11  
    12  Given the project's rapid :ref:`Release Schedule, <release_schedule>` roadmap items are designed to provide a sense of
    13  direction over many releases.
    14  
    15  New Default Scheduler
    16  ---------------------
    17  Deis now has support for Docker Swarm, Apache Mesos, and Google Kubernetes as
    18  application schedulers. With the known limitations of fleet (primarily, not being
    19  a resource-aware scheduler), we should investigate using a different scheduler
    20  as our default.
    21  
    22  This feature is tracked as GitHub issue `#4222`_.
    23  
    24  Permissions and Teams
    25  ---------------------
    26  Deis deployments in larger organizations require more fine-grained control
    27  over users and permissions. Implementation of teams and improved user permissions
    28  are tracked in separate issues:
    29  
    30   - [ ] `Permissions`_
    31   - [ ] `Teams`_
    32  
    33  Monitoring & Telemetry
    34  ----------------------
    35  Deis installations today use custom solutions for monitoring, alerting and operational visibility.
    36  Deis will standardize the monitoring interfaces and provide open source agent(s) that can be used to ship telemetry to arbitrary endpoints.
    37  
    38   - [ ] Host Telemetry (cpu, memory, network, disk)
    39   - [ ] Container Telemetry (cpu, memory, network, disk)
    40   - [ ] Platform Telemetry (control plane, data plane)
    41   - [ ] Controller Telemetry (app created, build created, containers scaled)
    42  
    43  This feature is tracked as GitHub issue `#3699`_.
    44  
    45  Production Hardening
    46  --------------------
    47  For users running Deis in large environments, support is lacking for things like separating the
    48  control plane and data plane (application and routing mesh), running etcd on only a fraction
    49  of the hosts, and other architectural design customizations. Specifically, work is in
    50  progress for:
    51  
    52   - [ ] Better support for large-scale clusters (`#3635`_)
    53   - [ ] Support for separating the data plane and control plane (`#3023`_)
    54  
    55  Stateless Logger
    56  ----------------
    57  Users who have elected to run a Ceph-less cluster give up application logs since
    58  ``deis-controller`` has nowhere to store them. To alleviate this, we plan to implement an in-memory ring buffer
    59  for the ``deis-logger`` component, so that a reasonable period of recent logs is stored and can be queried with
    60  ``deis logs``.
    61  
    62  This feature is tracked as GitHub issue `#4000`_.
    63  
    64  Internal Service Discovery
    65  --------------------------
    66  To provide a better container networking experience, Deis must provide
    67  internal service discovery for components to coordinate.
    68  
    69  This feature is tracked as GitHub issue `#3072`_.
    70  
    71  Update Service
    72  --------------
    73  Deis must support 100% automated, zero-downtime updates of the control plane.
    74  Like CoreOS, Deis clusters should be attached to an alpha, beta or stable channel and rely on an automatic update mechanism.
    75  To accomplish this, Deis plans to use the `Google Omaha Protocol`_ as implemented by `CoreUpdate`_.
    76  
    77   - [X] `Update client/agent`_
    78   - [ ] Update server
    79   - [ ] `Automatic CoreOS upgrades`_
    80   - [ ] CI Integration
    81  
    82  This feature is tracked as GitHub issue `#2106`_.
    83  
    84  Deis Push
    85  ---------
    86  End-users should be able to push Docker-based applications into Deis from their local machine using ``deis push user/app``.
    87  This works around a number of authentication issues with private registries and ``deis pull``.
    88  
    89   - [ ] `Docker Registry v2`_
    90   - [ ] `Deis Push`_
    91  
    92  TTY Broker
    93  ----------
    94  Today Deis cannot provide bi-directional streams needed for log tailing and interactive batch processes.
    95  By having the :ref:`Controller` drive a TTY Broker component, Deis can securely open WebSockets
    96  through the routing mesh.
    97  
    98   - [ ] `TTY Broker component`_
    99   - [ ] `Interactive Deis Run`_ (``deis run bash``)
   100   - [ ] `Log Tailing`_ (``deis logs -f``)
   101  
   102  Service Broker
   103  --------------
   104  In Deis, connections to :ref:`concepts_backing_services` are meant to be explicit and modeled as a series of environment variables.
   105  Deis believes the Cloud Foundry `Service Broker API`_ is the best embodiment of this today.
   106  
   107   - [ ] Deis Addons CLI (deis addons)
   108   - [ ] PostgreSQL Service Broker
   109   - [ ] Redis Service Broker
   110  
   111  This feature is tracked as GitHub issue `#231`_.
   112  
   113  .. _`#231`: https://github.com/deis/deis/issues/231
   114  .. _`#2106`: https://github.com/deis/deis/issues/2106
   115  .. _`#3023`: https://github.com/deis/deis/issues/3023
   116  .. _`#3072`: https://github.com/deis/deis/issues/3072
   117  .. _`#3635`: https://github.com/deis/deis/issues/3635
   118  .. _`#3699`: https://github.com/deis/deis/issues/3699
   119  .. _`#4000`: https://github.com/deis/deis/issues/4000
   120  .. _`#4222`: https://github.com/deis/deis/issues/4222
   121  .. _`Automatic CoreOS upgrades`: https://github.com/deis/deis/issues/1043
   122  .. _`CoreUpdate`: https://coreos.com/docs/coreupdate/custom-apps/coreupdate-protocol/
   123  .. _`Deis Push`: https://github.com/deis/deis/issues/2680
   124  .. _`Docker Registry v2`: https://github.com/deis/deis/issues/3814
   125  .. _`Google Omaha Protocol`: https://code.google.com/p/omaha/wiki/ServerProtocol
   126  .. _`Interactive Deis Run`: https://github.com/deis/deis/issues/117
   127  .. _`like CoreOS`: https://coreos.com/releases/
   128  .. _`Log Tailing`: https://github.com/deis/deis/issues/465
   129  .. _`Permissions`: https://github.com/deis/deis/issues/4150
   130  .. _`Service Broker API`: http://docs.cloudfoundry.org/services/api.html
   131  .. _`Teams`: https://github.com/deis/deis/issues/4173
   132  .. _`TTY Broker component`: https://github.com/deis/deis/issues/3808
   133  .. _`Update client/agent`: https://github.com/deis/deis/issues/3811