diff --git a/doc/source/index.rst b/doc/source/index.rst index c10855648..42be67ac2 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -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 ========