Monday, October 20, 2008

Three Rules Happy ...

When it comes to cloud computing, I have three basic rules of happiness. However, before we get to my rules, I have some absolute minimum requirements that any service must meet before I'd even consider it to be cloudy. These include :-

  • I have readable access to all my data, code, frameworks and meta data that may have been created as a result of me using the service. It's my data after all, not yours.
  • The service is appropriately secure, scalable & resilient and must be charged for on an "as use" basis. I certainly don't want to pay for something that I'm not using, which means I also don't want to pay for using my own machines.
  • The T&Cs should be clear and provide me with some guarantee that the service will not be terminated nor fundamental elements changed without reasonable notice and an alternative solution.
  • Pricing should be transparent, efficient and competitive.

Assuming the service meets my basic requirements, then I have three basic rules of happiness:-

Rule 1: I want to run the service on my own machine.
This enables me to trial out a service before even considering adopting a cloud version and gives me a last resort fall-back option. I certainly don't want to be in an environment where I can't do this for whatever reason, including vendor failure or discontinuation of a product.

Rule 2: I want to easily migrate the service from my machine to a cloud provider and vice versa with a few clicks of a button.
If the test went well then I'll probably consider dipping my toe in the water. Hence I want an easy to use transfer mechanism for my data (including any code or framework elements) from my machine to an external cloud provider and vice versa. I do not want to learn any specialised skills nor require any technical knowledge beyond pressing a button.

Rule 3: I want to easily migrate the service from one cloud provider to another with a few clicks of a button.
If I'm going to use a cloud service then I want a choice in providers and an easy mechanism of switching between alternatives. I do not want to discover that switching only covers half of the service and fails to cover other elements like the storage subsystem or a messaging service.

For these reasons, I'm not very happy with most of the current cloud offerings.