Gartner’s Lydia Leong titled a recent blog post “The beginning of the end of cloud computing”. To clarify, I would state that we are at the end of an era of exploration and at the beginning of an era of adoption of cloud computing. What we have learned is that the most successful enterprise cloud initiatives are strongly influenced by developers and are not just an IT initiative. How do we build and provide the cloud environments that are agile and empower developers in this time of rapid innovation? To answer this question, consider “the cathedral and the bazaar” analogy that was used by Eric Raymond to describe how we engineer software.
Cathedral versus Bazaar Cloud Architecture
The cathedral architectural approach is more of a do-it-yourself (DIY) method, where one develops customized solutions. The bazaar architecture approach prefers turnkey solutions, leveraging standardized marketplace offerings. The cathedral approach is appealing because it can provide the best point-in-time solution. What’s the downside? While it meets short-term needs, customized solutions are harder to adapt to future needs. For example, some enterprises have assigned many of their top people to build a cloud. They now, however, face a new challenge. How do they maintain cloud “version 1.0” and also build “version 2.0”?
The bazaar approach is more future proof because it leverages standardized marketplace solutions. While this approach may not provide the best point-in-time solution, it can much more easily take advantage of future marketplace innovations. With today’s rapid pace of technological change, more and more enterprises are leveraging the bazaar approach for their next generation clouds. They are looking for the best open available standards like OpenStack and for vendors that provide the most turnkey and future-proof solutions.
Today – Cloud “Version 1.0”
By now, the average enterprise has some experience with cloud. Some have run pilots or even built the first versions of a private cloud service. In many cases, there at least are developers who have used their own credit cards to get compute from public clouds. These are the same type of developers who, a few years earlier, might have brought in their own computers to work because their personal computers were far more powerful than what their companies provided.
Enterprises have learned from their exploratory cloud projects. Some assigned many of their best and brightest to build cloud “version 1.0” and, while it was fun to build it once, they now struggle to maintain the first version while also trying to make the next version. Others built their first clouds with a build-it-and-they-will-come attitude only to learn it would take more to get developers to adopt it. In addition, there are those who are trying to figure out with what applications to put on their clouds. They might be looking at their existing applications and contrasting it with emerging application architecture models. Let’s face it. Most existing enterprise applications are not designed to be cloud-native like Netflix.
Getting to the Next Generation of Cloud
Progressive enterprises realize the value that developers have in taking their clouds to the next level. I recently spoke with a CIO who said his enterprise wants to change their application development paradigm and asked me to talk to one of their development teams. At another Fortune 100 company, an IT executive told me that they are going to transition to a sustaining operations mode for their highly virtualized VMware environment, which they just completed recently. Going forward, he wants to develop a new cloud environment that empowers developers and is working closely with his development counterparts to do so.
Enterprises looking at how to advance their cloud initiatives might consider conducting a maturity assessment – see an earlier blog post titled “How to assess the maturity and growth potential of an enterprise cloud”. Part of the process is interviewing the users, typically developers, to assess their experience using current cloud services. One valuable outcome is getting a refreshed perspective on existing and desired capabilities. For an enterprise where the original focus on cloud was IT, this type of cloud assessment can cultivate a more developer-focused vision. Other outcomes might include shifting focus from infrastructure management to developer needs. Developers do not want to worry about the operating system or infrastructure. They want well-defined interfaces and it is key to have consistent API standards, like OpenStack.