Improve developer guide introduction

This patch adds more content to the developer guide index page,
including an expanded description of the project, its key
features, and the project's scope.

In addition, existing content was reformatted and edited for
readability.

Change-Id: Ie7cde809b574e190674e446abd3f3f70d7084170
This commit is contained in:
kgriffs 2014-08-07 16:21:37 -05:00
parent da0f51a930
commit 7dfd85d4cf

View File

@ -11,26 +11,66 @@
License for the specific language governing permissions and limitations
under the License.
Welcome to Zaqar's documentation!
=================================
=============================================
Welcome to the Zaqar developer documentation!
=============================================
Zaqar is an OpenStack project to provide "Messaging as a service".
Zaqar is a multi-tenant cloud messaging and notification service for web
and mobile developers.
Zaqar, as with all OpenStack projects, is written with the following design
The service features a ReST API, which developers can use to send messages
between various components of their SaaS and mobile applications, by using a
variety of communication patterns. Underlying this 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
"over-cloud" layer.
.. note:: This documentation is generated by the Sphinx toolkit and lives in the Zaqar project source
tree. Additional draft and project documentation regarding Zaqar and other components of OpenStack can
be found on the `OpenStack Wiki`_, as well as in the user guides found on `docs.openstack.org`_.
.. _`OpenStack Wiki`: http://wiki.openstack.org
.. _`docs.openstack.org`: http://docs.openstack.org
Key features
============
Zaqar provides the following key features:
* HTTP-based messaging API
* Multi-tenant design based on Keystone project IDs
* Support for several common patterns including event broadcasting, task
distribution, and point-to-point messaging
* Component-based architecture with support for custom backends and
message filters
* Efficient reference implementation with an eye toward low latency and
high throughput (dependent on backend)
* Highly-available and horizontally scalable
Project scope
=============
The Zaqar API is data-oriented. That is, it does not provision message brokers
and expose those directly to clients. Instead, the API acts as a bridge
between the client and one or more backends. A provisioning service for
message brokers—however useful—serves a somewhat different market from what
Zaqar is targeting today. With that in mind, if users are interested in a
broker provisioning service, the community should consider starting a new
project to address that need.
Design principles
=================
Zaqar, as with all OpenStack projects, is designed with the following
guidelines in mind:
* **Component based architecture**: Quickly add new behaviors
* **Highly available**: Scale to very serious workloads
* **Fault tolerant**: Isolated processes avoid cascading failures
* **Recoverable**: Failures should be easy to diagnose, debug, and rectify
* **Open standards**: Be a reference implementation for a community-driven api
This documentation is generated by the Sphinx toolkit and lives in the source
tree. Additional draft and project documentation on Zaqar and other components of OpenStack can
be found on the `OpenStack wiki`_. Cloud administrators, refer to `docs.openstack.org`_.
.. _`OpenStack wiki`: http://wiki.openstack.org
.. _`docs.openstack.org`: http://docs.openstack.org
* **Component-based architecture.** Quickly add new behaviors
* **Highly available and scalable.** Scale to very serious workloads
* **Fault tolerant.** Isolated processes avoid cascading failures
* **Recoverable.** Failures should be easy to diagnose, debug, and rectify
* **Open standards.** Be a reference implementation for a community-driven
Concepts
========