[openstack-dev] Pecan vs Falcon?

Doug Hellmann doug.hellmann at dreamhost.com
Tue Apr 23 15:47:32 UTC 2013


On Tue, Apr 23, 2013 at 7:11 AM, Jay Pipes <jaypipes at gmail.com> wrote:

> This project (Falcon) is only about 4 months old. While it looks to be
> good solid code, it would be great if OpenStack projects could settle on
> a WSGI framework and everyone work towards the same end goal. By my
> count, to date OpenStack projects have used Bottle, Flask, Pecan, WSME,
> and custom-built frameworks.
>

FTR, WSME is just being used for (de)serialization, so it could
theoretically be used with any of those other frameworks that handle the
request dispatching.


>
> Why don't we get this into Oslo and at least make an attempt at driving
> the car in the same direction? If the performance benefits of Falcon are
> as advertised, I would think the OpenStack dev community would be eager
> to create a simple Oslo wrapper around the Falcon library and start to
> standardize on a single framework for WSGI handling.
>

Those benchmarks look a little shallow. How does performance compare when
dispatching to the number of routes in the example app? Does searching a
long list of regexes scale in the same way as object-dispatch models?

What about development effort? How easy is it to add a new endpoint, or set
of endpoints? It looks like Falcon is using regex based dispatching,
similar to Flask. The problem we found with that in ceilometer is you can
have "dead spots" in  your URL structure, where a URL is implied by a path
but doesn't actually have a handler registered. For example, the benchmark
app in the Falcon repo handles /hello/{account_id}/test, but does not say
what to do for /hello or /hello/{account_id}. That mistake would be more
obvious in an object-dispatch system.

The other aspect to consider is whether the framework includes the features
we need. Does it do content-type handling? Does it handle unicode in URLs
correctly? What about alternate message body encodings? How well does it
handle mal-formed requests? Can it handle streaming serialized data in a
response?

Correctly handling all of the WSGI spec while remaining interoperable with
other WSGI tools is fairly complex. WebOb has a *lot* of existing use and
testing. Are the request objects in Falcon as robust as WebOb?

The fact that we have several production-ready options for a framework,
Pecan or otherwise, make me wonder why we are spending time building
another one.

Doug


>
> Best,
> -jay
>
> On 04/23/2013 07:02 AM, Sandy Walsh wrote:
> > haha ... classic case of left hand not knowing what the right hand is
> doing.
> >
> > Thanks!
> >
> > -S
> > ________________________________________
> > From: Thierry Carrez [thierry at openstack.org]
> > Sent: Tuesday, April 23, 2013 6:20 AM
> > To: openstack-dev at lists.openstack.org
> > Subject: Re: [openstack-dev] Pecan vs Falcon?
> >
> > Sandy Walsh wrote:
> >> Anyone had any experience with this? Specs are impressive.
> >>
> >> http://falconframework.org/
> >
> > Given that it is developed by Kurt Griffiths @ Rackspace, and used in
> > Marconi, I'm pretty sure he has a strong opinion on it :)
> >
> > --
> > Thierry Carrez (ttx)
> > Release Manager, OpenStack
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130423/e274aece/attachment.html>


More information about the OpenStack-dev mailing list