Complexity is the bane of IT infrastructure. It doesn’t matter if it’s on the physical plane, the virtual or in the cloud – complexity leads to higher costs, frustrated staffers and diminished performance.

An open source project on the order of OpenStack is, by nature, highly complex, so it is only natural that those responsible for guiding its development would place unnecessary complexity at the top of the “Things to Avoid” list.

But no matter how hard we try, the sheer number of projects, contributions and updates to OpenStack all but guarantees that the enterprise will need a pretty savvy team of coders if it hopes to enjoy the benefits of non-proprietary cloud infrastructure.

OpenStack Foundation board member Rob Hirschfeld has noticed a distinct uptick in the number of IT experts looking to quantify the cost of complexity in the cloud, with much of the talk centering on costs per VM per hour. This is understandable because it is difficult for those with no experience to fully appreciate the operational complexity of an entirely new computing paradigm. The danger is that as experience grows many organizations will come to rue their private clouds (both open and proprietary) because the expected benefits either do not materialize or are diminished by unanticipated operational challenges.

As with any open source project, however, simplifying OpenStack will be particularly challenging because it invariably requires instituting greater control over user contributions, which in turn diminishes the very flexibility that makes the platform such an enticing option in the first place. But there is a way to get the best of both worlds, says Rackspace’s Van Lindberg. First, to make OpenStack easier to adopt, the community needs to take a renewed look at core functions. Secondly, there should be a concerted effort to improve integration, upgrades, scalability and manageability, plus reduce many of the cross-project dependencies that have taken root. And finally, the user experience needs to be simplified, but at the same time improved.

Saying OpenStack needs to be better, cheaper and easier to use is like saying all people should be happy, healthy and content, however. The danger is that the more the community attempts to optimize the platform, the greater the chance that new complexity will be introduced, says Crisp Research analyst Rene Buest. This is particularly likely as organizations attempt to customize their own deployment without realizing that the changes they implement could very well produce incompatibilities with OpenStack deployments elsewhere. If the goal of the private cloud is to ultimately support hybrid infrastructure, this could be a particularly nettlesome aspect of OpenStack deployment in the enterprise.

The development of the full production-ready cloud stack is still in its early stages, so no one – not the open source providers nor the proprietary platforms – have cornered the market on simplicity and ease of operations. But the commercial vendor community has a vested, financial interest in making sure their products are as easy to use and simple to deploy as possible. Ideally, open source communities should be driven by the same lofty goals, but in reality they are often beset by competing parochial concerns that tend to dilute performance and lead to user frustration. If OpenStack hopes to break this pattern, it should commit itself to fighting complexity in all future upgrades.