[openstack-dev] [Zaqar] Zaqar graduation (round 2) [was: Comments on the concerns arose during the TC meeting]
Clint Byrum
clint at fewbar.com
Wed Sep 10 18:29:57 UTC 2014
Excerpts from Gordon Sim's message of 2014-09-10 06:18:52 -0700:
> On 09/10/2014 09:58 AM, Flavio Percoco wrote:
> > To clarify the doubts of what Zaqar is or it's not, let me quote what's
> > written in the project's overview section[0]:
> >
> > "Zaqar is a multi-tenant cloud messaging service for web developers.
>
> How are different tenants isolated from each other? Can different
> tenants access the same queue? If so, what does Zaqar do to prevent one
> tenant from negatively affecting the other? If not, how is communication
> with other tenants achieved.
>
> Most messaging systems allow authorisation to be used to restrict what a
> particular user can access and quotas to restrict their resource
> consumption. What does Zaqar do differently?
>
> > It
> > combines the ideas pioneered by Amazon's SQS product with additional
> > semantics to support event broadcasting.
> >
> > The service features a fully RESTful 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.
>
> I may be misunderstanding the last sentence, but I think *direct*
> integration of other OpenStack services with Zaqar would be a bad idea.
>
> Wouldn't this be better done through olso.messaging's notifications in
> some way? and/or through some standard protocol (and there's more than
> one to choose from)?
>
It's not direct, nobody is suggesting that.
What people are suggesting is that a user would be able to tell Nova
to put any messages that would want to deliver in a _user_ focused
queue/inbox.
This has nothing to do with oslo.messaging. Users don't want many options
for backends. They want a simple message passing interface so they don't
have to babysit one and choose one.
Certainly the "undercloud" Zaqar API could be based on the existing
oslo.messaging notifications. A simple daemon that sits between the oslo
notifications firehose and Zaqar's user queues would be quite efficient.
However, putting the whole burden of talking directly to a notification
bus on the users is unnecessarily complex... especially if they use Java
and have no idea what oslo is.
> Communicating through a specific, fixed messaging system, with its own
> unique protocol is actually a step backwards in my opinion, especially
> for things that you want to keep as loosely coupled as possible. This is
> exactly why various standard protocols emerged.
>
You're thinking like an operator. Think like an application developer.
They're asking you "how do I subscribe to notifications about _just my
instances_ from Nova?", not "how do I pump 40,000 messages per second
through a message bus that I fully control?"
More information about the OpenStack-dev
mailing list