Saturday, 1 November 2014

Cloud tie-in

In thinking about moving to the Cloud (I'm specifically talking about Paas and Iaas here) I've always had in the back of my mind that we should ensure that we weren't too tied down to a particular vendor (such as AWS or Azure).

Wouldn't it be great if you had your whole infrastructure defined in Puppet manifests and you could just pick it up and move it?

Why might this be useful?

  •     Move to whatever Cloud provider is the cheapest that month
  •     Move away from a provider if you are experiencing issues (outages, performance etc)
  •     Move to a provider that have introduced some sexy new features

I believe the reality is that whoever your first Cloud provider is then it's likely you are going to have to stick with them.  The reality is that the Cloud is basically just another data center (albeit a very big and clever one) and the challenges of moving between data centers remain.

If you have written automation scripts (which you should have) to operate in the Cloud (provisioning, monitoring, alerting etc) you have almost certainly hooked into that Cloud's API.  You will have probably created an eco-system around your Cloud provider.

Also bear in mind that although a Windows 2008 IaaS server might be the same thing between Azure and AWS that things like load balancers won't be.  You won't be able to export a Azure load balancer and import it into Azure.

Moving Cloud could therefore mean rewriting all of this (this is why Puppet & Chef need to up their game).

In addition, you have the more obvious considerations of how to move the mass of machines and data from one place to another.  How easy it to move Azure Blobs to Amazon Elastic Block Storage for example?  How do I prevent downtime?

I'm guessing it's not impossible to move from one Cloud provider to the next but it's certainly not trivial.

I love the idea of utility based computing (i.e. only paying for what you use and when you use it) and the commodisation of IT as a product (i.e. I don' really care about what is happening under the covers, I just press a button and get a server).

However, to be a true commodity Cloud needs to ultimately become more portable.

Competitors of your current Cloud provider will like this.  Your current provider won't.

Perhaps this is one of the reasons OpenStack was invented although I have concerns over it's long term viability.  OpenStack Cloud providers seems to bolt on additions to these standards to integrate it with their own systems or to create competitive advantage over another provider.  They have taken a standard and added to it - meaning it's no longer a standard.

OpenStack functionality vs. the might of an Azure or an AWS is also lacking.

Not that you would pick a Cloud provider on a whim, just be very careful to think about the wider implications of your selection criteria including an exit strategy.

No comments:

Post a Comment