Cloud is Simple. Well, It’s Real Complex but that Complexity Can, and Should, be Hidden from Users.

CloudU Notebooks is a weekly blog series that explores topics from the CloudU certificate program in bite sized chunks, written by me, Ben Kepes, curator of CloudU.  How-to’s, interviews with industry giants, and the occasional opinion piece are what you can expect to find.  If that’s your cup of tea, you can subscribe here.

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.

Enhanced by Zemanta


  1. Ben,

    None of what you say counters my key point: trying to control the system is a fools game. You can control the components (and make it *extremely simple* to do so, but the best you can do is measure the system as a whole and react to it over time.

    Yes, you can remove complexity from the components you control. Yes, you can reduce your operational burden by refactoring. But I would argue ol’ Jevon’s Paradox will come along and introduce new needs as you go. Of course, that means new value, as well, which is why that’s a very desirable outcome.


  2. This just adds to my notion, that it all is still key that development and the culture of a company works toward simplification of things. The cloud doesn’t matter if the company can’t get the right team and culture together to use it right. If that is achieved, then the cloud is the greatest enabler since the computer itself.

    But I digress… I really need to write up and article describing in further detail the whole dichotomy.

  3. In some cases, overall complexity is reduced by moving to public cloud solutions. Take the example of maintaining and supporting a dozen on-premise apps, maybe on different platforms, maybe using a common database. In this scenario, if there is complexity in both supporting the apps and integrating the data and business processes.

    Let’s say that you start migrating these apps to a common public cloud platform. At a minimum you remove the complexity of managing the hardware and software of their previous on-premise incarnations. But the real value and reduction in complexity comes as you move more and more of those legacy apps onto a common cloud platform because you can also then remove most if not all of the integration complexity you used to have to build and maintain.

    For companies who have decided to not just dip their toes into the cloud, but jump head-first all in, they are absolutely seeing a reduction in technical complexity and are able to refocus their efforts on making the best applications possible instead of maintaining the status quo.


Please enter your comment!
Please enter your name here