Posts archived in Cloud

(Originally Posted by me on AuTechHeads, April 27th, 2010, and preserved here)

Why Cloud Computing Services have huge stumbling blocks to their adoption for the projects I work on.

One of the projects I’m working on has a need to switch to an service bus / message queue system.

We’re after something that’s fairly light-weight. Ideally something we can package into our existing distribution and manage the configuration as part of our existing application’s configuration.
We also need some level of reliability – we’re not expecting clients to go yanking servers out of the rack, but if we send a message, we want to know that it’s going to be delivered.

A few people have suggested Cloud based queue systems as a potential solution. Amazon SQS, Azure AppFabric, and Linxter have all been mentioned a few times.

Unfortunately, no cloud solution is going to pass even a preliminary inspection.

When you use a cloud based architecture, you get to offload some of the responsibility of ensuring the solution is up and running. But at the same time you take a big dependency on the security and stability of not just that cloud provider’s infrastructure – but the entire route from your client to the provider.

If some script kiddie decides that today’s the day he’s going to packet Facebook, and your cloud provider happens to be on the wrong side of a congested router, well – your solution better work fine without it’s message queue.

Any time you add another provider, it complicates the solution. Even if the configuration of the service is as simple as adding a DLL, and two lines of code.

The complexity comes not from configuration files or deployment instructions – but in numerous other peripheral things. Just getting someone to hand over a corporate credit card to pay for the damn thing, even if it IS only pocket change is in and of itself a huge ordeal.  If it’s an ongoing cost, then it’s often nigh on impossible.
Lets not even get into the things you need to do to get firewall ports opened to be able to communicate out, the need for complying with the EU Data Protection Directive, or any concerns a client has about what data is passed over the internet.

Unless there’s a particularly good fit for a client, I doubt we’ll be looking much at cloud based services in the near future.