Skip to content

Commit

Permalink
Merge pull request strimzi#1 from strimzi/roadmap
Browse files Browse the repository at this point in the history
Add Roadmap page
  • Loading branch information
scholzj authored Mar 19, 2018
2 parents 457eab7 + 1f86a3e commit f142210
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 0 deletions.
3 changes: 3 additions & 0 deletions _data/menu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ header:
- url: /
title: Overview
identifier: overview
- url: /roadmap
title: Roadmap
identifier: roadmap
- url: /blog
title: Blog
identifier: blog
62 changes: 62 additions & 0 deletions roadmap/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
layout: default
---

# Roadmap

## Improve configuration possibilities for Kafka and Kafka Connect

Currently, Strimzi gives the user only limited possibilities to configure Kafka and Kafka Connect. Only a few
configuration options are exposed and user configurable. Users should have more freedom to fine-tune Kafka and
Kafka Connect configuration according to their exact needs.

## Add support for encryption, authentication and authorization

In order to use Strimzi for production workloads, it has to be possible to secure the cluster. This should
include:

* Encryption using TLS
* Authentication using TLS client authentication and SASL
* Authorization

## Accessing Kafka from the outside of Kubernetes/OpenShift

Currently, the Kafka deployment is accessible only from within the same Kubernetes/OpenShift cluster in which it is
deployed. In some scenarios it will be necessary to access it from the outside.

## Add support for Kubernetes resource request and limits

All Strimzi deployments are currently running without any resource requests and limits (see
[Kubernetes documentation](https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/)
for more details). A possibility to configure resource limits and requests should be added to the Cluster Controller
component.

## Add support for Kubernetes node selectors

In order to achieve good performance, it might be necessary to schedule Kafka pods to specific nodes. For example, because
they contain special storage hardware or just to run them on dedicated nodes to make sure that Kafka doesn't interfere
with any other applications. To achieve this, it should be possible to configure node selectors for the Strimzi
deployments.

## Custom Resource Definitions support

The Cluster and Topic Controllers should have support for [Custom Resource Definitions (CRDs)](https://kubernetes.io/docs/concepts/api-extension/custom-resources/).

## Service broker support

The Cluster Controller should be able to work as a [Service Broker](https://www.openservicebrokerapi.org/).

## Support for automated cluster balancing

During the lifecycle of the Kafka cluster it can happen that it becomes unbalanced. Some nodes are hosting very _heavy_
topics (i.e. busy topics with a lot of traffic) while other nodes are idle most of the time hosting less busy topics.
An automated cluster balancer should continuously monitor the cluster state and balance it (re-distribute the topics) when
needed to make sure that the load is optimally distributed across all cluster nodes.

## Kafka updates

Strimzi should make it possible to smoothly handle updates from one Kafka version to another.

## Integration with other protocols

Allow to access Kafka using different protocols such as HTTP, AMQP or MQTT.

0 comments on commit f142210

Please sign in to comment.