github.com/technosophos/deis@v1.7.1-0.20150915173815-f9005256004b/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  Etcd Hardening
    16  --------------
    17  
    18  We have recently seen various issues with etcd performance, which can cause
    19  issues with Deis. We will focus on re-evaluating our implementation and use
    20  of etcd in Deis, with a focus on performance and reliability.
    21  
    22  This feature is tracked as GitHub issue `#4404`_.
    23  
    24  Rigger
    25  ------
    26  
    27  We want the provisioning process of CoreOS hosts to be as smooth as the
    28  ``deisctl`` experience when users install and start Deis. We've started working
    29  on a tool called `Rigger`_ which provisions hosts and deploys Deis on
    30  any supported provider.
    31  
    32  We're still defining the interface between Rigger and the provider-specific
    33  provision logic. We'd love input from the community on this discussion in
    34  `#4345`_.
    35  
    36  New Default Scheduler
    37  ---------------------
    38  Deis now has support for Docker Swarm, Apache Mesos, and Google Kubernetes as
    39  application schedulers. With the known limitations of fleet (primarily, not being
    40  a resource-aware scheduler), we should investigate using a different scheduler
    41  as our default.
    42  
    43  This feature is tracked as GitHub issue `#4222`_.
    44  
    45  Permissions and Teams
    46  ---------------------
    47  Deis deployments in larger organizations require more fine-grained control
    48  over users and permissions. Implementation of teams and improved user permissions
    49  are tracked in separate issues:
    50  
    51   - [ ] `Permissions`_
    52   - [ ] `Teams`_
    53  
    54  Monitoring & Telemetry
    55  ----------------------
    56  Deis installations today use custom solutions for monitoring, alerting and operational visibility.
    57  Deis will standardize the monitoring interfaces and provide open source agent(s) that can be used to ship telemetry to arbitrary endpoints.
    58  
    59   - [ ] Host Telemetry (cpu, memory, network, disk)
    60   - [ ] Container Telemetry (cpu, memory, network, disk)
    61   - [ ] Platform Telemetry (control plane, data plane)
    62   - [ ] Controller Telemetry (app created, build created, containers scaled)
    63  
    64  This feature is tracked as GitHub issue `#3699`_.
    65  
    66  Stateless Logger
    67  ----------------
    68  Users who have elected to run a Ceph-less cluster give up application logs since
    69  ``deis-controller`` has nowhere to store them. To alleviate this, we plan to implement an in-memory ring buffer
    70  for the ``deis-logger`` component, so that a reasonable period of recent logs is stored and can be queried with
    71  ``deis logs``.
    72  
    73  This feature is tracked as GitHub issue `#4000`_.
    74  
    75  Internal Service Discovery
    76  --------------------------
    77  To provide a better container networking experience, Deis must provide
    78  internal service discovery for components to coordinate.
    79  
    80  This feature is tracked as GitHub issue `#3072`_.
    81  
    82  Update Service
    83  --------------
    84  Deis must support 100% automated, zero-downtime updates of the control plane.
    85  Like CoreOS, Deis clusters should be attached to an alpha, beta or stable channel and rely on an automatic update mechanism.
    86  To accomplish this, Deis plans to use the `Google Omaha Protocol`_ as implemented by `CoreUpdate`_.
    87  
    88   - [X] `Update client/agent`_
    89   - [ ] Update server
    90   - [ ] `Automatic CoreOS upgrades`_
    91   - [ ] CI Integration
    92  
    93  This feature is tracked as GitHub issue `#2106`_.
    94  
    95  Deis Push
    96  ---------
    97  End-users should be able to push Docker-based applications into Deis from their local machine using ``deis push user/app``.
    98  This works around a number of authentication issues with private registries and ``deis pull``.
    99  
   100   - [ ] `Docker Registry v2`_
   101   - [ ] `Deis Push`_
   102  
   103  TTY Broker
   104  ----------
   105  Today Deis cannot provide bi-directional streams needed for log tailing and interactive batch processes.
   106  By having the :ref:`Controller` drive a TTY Broker component, Deis can securely open WebSockets
   107  through the routing mesh.
   108  
   109   - [ ] `TTY Broker component`_
   110   - [ ] `Interactive Deis Run`_ (``deis run bash``)
   111   - [ ] `Log Tailing`_ (``deis logs -f``)
   112  
   113  Service Broker
   114  --------------
   115  In Deis, connections to :ref:`concepts_backing_services` are meant to be explicit and modeled as a series of environment variables.
   116  Deis believes the Cloud Foundry `Service Broker API`_ is the best embodiment of this today.
   117  
   118   - [ ] Deis Addons CLI (deis addons)
   119   - [ ] PostgreSQL Service Broker
   120   - [ ] Redis Service Broker
   121  
   122  This feature is tracked as GitHub issue `#231`_.
   123  
   124  .. _`#231`: https://github.com/deis/deis/issues/231
   125  .. _`#2106`: https://github.com/deis/deis/issues/2106
   126  .. _`#3072`: https://github.com/deis/deis/issues/3072
   127  .. _`#3699`: https://github.com/deis/deis/issues/3699
   128  .. _`#4000`: https://github.com/deis/deis/issues/4000
   129  .. _`#4222`: https://github.com/deis/deis/issues/4222
   130  .. _`#4345`: https://github.com/deis/deis/issues/4345
   131  .. _`#4404`: https://github.com/deis/deis/issues/4404
   132  .. _`Automatic CoreOS upgrades`: https://github.com/deis/deis/issues/1043
   133  .. _`CoreUpdate`: https://coreos.com/docs/coreupdate/custom-apps/coreupdate-protocol/
   134  .. _`Deis Push`: https://github.com/deis/deis/issues/2680
   135  .. _`Docker Registry v2`: https://github.com/deis/deis/issues/3814
   136  .. _`Google Omaha Protocol`: https://code.google.com/p/omaha/wiki/ServerProtocol
   137  .. _`Interactive Deis Run`: https://github.com/deis/deis/issues/117
   138  .. _`like CoreOS`: https://coreos.com/releases/
   139  .. _`Log Tailing`: https://github.com/deis/deis/issues/465
   140  .. _`Permissions`: https://github.com/deis/deis/issues/4150
   141  .. _`Rigger`: https://github.com/deis/rigger
   142  .. _`Service Broker API`: http://docs.cloudfoundry.org/services/api.html
   143  .. _`Teams`: https://github.com/deis/deis/issues/4173
   144  .. _`TTY Broker component`: https://github.com/deis/deis/issues/3808
   145  .. _`Update client/agent`: https://github.com/deis/deis/issues/3811