The word cloud used in the context of technology evokes a conflicted reaction from me. I am simultaneously both compelled and repelled by changes in the technology industry under the banner of ‘the cloud’.
It’s important to be clear about what I am discussing here. In its rawest definition cloud computing means technology delivered over the internet. Essentially the term cloud is used interchangeably where we might have once simply talked about internet or web based products.
Many vendors offer different types of cloud services under different umbrellas (most popularly Software as a Service, Platform as a Service and Infrastructure as a Service – SaaS, PaaS and IaaS). The vast majority of these services, are essentially software of one form or another, usually sold on a scalable pricing model – out with the software licence, in with the pay as you go business model.
The end goal of using cloud solutions is that every bit of technology used in an organisation is handled and exists remotely. That means you use virtual computers, virtual servers, and web applications for everything. It also should mean that all software you use is easily integrated through the vendors’ use of open standards which allows for easier sharing and use of information.
The cloud vision is one of a brave new world where things are available everywhere at any time, all through the internet. The ultimate message from some vendors is that software and its development is irrelevant to users, and all they need know is that they are using technology ‘in the cloud’.
Its a really nice picture to paint, and one that is causing a big growth in provision and use of cloud technologies. The discerning reader may feel that there is a ‘however’ hanging in the air. This ‘however’ is about the reality of what software is and how it has been developed and provided for decades (a long time in the IT industry). These business models and technologies are nothing new. Whether things exist on-site or remotely, and whether they are physical or virtual, the problem domain is the same. Remember those open standards I mentioned that helps this technology to be easily integrated? There may be no surprises that vendors in fact aren’t adhering to them. Web applications are, both visually and behind the scenes, not all that different to desktop applications – they still have to solve business problems and do all the same things they did before, they are just delivered in a more accessible and scalable way.
What about companies that are offering to take care of all your technology by ‘taking your organisation to the cloud’, removing the need for any involvement in software development entirely and the choice of software utilised? Well the problem is that you end up with very general all-purpose solutions which implement many features that different customers want, which others may not. There is good reason that a lot of business software is still designed and developed in consultation with an individual customer, because they have very specific needs. The more you clutter software up with irrelevant features, the harder it is to use and therefore the less marketable it becomes. What you end up if you try to do everthing for everyone is something that is paradoxically very general but complex. If you envisage how customers belong to different portions of a Venn diagram (think Google+ circles if you prefer), you start to realise that actually, you need the flexibility to accomodate the very varied target market. Or you need to provide a niche product which is of course what many software companies have done succesfully in the past. In my opinion this latter option is a much better way for cloud vendors to work.
My conclusion then is that the way forward for ‘the cloud’ is to stop thinking of it as a magical all encompassing environment for your technology. Instead I strongly believe there should be a varied vibrant market of ready made cloud solutions which aim to solve particular problems, and also businesses which offer a bespoke cloud solutions. Essentially I’m proposing a much simpler view of the cloud – take the software and IT industry as it currently exists and push as much as is beneficial out to the internet. But don’t try and reinvent what software and IT is, otherwise you risk throwing away every bit of it that has evolved thus far and needlessly introducing uneccesary change into customers’ businesses, which they could come to resent you for.