Jump to: navigation, search

Difference between revisions of "Roadmap (Marconi)"

m
(Updated based on close of j-1, and added vision section)
Line 1: Line 1:
== Juno-1 (June 12) ==
+
== Let's Do This ==
 +
 
 +
For Juno, let's ship a service that is super fast, has a polished API, and is well-documented.
 +
 
 +
=== Juno Themes ===
 +
 
 +
* Speed
 +
* Polish
 +
* Docs
 +
 
 +
=== Major Goals ===
 +
 
 +
* Complete a polished version of the 1.0 API, v1.1
 +
* Ship a driver for high-throughput use cases
 +
* Ship a driver for a non-AGPL backend that has feature parity with MongoDB
 +
* Greatly expanded user guide, published to RTD
 +
 
 +
 
 +
[[File:Juno-marconi-cartoon.png|800px|frameless]]
 +
 
 +
 
 +
 
 +
== Upcoming milestones ==
 +
 
 +
=== Juno-2 (July 24) ===
  
 
* Rename the project
 
* Rename the project
 +
* Threat model for minimal HA deployment
 
* Finish tempest tests for API v1.0
 
* Finish tempest tests for API v1.0
* Research notifications (meet with 3rd-parties, create a design)
 
* Start coding AMQP
 
* Start coding Redis
 
* Complete most of API v1.1
 
* Rename "shard" to "pool" and note the name change on wiki and in the user manual
 
 
* Basic marconi-bench tool and cluster (will be merged into Rally eventually)
 
* Basic marconi-bench tool and cluster (will be merged into Rally eventually)
* OSSG - security FAQ
 
