Currently there is a lot of talk justifiably about OpenStack because Enterprises, Telco Providers and SaaS vendors are all looking for an open source based Cloud OS stack alternative for their clouds. The early adopters in the hype cycle have already started deploying it, but the real question is whether OpenStack is ready for Enterprises to run their business critical applications on it. Before I answer this question, I will briefly describe what OpenStack is and will then give my opinion about OpenStack readiness.
OpenStack is a conglomeration of a number of distributed services like Compute (Nova), Network (Neutron), Storage (Cinder, Manila, Swift), GUI (Horizon), Monitoring (Ceilometer), Database (Trove) etc that together represent a Cloud OS. Companies such as HP, RedHat, Cisco, EMC, Mirantis are packaging these various services into distributions (similar to what RedHat does for Linux) and are providing support services. In some cases these companies are also providing their own public clouds that are based on OpenStack. For many of the current OpenStack services, the publically available code is not enterprise ready, and in these cases, vendors are augmenting the open source code with their own proprietary plugins. In essence, these companies are trying to become the private data center infra-structure provider of choice and are projecting themselves as the single neck to choke.
OpenStack definitely has momentum because of the amount of money big companies like Cisco, HP, EMC, Huawei and the Telco providers are ploughing into it. The attendance at the OpenStack conferences is steadily increasing every 6 months and a lot of new functionality is being delivered in each new OpenStack release (every 6 months). It is safe to say that currently OpenStack seems to be having more momentum than other open source based cloud stacks like CloudStack.
However, here are my thoughts on what needs to be done in order for OpenStack to really become main-stream:
- Too many Networking Initiatives: Currently, there are way too many networking initiatives like Neutron, OpenDaylight, ETSI-NFV, OP-NFV, ONF, and ONOS that at the end of the day are trying to provide a framework for SDN, NFV and Cloud OS networking. Some of these initiatives are being driven by networking vendors and others are being driven by Telco providers. Dust still has to settle with respect to which ones will gain traction. OpenStack networking community cannot do everything on its own, and they need to strategically adopt code bases/designs from these other standards groups.
- Too many disparate services: Linux was successful because Linus Torvalds ensured that there was a single cohesive vision for the Linux Kernel. Currently, in OpenStack, there are many developer cliques that are driving the different OpenStack components. Hence, currently there is a lack of a cohesive vision with respect to the development of the features for these various OpenStack services. At Google, Microsoft and Amazon, there is a single individual whose neck is on the line for providing a set of cohesive cloud services. Thus, there is a need for a benevolent dictator in the OpenStack community.
- AWS APIs Rule: Many graduating students are getting their training in building applications using the Amazon AWS APIs because many universities have started letting their undergraduate students do their projects on AWS due to agility and cost reasons. Since OpenStack is playing catchup with AWS, it is critical for OpenStack to mimic AWS APIs in order to make it easier for new graduating students to code to OpenStack APIs. So far Amazon has not started any litigation against OpenStack, and thus, copying AWS APIs is a positive strategy to pursue.
- Difficult to Deploy and maintain: Most of the enterprises that have successfully deployed OpenStack have either employed an army of consultants or are large government agencies with an army of internal hackers/developers. Furthermore, since the APIs/content is changing with every release of OpenStack, it requires expensive full-time technically savvy people to constantly maintain OpenStack deployments.
In conclusion, I want people to have an open source alternative in the Cloud OS space in order for people to have choice and also a vehicle to innovate. I want to see the OpenStack initiative succeed, and that is why I am highlighting the issues that I want to see get addressed.