← Back to team overview

nova team mailing list archive

Twisted or Eventlet?


Hi everyone,

During the design summit in Austin, there was some discussion about
switching Nova services from Tornado to Twisted or Eventlet. From
what I've seen that is still an open question, is that correct?

I ran some performance tests on the two and they are
about the same, but Eventlet did do slightly better (see
http://oddments.org/?p=494). So I think it comes down to available
features we need from a framework and ease of use. Swift is using
Eventlet, which may give a vote in that direction since that gives
us some Eventlet expertise already in the OpenStack ecosystem. For
web-based services it shouldn't matter too much since the WSGI
interface should be fairly interchangeable.

I'm leaning towards Eventlet since it provides a more straight forward
approach to programming, letting the coroutines and method wrappers
underneath take care of the non-blocking hooks. This will make it
easier for new developers jumping in to wrap their head around the
code, where Twisted has a bit more of a learning curve for those not
familiar with non-blocking/deferred techniques.



Follow ups