I've been struggling for a while to get a handle on OpenStack. Since Rackspace, the company that initially pushed the idea, is based nearby, there's been quite a lot of noise about OpenStack locally. I've attended several talks on OpenStack, but unfortunately I still haven't really gotten the big picture.
As a developer, my first question is why I should care open OpenStack. I'm intrigued, for sure, and my background should leave no doubt that I'm a huge open source proponent. However, I don't ever expect to run my own cloud. As a developer, if I run on Amazon EC2, I see a set of Linux boxes (open source) and a public API I can use to manage my instances. Whether the cloud infrastructure is open source or not, doesn't seem to matter much. I should be able to spin up a Linux box on the Rackspace cloud just as easily and have nearly the same view of the world.
The management of instances seems to be the key difference. Services like Rightscale go a long way to bridging the gaps between the different cloud offerings, but I can certainly see how this would all be easier if the various cloud services had a common management API. Unfortunately, I don't see much talk about management APIs from OpenStack. Maybe I've missed it, or maybe it's just too early. It's not really clear. What exactly is the OpenStack view of management APIs?
More important than the infrastructure APIs is the platform service APIs. I'm a huge fan of S3 and SQS, for example, both of which are big reasons I go with EC2. Though technically both are quite accessible outside of EC2, I would only seriously consider moving if equivalent services were available, preferably ones with standard APIs that would give me true cloud service portability. OpenStack has the start of this with Swift, their version of S3. However, I'm still a little unclear on the big picture. Will OpenStack create a core platform of AWS-like cloud services based around standard APIs? Or, is the goal to create a linux-like environment for the creation of (hopefully compatible) platform packages that can be installed into an OpenStack cloud ad hoc? It seems to me like the later is closer to the approach, and although that's quite an interesting possibility, I'm not sure how OpenStack then will lead to a simpler, more standardized cloud than we have now.
I'm not down on OpenStack. I just don't really understand the project. As an app developer, I'm clearly not the primary audience of OpenStack, yet. However, cloud platforms exist to serve the developers, and if you are designing an open platform from the ground up, I would hope to have been able to get a little bit better of a perspective on what the world of an OpenStack cloud will look like to a developer.