The cloud is not a place
At a local meetup last week, Steven Bryen of Amazon gave a summary of the recent changes to the AWS cloud platform. This was a very useful reminder of what public cloud platforms offer us.
Five or ten years ago, discussion about whether to move IT to the cloud was primarily about location – whether it is worth running your own data centres when commercial companies can run them more efficiently. These days, “the cloud” is an operating model, not a place. Cloud is a way of writing and deploying applications so that they can be dynamically deployed to meet changing demand, can access a range of libraries such as image or text recognition (sometimes using specialised hardware), can be upgraded without downtime, and similar beneficial characteristics.
I’m reminded of when I worked on grid computing, back in the 2000’s. Back then, some people talked about the idea of utility computing, presenting a future in which you could plug a local PC into computing capacity provided as a utility, in much the same way you can plug a device into the power grid without needing your own generator. With public cloud computing, that future arrived a few years ago.
What doesn’t work is to simply move your existing applications onto a public cloud platform without modifying them. (This is a process sometimes called “lift and shift”). Industry experts advise us that companies who have done this have experienced several problems, which can include increased costs and reduced performance from the network, or reduced resilience because cloud platforms implement resilience in a new way. Sometimes, users have had to pay substantial amounts to retrieve their own data.
The challenge for us is two-fold. On the infrastructure level, we will most likely follow a hybrid approach, providing a cloud platform that can use both in-house and public cloud infrastructure. As a research university, we have an ongoing need for on-site infrastructure, and with the data centres already in place, we can run a cloud platform on-site at reasonable cost, while using public cloud provision to scale up and to provide resilience.
On the applications level, we need to write (or re-write) our applications to take advantage of cloud computing platforms, wherever they may be, and to support our staff development where necessary so that we have the knowledge and skills to develop and manage applications in the new world.
We are a little behind the curve and we need to catch up. On the positive side, we can learn from other people’s experiences and avoid making the same mistakes.