People often point to the fact that much of the early adoption of OpenStack as being “only” for dev/test. That doesn’t mean it isn’t valuable, however.
As the CEO of Tesora, the leading contributor to the OpenStack Database-as-a-Service project Trove, I talk to a lot of analysts, prospects, investors and reporters about the state of OpenStack. In particular, I’m frequently asked about its maturity and the state of OpenStack adoption.
In response to this, I naturally point to some of the many large-scale, mission-critical deployments like Walmart’s global ecommerce, Comcast’s Xfinity X1 platform or — close to my heart as a Trove proponent — eBay’s use of OpenStack and Trove to support a number of their production web sites. I also point out, however, that the bulk of enterprises adopting OpenStack are currently rolling it out to support development and test use cases.
When I make this latter observation, the immediate reaction is often to dismiss this use of OpenStack as being a toy. I find this reaction extremely frustrating and very much off base. It diminishes the importance of development and testing in the enterprise, fails to recognize the value that a tool like OpenStack can deliver in these scenarios and ignores the typical technology adoption cycle present in most large enterprises.
Development is real work
If you believe that dev/test is “not real work,” you’re basically saying that developers don’t matter. Developers are some of the most valuable people in my organization. Considering the trends in IT hiring, it’s clear that I’m not the only one who feels this way. Making these developers more productive and giving them self-service access to machines, storage and other resources on-demand is a big benefit.
“Failing fast” means higher quality in less time
In the old days, software development was generally approached in a “waterfall” manner with lots of upfront planning, long release cycles and “big bang” releases. Now we are looking for ways to rapidly prototype, deliver functionality, iterate to refine and improve the functionality, and avoid spending too much time down a dead end path by “failing fast”.
The cloud is the native environment for this kind of agile approach. It allows developers to gain just-in-time access to the computing resources they need to implement their projects and, if the project is not trending towards success, return those resources to the pool for use by other projects. For example, a developer can experiment with a number of different database technologies through the use of a multi-database database-as-a-service (DBaaS) portal to determine which one is best suited for the task at hand. This way they can simultaneously increase the quality of the eventual deliverable and reduce the time it takes to deliver that result.
Testing at scale is hard
Just as developers have important jobs to do, so does the quality assurance team. The agility that the cloud provides is a huge boon to them as well. First, similar to the way that it impacts developers, the cloud provides QA staff with easy access to self-service resources making it simple to spin up one or two machine instances for testing specific configurations that are not available or needed on a regular basis.
Even more important, operating a private cloud means that testing can spin up lots of machines in a simple, automated way. In the past, testing at scale meant organizations needed to have large footprints of dedicated hardware configured to reflect large production deployments. Worse, because of the complexity and expense of setting up these scenarios, software would often not be tested under real world conditions until it was rolled out to users, leading to predictable failures in production. With an OpenStack cloud, these types of environments can be launched when needed to perform testing at scale with the click of a few buttons.
I’ll also give a nod to the public cloud on this one. There are a number of “testing-as-a-service” offerings in the public cloud like Applause, that are demonstrating how valuable on-demand testing at scale using cloud based resources can be.
Enterprises adopt new technologies in dev/test first
Earlier in the life of Tesora, before we found our way to OpenStack, I got some solid advice from one of our investors and advisors. In those days, the use cases we were targeting were largely production scenarios. Steve Herrod, former VMware CTO and now a partner at General Catalyst Venture Partners, told us this was crazy. Enterprises don’t adopt new technologies to underpin production systems and certainly not when these technologies come from startups.
Herrod had direct experience with this. Early adopters of VMware didn’t immediately put their production workloads on virtual machines. In fact, the early days of VMware’s success were all about supporting development and test. A post on the VMware blog a few years back mapped out how the public cloud adoption curve was tracking the adoption curve of virtualization. I believe we’re now seeing another case of history repeating itself as people embrace private and hybrid clouds.
OpenStack isn’t only about dev/test anyway
While companies are frequently adopting OpenStack to support their development and QA teams first, today there are also lots of companies that are using OpenStack-based clouds to support production workloads. In addition to the heavy hitters mentioned above, the list is a long one, including organizations like BMW, CERN, Comcast and BBVA.
Clearly we believe!
In 2013, we joined OpenStack to begin participating in the Trove project and the goal of bringing some of our innovations in DBaaS technology to this platform. We were immediately encouraged by the diversity and strength of the community, but the amount of growth and evolution of the community since that time has been even more exciting. This prompted us to bet the company on OpenStack Trove, we even changed our name to Tesora to signify this commitment in February 2014.
As the current number-one contributor to OpenStack Trove, we’re seeing a tremendous amount of interest from enterprises looking to launch databases service on their OpenStack-based private clouds. As they expand the types of applications that they can support on their clouds, self-service provisioning of databases becomes a key capability.
And yes, there is a lot of interest in supporting development and test-use cases — and there’s nothing wrong with that!