OpenStack Message Bus ("Marconi")
Marconi is a new OpenStack project to create a multi-tenant, light-weight, fast, scale-out alternative to other popular queuing systems. The service will support 100's of thousands (or even millions) of clients and channels in a cost-effective manner, without sacrificing performance, durability, or HA.
This project's objective is not to supplant intra-cluster message buses, such as those based on AMQP and DDS. Rather, Marconi provides a complementary service that is optimized for extra-cluster messaging between many thousands of Internet-connected agents.
Marconi will define a clean, RESTful API, use a modular architecture, and will support both eventing and job-queuing semantics. Users will be able to customize Marconi to achieve a wide range of performance, durability, availability, and efficiency goals.
- Set up Marconi wiki, repo, Launchpad, etc.
- Define v1.0 functional and non-functional requirements
- Define v1.0 API
- Create a skeleton implementation
- Create test suite
What's the simplest thing that could possibly work?
- Stabilize v1.0 requirements and API based on community feedback
- Flesh out the skeleton implementation with reference modules
- Create and publish developer docs
Make it real.
- Finalize v1.0 requirements and API
- Create production-ready modules
Make it awesome.
- Conduct performance and load testing; optimize the code accordingly, and publish results
- Conduct integration testing and fix all critical bugs
- Achieve ~80% code coverage in tests
- Clean up all code and documentation
- Document the API for end users
- Production trial, publish results
- Define next set of features and milestones