[openstack-dev] [Swift] swift direction forward
me at not.mn
Mon Apr 29 21:20:20 UTC 2013
We've had a week since the summit to digest everything that happened in Portland, and I'd like to share some of the Swift goals for the next six months and ask for your help in making it happen.
First, thanks to everyone who was in the Swift sessions at the summit. We had packed rooms and great interest and feedback. You, the users and contributors, are the reason OpenStack is successful.
There three main areas of work that came out of the Portland summit: global clusters, better efficiency, and API development.
First, I'm excited to see the progress that has been made on global clsuters, and I'm looking forward to when the work will be completed. There are a few patches up for review right now, but, in general, the work left to be done is separating out replication traffic from client traffic and ensuring that writes have an affinity for the local region. We are very close to having this broad feature ready to go. Of course, we'll need help for you the community in testing and to ensure it meets the use cases for which it is designed.
Second, we spent a lot of time in Portland talking about how to make Swift more efficient (ie faster or less CPU usage) and how to measure that. Several benchmarking tools were discussed, both from the client perspective and from the drive perspective. Testing needs to continue to get a more complete picture of Swift's performance and to reveal areas of improvement. Overall, I was pleased with the results that were shown, especially in light of some of the improvements proposed. One area for improvement is to make the way Swift talks to the underlying storage volumes better. At least two proposals were made that will improve the IO throughput when talking to drives. If you are interested in solving these kinds of problems, come join us in #openstack-swift and let us know!
Third, we had some great discussions on the Swift API. We discussed things that need to be changed, and we discussed how to formalize some of the internal service communication (eg for adding pluggable parts to Swift). Work is progressing very well on abstracting the internal API, but we can use some help on the external API. The external Swift API is over 4 years old. I really like that it's very stable, but there are some things that would be nice to polish. However, before we can go about mucking with API changes, we need two things: an official Swift API spec and a way to properly version the API. I think there has already been work on API versioning in the OpenStack community at large, so I'd love to take advantage of that solved problem. For an official Swift API spec, we need to codify what the Swift API is (eg what middleware is part of the API?). Most of a spec can be derived from existing API docs, but I expect that this work will also reveal some doc shortcomings. Again, if you are interested in this area of Swift development, we'd welcome your contributions.
There are some blueprints in https://blueprints.launchpad.net/swift related to this work. If you're interested in working on these or something else, add a blueprint, target it for havana, and let us know what you're working on.
Thanks again to everyone for a great summit. I'm looking forward to where Swift is going.
As a reminder, our bi-weekly Swift meeting is on Wednesdays at 1900UTC in #openstack-meeting. Our next meeting is this week. See you there.
More information about the OpenStack-dev