An interesting discussion occurred on the CloudU LinkedIn group recently. It was started by an awesome post from James Urquhart admonishing people to accept the fact that Cloud is complex and to simply deal with it. The inimitable Sam Johnston posted an interesting response, the essence of which was that, while Cloud is undoubtedly complex, the great thing about third party cloud providers is that they conceal this complexity behind interfaces, as Sam says;
Cloud computing is, simply, the delivery of information technology as a service rather than a product, and like other utility services there is a clear demarcation point (the first socket for telephones, the meter for electricity and the user or machine interface for computing).
A ha, the old utility chestnut again. While it may seem like a purely semantic discussion, it is one that I believe is important for those of us in the industry who genuinely believe that Cloud can offer significant benefits to organizations. Too much time spent articulating the various complexities of the beast, and not enough time spent talking about benefits can simply muddle the water for folks and lead to a kind of analysis paralysis where organizations simple decide to keep the status quo.
Urquhart responded to the discussion by agreeing that users should be shielded from much of the complexity by strong automation but to accept that we live in a heterogeneous world and to start treating Cloud components as parts of a larger, more complex system. A point that is eminently valid but that misses what I believe is the opportunity as espoused by Peter Coffee;
If all you do is cloudify the complexity you have, you actually increase your complexity in return for only superficial economies of scale. In the long run, this does not win. If you start, instead, by ruthlessly pruning bad complexity out of the system… you’ll discover that you can now upgrade 3x/year instead of once every three years; that you can adapt capacity to workload on a feedback loop of hours or minutes, rather than weeks or months. This is not simple, but it is very good. Does total complexity go down? Unlikely. Does reducing complexity, per se, create value? No. Is there strategic value in taking merely distracting and costly complexity off the agenda? Believe it.
Or in other words, focus on the value, abstract as much complexity as possible and let IT (and the organization at large) focus on what really matters – achieving the best outcomes for the business as quickly as possible. Cloud done right should reduce the complexity that is visible to the end user, and in doing so allow them to drive real enhanced value to the organization.
So. Key takeaways for organization actually looking at the do-ing rather than just conceptual talk-ing: Yes, Cloud is part of a large and complex system with multiple moving parts that need to be bashed together. Yes we are still in the early days of the Cloud so the tools to ease that bashing together (standards, interoperability, clear APIs etc) are a little lacking. But on the flip side, we’re seeing more innovation and an incredibly high rate of change in Cloud than in other parts of the industry and Cloud is delivering real value right now. That value, alongside the clear indication that things are going to become more standard, less complex and, quite simply, better, gives us all a pretty clear message that Cloud is the way of the future. Complexity notwithstanding.
(Cross-posted @ The Diversity Blog - SaaS, Cloud & Business Strategy)
Agree with you that clouds are internally complex beasts. But externally, complexity, I think is in the eye of the beholder. For traditional enterprise IT as well as enterprise devs, the prospect of a non-HA environment can be seriously intimidating. Not to mention the scaling out vs. up difference. So taking an enterprise app and bolting it on to the cloud can make things look overly complex, because all of a sudden you have to [re]-design your app to gracefully handle failures [insert obligatory NetFlix blog here], worry about security issues and potential performance ungurantees caused by multi-tenancy. But if you are starting on a brand new app, consumer or otherwise, the cloud is a welcoming place where you end up building a simpler and resilient application with loosely coupled services that tolerates failures and scales beautifully.
2 cents,
@k0ws1k