I’m watching the rise of the cloud with some disappointment. It was inevitable but still I hoped that we would take a more pragmatic approach to defining the cloud. The term cloud is being bounded around by almost all vendors, analysts and many technologists, but following the forums and blogs it’s clear we have very different views what the cloud means. I do find it amazing that so many companies are anchoring themselves to a concept so indefinable. This reminds me of how we all jumped on the SOA bandwagon earlier in the decade and I fear we’re going to make the same mistakes.
Like SOA, the concept of “cloud” is built upon a set of interesting ideas and principles that make a lot of sense. The underpinnings of SOA state that we should architect systems in terms of services to enable reuse, promote decoupling and enable systems to be agile enough to respond to the ever-changing needs of the business. At its simplest form, the cloud focuses on the way we deploy software and handle the need of on-demand scalability.
As we have seen with the SOA is Dead rejoicing, good principles can be vastly overshadowed by hype, leaving early adopters disillusioned. I blame this hype pattern on the vendors making wild promises about their technology (there is no silver bullet. Ever.) And to some degree the analysts who need to look into the future and set benchmarks that vendors feel compelled to reach. This doesn’t mean all vendors and analysts are evil, just that they help create market forces bigger than themselves, which vendors cannot resist in a competitive climate (case in point, listen to Larry Ellison: What the Hell is Cloud Computing?).
I am not in the “fuck the cloud” camp, but I do think they naysayers raise relevant arguments that cannot be ignored. We’re going to see an absolute mass of cloud “offerings” of all types of in the coming year with every vendor and his fluffy friend jumping on the hype wagon. Before talking about technical solutions, security and vendors I would urge consumers to consider the following questions:
- What are your expectations of cloud computing?
- What the key drivers are for considering a cloud solution in your organisation?
- What is the business value you hope to achieve and how will you measure it?
- What is the total cost? (Cloud is usually not cheaper, but sometimes easier to build out scalable infrastructure)
- How will a shift to the cloud affect your users, operational staff and developers?
- How will you manage the change so those affected feel empowered and see real value? (Change is always resisted, but will be accepted if value is demonstrated)
- How will it affect your existing infrastructure? How will you partition and manage it?
I am a huge advocate of taking a pragmatic approach to technology adoption. To me this means starting small and building on a proven track record. It’s good to have a long-term strategy, but break that strategy up into small manageable units of work that build on top of each other to enforce the value of the strategy. In the current economic climate we are already seeing customers doing this naturally. Big Bang projects are so 1999.