OpenStack Cinder and Software-Defined Storage (SDS)
So a week after the OpenStack Summit in Atlanta kicked off I’ve had some time to digest all I saw and heard. Having had the chance to present with John Griffith, the PTL of Cinder, was an amazing experience. John recently published a blog on his thoughts on Software-Defined Storage (SDS) and Cinder http://griffithscorner.wordpress.com/2014/05/16/the-problem-with-sds-under-cinder/
This is a great article and one of the reasons that I’ve been so attracted to OpenStack is the diversity of opinions that drive the projects. I do however disagree with his thoughts on using SDS with Cinder. Let me give you some background.
I’ll start by saying that within the walls of EMC I have no hand in what drives our strategy or when/where we develop and contribute. What I have been doing within OCTO is taking the work of the different BU’s into the lab, looking at how all the piece parts work together, and feed back my thoughts to the PM’s. What I’ve seen is that as a whole we have been developing and maintaining drivers/plugins that we work towards getting into trunk. I agree with John in that this is what vendors should be doing. The table below shows what we are working on at EMC.
Where I disagree with John is that SDS has no place within Cinder. Particularly I disagree with his reasoning that SDS will allow vendors to short cut developing multiple drivers. I can’t see EMC, NetApp or HDS doing this. All vendors want to give their customers choice. More importantly, at least within EMC, each product group is responsible for their product having options for implementation in multiple environments. VNX isn’t going to stop developing its direct Cinder driver just because ViPR has gotten its driver into trunk. This is a personal opinion, but I just can’t see EMC CEO David Goulden telling the VMAX group to stop developing their Cinder driver just so EMC only has to develop and maintain one driver for OpenStack.
More importantly I disagree with John on the use of SDS with Cinder because of my experience working directly with customers. When building a OpenStack environment, as a storage administrator, having a central control plane for all my Cinder needs, commodity or enterprise, while also being able to offer Object services just makes everything easy peasy. I know it may sound disingenuous as an employee of EMC, but the use case for ViPR with OpenStack is my favorite. I also think that the community has validated this by their love of Ceph which had a Cinder driver integrated in the Folsom release.
Obviously in an open project you are going to conflict with vendors who each may have their own agenda or ideas on architecture and direction I just don’t think that we should assume that vendors have evil intentions or that their contributions to the community don’t help drive OpenStack adoption. As John stated during the Storage Experts panel, one of the best ways to advance OpenStack is to get more customers using it through different modes – some from trunk and some from vendor-specific contributions.
Great stuff Jim, and by the way it was great meeting and presenting with you as well. Just a couple of comments (of course :0 ). The point I was trying to make is that Cinder is intended to be the Control Plane, adding another Control Plane abstraction under it doesn't really make it "better" in any way that I can see.
Your point about aggregating Control Planes across Block, Object and File is a completely different deal IMO. Cool idea, but aren't you just moving the admin tasks around? I mean none of this is magic. One final point, Ceph doesn't do this, they have a fairly standard Block driver in Cinder, different entry points for their other protocols; regardless they have a Ceph Driver that talks Ceph, not a Uber-Driver that talks to a plethora of other drivers.
To be clear, I DO think that differing opinions and discussions on this topic are healthy and good for everybody concerned including the end-user. Who knows, maybe you'll change my opinion (maybe).
Posted by: John Griffith | 05/21/2014 at 03:02 PM
LOL, Im doing my best to change your mind :)
My main point would be in a cloud scale environment, for a storage admin, having a central control plane to manage the back-end before handing it off to cinder does make life easier, especially in cloud scale type of environments particularly if you are using multiple types of storage on the back end. Untimely Cinder, IMHO, is a cloud admin tool to obtain storage resources. Having a storage admin tool to centralize management of storage offered to the cloud admin is what is key in my mind.
Posted by: James | 05/22/2014 at 12:37 PM
"OpenStack Cinder and Software-Defined Storage (SDS)"Great stuff Jim, and by the way it was great meeting and presenting with you as well. I have a site of MSDS To take free sheets use the totally nice msds online search. Programmed by us to find msds online as well as sds sheets to download. Please search best Online MSDS Database and Trained Online MSDS Search Engine. for more please follow the link http://msdsdigital.com/find-msds-sheets-use-totally-awesome-msds-online-search
Posted by: MomotajKhatun | 08/03/2014 at 05:11 AM