The open source cloud software has spawned a variety of perspectives on the best way to implement it.
The OpenStack Summit last week in Barcelona culminated with a new release of the cloud software, dubbed Newton. Although it appears to be a unified solution that everyone rallies around, the truth is more complex. During a keynote, participants of an interoperability challenge demonstrated that they can all run a common LAMP stack app. Participants included AT&T, Canonical, Cisco, DreamHost, Deutsche Telekom, Fujitsu, HPE, Huawei, IBM, Intel, Linaro, Mirantis, OSIC, OVH, Rackspace, Red Hat, SUSE and VMware. This looks like one happy family, right?
Well, if you look closer you'll find they have philosophical differences. These philosophies define how they develop and market OpenStack. Some vendors get so passionate about their approach that it’s almost like a political preference or a religious belief.
OpenStack APIs and plug-ins
OpenStack is really a set of APIs, derived from what project calls blueprints. Each OpenStack distribution implements the APIs differently. The open source community creates a reference, or default implementation called upstream, but vendors are free to create whatever they want as long as it conforms to the APIs. The software also supports plug-ins and drivers; for example, Neutron, the OpenStack networking system, has numerous implementations ranging from software-defined overlay networks to hardware-based systems from Arista, Brocade, Cisco and many others.
The variety of plug-ins is understandable since different hardware is often used. But the different philosophies about how OpenStack is best packaged is interesting. You can get an OpenStack distribution based entirely on open source, while others are based on a closed foundation.
A positive way to look at it is that it is democratic. In the U.S., as long as you respect the Constitution, the states are free to define their own form of government. So in this view, OpenStack provides choice. A less generous view is that this freedom can create a confusing array of options and may induce the “paradox of choice” dilemma.
OpenStack distributions are often based on GNU/Linux. Many developer and production deployments use the reference implementation. It is based on Ubuntu and is freely available but commercially supported by Canonical, Ubuntu’s creator. Other OS vendors such as Oracle, Red Hat or SUSE provide OpenStack distributions that requires the use of their commercial GNU/Linux or Solaris.
On the other end of the spectrum is VMware’s Integrated OpenStack, based on VMware technology. Since that differs from the common GNU/Linux based distributions, many OpenStack community members find that odd, but since it conforms to OpenStack APIs, the community accepts it in the same sense of the accepting a fellow U.S. state since it is part of the Union that respects the Constitution. Platform9’s SaaS based OpenStack also falls into this category.
OpenStack use cases and manageability
You'll find more philosophical differences on what OpenStack does. Some think of OpenStack as an AWS alternative for private clouds or service providers. Telco (NFV) use cases is becoming popular, and driving its own set of requirements.
Meanwhile, Mirantis, which has an OpenStack distribution, believes that OpenStack needs to provide public cloud features, but also with the operational agility that public cloud providers like AWS, Azure or Google Cloud enjoy. In Mirantis' view, the current OpenStack model is too monolithic to manage it easily, so unless operational problems are solved, end users’ cannot get all the benefits. To that end, Mirantis is working to deploy OpenStack in containers to improve its manageability.
Rackspace, one of the co-founders of OpenStack, shares a similar perspective. It has the same goal of efficient operations, but implements this philosophy through its managed services for a range of OpenStack distributions.
What's the right way?
OpenStack, with its all-embracing openness, seeks to placate the needs of enterprises, service providers and telcos, all with different needs. From each user’s perspective, some approaches make sense and others seems heretical. I don't think one approach represents the absolute truth, and the marketplace will vote with their feet.
It will take a while to sort out, and in the meanwhile, we may be bewildered by many choices. However, rather than criticizing it, enterprises need to understand their needs, and choose appropriate solutions. We don’t complain when we see a variety of cereal in a supermarket. As long as we know what we need, we make the right choices for ourselves.