* Revert read-only queue metadata from API 1.1 (don't forget to update the spec)
 
* Start coding KPIs (/health endpoint)
 
  
== Juno-2 (July 24) ==
 
 
* OSSG - threat model
 
 
* Queue defaults (API 1.1)
 
* Queue defaults (API 1.1)
 
* Finish and freeze API 1.1
 
* Finish and freeze API 1.1
* Mongo DB gate (3rd-party)
 
* Benchmark gate (3rd-party)
 
* Finish coding KPIs (/health endpoint)
 
* AuthZ for Admin API
 
 
* Live queue migration
 
* Live queue migration
* Start coding notifications
 
* Redis pool (sharding, replication for Redis driver)
 
  
== Juno-3 (Aug 4) ==
+
* Finish POCs for: Redis, AMQP, Elasticsearch (?), LevelDB (?)
 +
* Based on POCs, decide on 1-2 to add as an out-of-the-box alternative to MongoDB
 +
* Start converting POCs into "real" drivers
 +
 
 +
=== Juno-3 (Sept 4) ===
 +
 
 +
Here's a rough list--in no particular order--of what we would like to accomplish. This list will be refined the closer we get to the start of J-3.
  
 +
* Finish work on new backend driver(s)
 +
* Finish work on flavors
 +
* AuthZ for Admin API
 +
* Decouple control plane backend drivers from data plane backend drivers
 +
* Mongo DB gate (3rd-party)
 +
* Benchmark gate (3rd-party)
 
* Publish User Guide and API Reference on RTD
 
* Publish User Guide and API Reference on RTD
 
* User Guide 2.0
 
* User Guide 2.0
* Remove the SQL Alchemy driver
 
* Integrate notifications with 1-2 other programs
 
 
* Cross-service Request ID
 
* Cross-service Request ID
 
* Basic security test suite
 
* Basic security test suite
Line 37: Line 55:
 
* Redis gate
 
* Redis gate
 
* DDoS testing and mitigation
 
* DDoS testing and mitigation
* Performance tuning
 
* Flavors
 
 
* Tempest tests for API v1.1
 
* Tempest tests for API v1.1
 +
* Finish up performance tuning
 
* End-game bug fixing and stabilization
 
* End-game bug fixing and stabilization
  
== Postponed ==
+
 
 +
== Past Milestones ==
 +
 
 +
=== Juno-1 (June 12) ===
 +
 
 +
* Start coding AMQP
 +
* Start coding Redis
 +
* Continue work on API v1.1
 +
* Rename "shard" to "pool" and note the name change on wiki and in the user manual
 +
* Start coding KPIs (/health endpoint)
 +
* Fill out OSSG security FAQ template
 +
* Revert read-only queue metadata from API 1.1 (don't forget to update the spec)
 +
 
 +
 
 +
== Postponed Work ==
  
 
Here are some things we would love to do this cycle, but don't have enough people to work on them. If you are interested in helping out, please get in touch via the [[Mailing_Lists#Future_Development|openstack-dev mailing list]] (using the prefix "[marconi]" in the subject), or via IRC in #openstack-marconi on Freenode.
 
Here are some things we would love to do this cycle, but don't have enough people to work on them. If you are interested in helping out, please get in touch via the [[Mailing_Lists#Future_Development|openstack-dev mailing list]] (using the prefix "[marconi]" in the subject), or via IRC in #openstack-marconi on Freenode.
  
 +
* Research notifications (meet with 3rd-parties, create a design)
 +
* Start coding notifications
 +
* Integrate notifications with 1-2 other programs
 
* Demo videos
 
* Demo videos
 
* Kafka driver
 
* Kafka driver

Revision as of 21:47, 12 June 2014

Let's Do This

For Juno, let's ship a service that is super fast, has a polished API, and is well-documented.

Juno Themes

  • Speed
  • Polish
  • Docs

Major Goals

  • Complete a polished version of the 1.0 API, v1.1
  • Ship a driver for high-throughput use cases
  • Ship a driver for a non-AGPL backend that has feature parity with MongoDB
  • Greatly expanded user guide, published to RTD


Juno-marconi-cartoon.png


Upcoming milestones

Juno-2 (July 24)

  • Rename the project
  • Threat model for minimal HA deployment
  • Finish tempest tests for API v1.0
  • Basic marconi-bench tool and cluster (will be merged into Rally eventually)
  • Queue defaults (API 1.1)
  • Finish and freeze API 1.1
  • Live queue migration
  • Finish POCs for: Redis, AMQP, Elasticsearch (?), LevelDB (?)
  • Based on POCs, decide on 1-2 to add as an out-of-the-box alternative to MongoDB
  • Start converting POCs into "real" drivers

Juno-3 (Sept 4)

Here's a rough list--in no particular order--of what we would like to accomplish. This list will be refined the closer we get to the start of J-3.

  • Finish work on new backend driver(s)
  • Finish work on flavors
  • AuthZ for Admin API
  • Decouple control plane backend drivers from data plane backend drivers
  • Mongo DB gate (3rd-party)
  • Benchmark gate (3rd-party)
  • Publish User Guide and API Reference on RTD
  • User Guide 2.0
  • Cross-service Request ID
  • Basic security test suite
  • AMQP gate
  • Redis gate
  • DDoS testing and mitigation
  • Tempest tests for API v1.1
  • Finish up performance tuning
  • End-game bug fixing and stabilization


Past Milestones

Juno-1 (June 12)

  • Start coding AMQP
  • Start coding Redis
  • Continue work on API v1.1
  • Rename "shard" to "pool" and note the name change on wiki and in the user manual
  • Start coding KPIs (/health endpoint)
  • Fill out OSSG security FAQ template
  • Revert read-only queue metadata from API 1.1 (don't forget to update the spec)


Postponed Work

Here are some things we would love to do this cycle, but don't have enough people to work on them. If you are interested in helping out, please get in touch via the openstack-dev mailing list (using the prefix "[marconi]" in the subject), or via IRC in #openstack-marconi on Freenode.

  • Research notifications (meet with 3rd-parties, create a design)
  • Start coding notifications
  • Integrate notifications with 1-2 other programs
  • Demo videos
  • Kafka driver
  • Long polling or WebSocket support in the API
  • Snappy or LZ4 compression of message bodies before storing them
  • Structured logging
  • Temp URL style endpoints with ACL, to give to untrusted parties for limited interactions with a queue
  • Message signing