<html><body><span style="font-family:Verdana; color:#000000; font-size:10pt;"><ul><li>On the topic of a REST API for the queue, I think implementing the CDMI queue APIs might be a good choice.</li><li>The spec is at <a href="http://www.snia.org/tech_activities/publicreview/CDMI_Spec_v1.01f_DRAFT.pdf">http://www.snia.org/tech_activities/publicreview/CDMI_Spec_v1.01f_DRAFT.pdf</a>. There are a few other things, but focus on Section 11 P.104, Queue Object Resources. <br></li><li>BTW, <cdmi-queue> is also an approved media-type [<a href="http://www.iana.org/assignments/media-types/application/index.html">http://www.iana.org/assignments/media-types/application/index.html</a>]</li><li>Would be happy to implement the CDMI REST interface, if all think this is a good idea</li><li>And on the topic of Erlang, it is viable. I have done some work with it. If we also use WebMachine, REST interface would be easier.</li></ul><div>Cheers</div><div><k/><br></div>
<blockquote id="replyBlockquote" webmail="1" style="border-left: 2px solid blue; margin-left: 8px; padding-left: 8px; font-size: 10pt; color: black; font-family: verdana;">
<div id="wmQuoteWrapper">
-------- Original Message --------<br>
Subject: Re: [Openstack] Queue Service, next steps<br>
From: Daniel Salinas <<a href="mailto:imsplitbit@gmail.com">imsplitbit@gmail.com</a>><br>
Date: Fri, February 18, 2011 8:20 am<br>
To: "<a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>" <<a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>><br>
<br>
I would totally be interested in an Erlang bootstrap. In SAT.  Lets see if<br>
we can get a group together.<br>
<br>
On 2/18/11 4:03 AM, "Curtis Carter" <<a href="http://curtis.carter@rackspace.com&gt">curtis.carter@rackspace.com&gt</a>; wrote:<br>
<br>
>I'm in if it's done in Erlang.<br>
>I am willing to give talks or help anyone wanting to learn Erlang in the<br>
>Austin/San Antonio area as well.<br>
><br>
>On Feb 18, 2011, at 12:11 AM, Eric Day wrote:<br>
><br>
>> Duck farm? :)<br>
>> <br>
>> Are you two concerned about building a developer community around a<br>
>> project in Erlang? I'm all for going that route if other folks are<br>
>> comfortable with it.<br>
>> <br>
>> I also have some concern around the speed of Erlang. It's great,<br>
>> especially if you know what primitives can be expensive and how to<br>
>> tame beam, but it will always be slower (sometimes significantly)<br>
>> that C/C++ for some tasks.<br>
>> <br>
>> -Eric<br>
>> <br>
>> On Thu, Feb 17, 2011 at 03:26:09PM -0800, Joshua McKenty wrote:<br>
>>>   +1 for Erlang, as long as we have a duck farm.<br>
>>> <br>
>>>   On Thu, Feb 17, 2011 at 2:25 PM, Devin Carlen<br>
>>><<a href="http://devin.carlen@gmail.com&gt">devin.carlen@gmail.com&gt</a>;<br>
>>>   wrote:<br>
>>> <br>
>>>     I'll put in a +1 for Erlang as an OpenStack supported platform.<br>
>>>We'd be<br>
>>>     able to write a stable queue with a much more concise code base,<br>
>>>and<br>
>>>     this is project would be a great fit for Erlang.<br>
>>>     Devin<br>
>>>     On Feb 17, 2011, at 2:21 PM, Eric Day wrote:<br>
>>> <br>
>>>> Thanks to everyone who gave great feedback on the first queue service<br>
>>>> thread. I've updated the wiki page to include the suggestions.<br>
>>>> <br>
>>>> <a href="http://wiki.openstack.org/QueueService">http://wiki.openstack.org/QueueService</a><br>
>>>> <br>
>>>> With a decent vision of what we want to build, the next step is<br>
>>>> figuring out how. In a previous thread it was suggested that the<br>
>>>> preferred languages for OpenStack projects are Python, C, and<br>
>>>> C++. Since there is an emphasis on speed and efficiency for the<br>
>>>> queue service, I suggest we use C++. I expect this service to be<br>
>>>> CPU bound and would benefit being able to leverage multiple cores<br>
>>>> efficiently (within the same process), so I don't think Python<br>
>>>> is a good fit. I think C++ is a better fit than C due to the need<br>
>>>> for modular interfaces. While this can obviously be done in C, C++<br>
>>>> APIs are more concise and much less error prone. The OO style will<br>
>>>> also make it easier for Python developers who also want to learn and<br>
>>>> assist with C++ projects.<br>
>>>> <br>
>>>> Erlang is not on the preferred lists, but I would also put it out<br>
>>>> there as an option. While it may be a great fit for a project like<br>
>>>> this, I worry it won't attract the developer resources since Erlang<br>
>>>> isn't really a first-class language yet.<br>
>>>> <br>
>>>> If we decide to take the C++ path, I propose using a modular<br>
>>>> application framework I've been working on over the past year (mostly<br>
>>>> in my spare time). It provides a simple module programming interface<br>
>>>> with dependency tracking (kind of like Linux kernel modules). It<br>
>>>> already provides a multi-threaded event module (currently based on<br>
>>>> libevent, but this is pluggable) with simple networking abstractions<br>
>>>> built on top of it. We should be able to dive in an start writing the<br>
>>>> HTTP protocol module and queue processing modules. You can check out<br>
>>>> the current project at:<br>
>>>> <br>
>>>> <a href="https://launchpad.net/scalestack">https://launchpad.net/scalestack</a><br>
>>>> <a href="http://scalestack.org">http://scalestack.org</a>/<br>
>>>> <br>
>>>> The intention of using a framework like this is so we can easily reuse<br>
>>>> the other modules (auth, HTTP, logging, ...) for other OpenStack<br>
>>>> services in the future. Much like we use Eventlet, WSGI, etc. (and<br>
>>>> eventually openstack-common) for Python, we could prefer using the<br>
>>>> modules in Scale Stack for lower level projects.<br>
>>>> <br>
>>>> Thoughts?<br>
>>>> -Eric<br>
>>>> <br>
>>>> _______________________________________________<br>
>>>> Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>>>> Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
>>>> Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>>>> More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
>>> <br>
>>>     _______________________________________________<br>
>>>     Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>>>     Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
>>>     Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>>>     More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
>> <br>
>> _______________________________________________<br>
>> Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>> Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
>> Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>> More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
><br>
><br>
><br>
>Confidentiality Notice: This e-mail message (including any attached or<br>
>embedded documents) is intended for the exclusive and confidential use of<br>
>the<br>
>individual or entity to which this message is addressed, and unless<br>
>otherwise<br>
>expressly indicated, is confidential and privileged information of<br>
>Rackspace.<br>
>Any dissemination, distribution or copying of the enclosed material is<br>
>prohibited.<br>
>If you receive this transmission in error, please notify us immediately<br>
>by e-mail<br>
>at <a href="mailto:abuse@rackspace.com">abuse@rackspace.com</a>, and delete the original message.<br>
>Your cooperation is appreciated.<br>
><br>
><br>
>_______________________________________________<br>
>Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
>Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
>More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
<br>
<br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>

</div>
</blockquote></span></body></html>