[openstack-dev] Pecan Evaluation for Marconi
kurt.griffiths at rackspace.com
Wed Mar 19 02:18:10 UTC 2014
After reviewing the report below, I would recommend that Marconi continue using Falcon for the v1.1 API and then re-evaluate Pecan for v2.0 or possibly look at using swob.
I wanted to post my recommendation to the general list, because my request to continue using Falcon speaks to a broader issue. I think the community can agree that different projects have different needs. A good craftsman has more than one type of hammer in his toolbox.
Most of the OpenStack APIs to date have been control-plane APIs, not data plane. Swift is a notable exception. Falcon was created to address the needs of a high-traffic data-plane API, while Pecan’s history would suggest that it was conceived as a solution for building web apps and control plane APIs. Two major differentiators between these types of APIs:
1. Performance (i.e., latency, throughput, efficiency). With a data plane API, every ms counts, esp. when it comes to running a large cloud.
2. Diagnostics. When your service is piping a huge number of requests/sec, you become very susceptible to edge cases. Also, the amount of downtime your users will tolerate is quite low, since even a small hiccup means a whole lot of work can’t get done. Having a smaller code base, minimizing dependencies, and making the code that is there as straightforward, predictable and debuggable as possible becomes very important in situations like these.
Falcon and swob were created to address these needs, hence their use in data plane APIs.
I’d love to get everyone’s thoughts on the requirements of data plane APIs they have been involved with (not necessarily OpenStack projects).
From: Balaji Iyer <balaji.iyer at RACKSPACE.COM<mailto:balaji.iyer at RACKSPACE.COM>>
Reply-To: OpenStack Dev <openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>>
Date: Tuesday, March 18, 2014 at 11:55 AM
To: OpenStack Dev <openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>>
Subject: [openstack-dev] [Marconi] Pecan Evaluation for Marconi
I work for Rackspace and Im fairly new to Openstack Ecosystem. Recently, I came across an opportunity to evaluate Pecan for Marconi and produce a comprehensive report. I have not worked with Pecan or Falcon prior to this evaluation, and have no vested interest in these two frameworks.
Evaluating frameworks is not always easy, but I have strived to cover as many details as applicable. I have evaluated Pecan and Falcon only on how it fits Marconi and this should not be treated as a general evaluation for all products. It is always recommended to evaluate frameworks based on your product's requirements and its workload.
Benchmarking is not always easy, hence I have spent a good amount of time benchmarking these two frameworks using different tools and under different network and load conditions with Marconi. Some of the experiences I have mentioned in the report are very subjective and it narrates mine - you may have had a different experience with these frameworks, which is totally acceptable.
Full evaluation report is available here - https://wiki.openstack.org/wiki/Marconi/pecan-evaluation
Thought of sharing this with the community in the hope that someone may find this useful.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev