Cloud is the future, serverless is the way to go

I’ve been hosting production workloads on Amazon Web Services for over 5 years now, and am also hosting production workloads on Azure and Google Cloud as well.

There seems to be a lot of enthusiasm for containerisation, and many are loving on kubernetes and docker. But this seems to merely be a cul de sac on the road to a serverless future.

There is a real opportunity to leap frog a generation of data centre and container technologies and deliver real value to the business. Many cite vendor lock in refutation of serverless. However, I have found the switching costs between cloud vendors to be minimal (but perhaps that depends upon the quality of one’s team?)

Of course, there are servers somewhere, but I no longer need to be concerned with them, they are always patched and available across multiple high availability zones. This means that I get to spend more of my budget on delivering value for the business rather than on ensuring we won’t get hacked because someone didn’t patch a server.

This serverless future must seem quite terrifying to the folks who have tended to the blinky lights on the machines all of their life. But if they do not embrace this future they will be displaced, because cloud is the future (unless, of course, there is some kind of global catastrophe – in which case we all have bigger problems).


Business in the Cloud

It is true that there is nothing new under the sun (Ecc 1:9) and for those of us old enough to remember computer bureaux the move the cloud computing is an amusing ‘back to the future’ moment. As Ambrose Bierce said: “There is nothing new under the sun but there are lots of old things we don’t know”.

Or rather lots of things that we’ve forgotten now, but which we used to know back in the days of mainframes and computer bureaux. And with cloud computing I’m not sure that the cloud is where we need it to be yet in terms of robustness, reliability and resilience.

However, all that aside, I think that cost constraints are going to force business into using cloud computing whether they like it or not; or even whether or not the cloud is ready for them.

Robin Bloor has written a good post on the The Death of the Data Center that discusses the economics of data centres and why they will move to the cloud quite quickly.

This means that businesses really need to understand what particular services and expertise they are buying when they buy into the cloud. Thus due diligence comes to the fore, as does understanding contractual terms. My big fear with this is that – just like the terrible early contracts for outsourcing – we are going to see some notable disasters with cloud computing agreements.

Another concern is the vendors of cloud computing.  Some of these companies will not clearly understand the scale that some of their larger corporate clients operate upon.  Back in the dot-com days one company I knew of accidentally sent a web hosting provider into bankruptcy.  This happened for various reasons, but chief among them was that the vendor did not understand just how big their new client really was AND because they did not know when to say ‘no’ to new business.  My concerns regarding the vendors are around robustness of their processes and their ability to service enterprise clients effectively.

The other key issues are governance and risk management. Our governance models will need to adapt to address boundary management issues, like who is responsible at what stage of a transaction processing. What will happen where some parts of the application or infrastructure are internally managed and some are in the cloud. What monitoring is in place and who is accountable for managing problems – is ITIL the answer? How we manage the risk around infrastructure that we share with other customers is another question.

These are very similar business-technology problems to those encountered with outsourcing, and it will be interesting to see if businesses are able to take the lessons learned from that and apply them successfully to cloud computing.

The real challenge is the complexity we will be adding to our IT infrastructure and applications.  We are moving into a period where an IT department might need to manage applications that are spread across internal, outsourced, cloud and many variants of these.  Have we got the skills in place to manage this increased operational complexity during a period of cost constraint?