Jump to: navigation, search

Difference between revisions of "Zaqar"

(Community)
m (Overview: Simplified, reorganized into a new API section)
Line 1: Line 1:
 
== Overview ==
 
== Overview ==
  
Zaqar is a cloud messaging and notification service for developers building applications on top of OpenStack. The service features a web-friendly HTTP API, which developers can use to send messages between the various components of their SaaS and mobile applications, using a variety of communication patterns. Underlying the API is an efficient messaging engine designed with scalability and security in mind.
+
Zaqar is a multi-tenant cloud messaging and notification service for developers building applications on top of OpenStack. The service features a web-friendly HTTP API, which developers can use to send messages between the various components of their SaaS and mobile applications, using a variety of communication patterns. Underlying the API is an efficient messaging engine designed with scalability and security in mind.
  
At first glance, Zaqar's RESTful API may seem a bit out of the ordinary. Message brokers typically rely on a custom binary protocol and long-lived connections. However, many of today's developers prefer a more web-friendly HTTP API. They value the simplicity and transparency of the protocol, its firewall-friendly nature, and its huge ecosystem of tools, load balancers and proxies. In addition, cloud operators appreciate the scalability aspects of the REST architectural style.
+
Other OpenStack components can integrate with Zaqar to surface events to end users, and to communicate with guest agents that run in the so-called "over-cloud" layer. Several projects have expressed interest in integrating with Zaqar, and we are looking forward to collaborating with them on their individual use cases:
 
 
Zaqar's primary mission is to provide a multi-tenant, web-friendly messaging and notifications service to so-called "over-cloud" web and mobile application developers. In addition, several projects have asked us to help with some of their under-cloud use cases, particularly in terms of aggregating and filtering events as a compliment to OpenStack's RPC layer (Zaqar is not intended to replace oslo.messaging).
 
 
 
Additionally, several OpenStack programs have expressed interest in integrating with Zaqar to surface events to end users and user-agents. We look forward to collaborating with these and other programs on their individual use cases:
 
 
* Heat
 
* Heat
 
* Swift
 
* Swift
Line 13: Line 9:
 
* Guest Agent
 
* Guest Agent
 
* Ceilometer
 
* Ceilometer
 +
 +
== The API ==
 +
 +
At first glance, Zaqar's RESTful API may seem a bit out of the ordinary. Message brokers typically rely on a custom binary protocol and long-lived connections. However, many of today's developers prefer a more web-friendly HTTP API. They value the simplicity and transparency of the protocol, its firewall-friendly nature, and its huge ecosystem of tools, load balancers and proxies. In addition, cloud operators appreciate the scalability aspects of the REST architectural style.
 +
 +
[[Zaqar/specs/api/v1|Version 1.0]] of the API has been stable for some time. We are working on a [[Zaqar/specs/api/v1.1|1.1 version]] with minor changes to remove some of the rough edges in 1.0, and we welcome community feedback. Note that some proposals by the community, such as '''removing random access to individual messages by ID''', will be taken care of in version 2.0 when we will have more freedom to make major changes.
  
 
== Status ==
 
== Status ==

Revision as of 19:23, 7 August 2014

Overview

Zaqar is a multi-tenant cloud messaging and notification service for developers building applications on top of OpenStack. The service features a web-friendly HTTP API, which developers can use to send messages between the various components of their SaaS and mobile applications, using a variety of communication patterns. Underlying the API is an efficient messaging engine designed with scalability and security in mind.

Other OpenStack components can integrate with Zaqar to surface events to end users, and to communicate with guest agents that run in the so-called "over-cloud" layer. Several projects have expressed interest in integrating with Zaqar, and we are looking forward to collaborating with them on their individual use cases:

  • Heat
  • Swift
  • Horizon
  • Guest Agent
  • Ceilometer

The API

At first glance, Zaqar's RESTful API may seem a bit out of the ordinary. Message brokers typically rely on a custom binary protocol and long-lived connections. However, many of today's developers prefer a more web-friendly HTTP API. They value the simplicity and transparency of the protocol, its firewall-friendly nature, and its huge ecosystem of tools, load balancers and proxies. In addition, cloud operators appreciate the scalability aspects of the REST architectural style.

Version 1.0 of the API has been stable for some time. We are working on a 1.1 version with minor changes to remove some of the rough edges in 1.0, and we welcome community feedback. Note that some proposals by the community, such as removing random access to individual messages by ID, will be taken care of in version 2.0 when we will have more freedom to make major changes.

Status

With the close of the Icehouse cycle, the program has achieved a number of important milestones:

  • Zaqar's first official, production-ready "1.0" release is now available for download. This first release includes a battle-tested MongoDB driver, and production-ready drivers for additional backends are in the works.
  • Zaqar's v1.0 API is stable and ready to code against.
  • Basic user and operator docs are now available, and we will be adding tons of new content during Juno.
  • A reference client library (written in Python) is now available on PyPI which supports the entire v1.0 API. Support for other languages is available through Rackspace-supported SDKs.


The program has attracted a growing community of contributors from all over the world. We are particularly proud of our interns:

  • 10+ organizations represented
  • 5 core reviewers
  • 6 interns for Juno (representing GSoC, GNOME OPW, Rackspace and Red Hat)

Resources

The Zaqar team hangs out in #openstack-zaqar on Freenode. Feel free to stop in anytime to chat with us; the crew is always happy to hear your ideas and answer questions. If you run into a bug, please report it using our issue tracker.

Docs

Releases

Talks

  • Alejandro Cabrera. Rackspace Atlanta. Introducing Openstack Marconi. July 17, 2013. Youtube Speaker Deck
  • Flavio Percoco. EuroPython 2013. Marconi: Queuing and Notification Service for Openstack. July 2, 2013. YouTube
  • Kurt Griffiths, Allan Metts. Openstack Summit April 2013. Project Overview: OpenStack Queuing and Notification Service ("Marconi"). April 2013. YouTube
  • Kurt Griffiths, Flavio Percoco, Allan Metts. Openstack Summit November 2013. Openstack Queuing and Notification Service. November 2013. YouTube
  • Yeela Kaplan. EuroPython 2014. OpenStack Queuing and Notification Service ("Marconi"). July 22, 2014. YouTube

Articles

Contributor Guide

Note: The Marconi team is reworking this section of the wiki with tons of updated content, so some pages are missing or incomplete at the moment. If you can't find the information you are looking for, please drop us a line in IRC (#openstack-marconi) and we'll be happy to help.

Getting Started

API Specs

Design

Quality Engineering

Resources

Community

Third party

Administrivia