November 28, 2009
"Cloud Computing" is supposedly the next big thing in computing. "Everybody is looking to develop a cloud strategy", blah, blah.
It's ninety-five percent hype. That's the nicest thing I have to say about it.
Don't get me wrong, there are things that the cloud is very good at. One is backup strategies - provided attention is paid to encryption, compression, bandwidth and ToS and provided it isn't your only backup strategy. Also, it is very good for peak scaling of compute needs, so that you don't need to expand your own infrastructure investment for peak loads. Again, you need to pay attention to security, load balancing, and what the cloud vendor will host.
But if you brag to me that your entire development, intranet and application service will be done "in the cloud", I will try to politely lie and deny any knowledge of the area, because you are an idiot to bet your entire business and intellectual property on someone else's hardware, network, security and terms of service, especially if you are only going with a single vendor. If they decide they are tired of the cloud, you are finished, in an instant if they decide to just turn it off, and with no recourse if the lawyers who wrote their ToS are any good. I could not in good conscience help you waste your investors money that way. If I'm not in a good mood, I'll laugh at you.
To me, cloud computing is a fancy name for hosting. You put data, applications or whatnot on some else's network and hardware, usually on virtual machines. You don't have to deal with the network configuration issues, but it's much like having a remote data center, just not as expensive. I can see why it is so attractive to the "something for nothing" beancounter types, who don't really get the real business risks.
Take Amazon's EC2 & S3 (part of their AWS group). Amazon is a big, stable and well established company. I know, I used to work for a subsidiary of theirs. EC2 lets you rent a virtual machine. This is great for expansion and service peak scaling. S3 is storage maintained by someone else. Very nice and stable. If I wanted to use either of these type of cloud services, I would go with AWS.
BUT, if they needed the hardware and network capacity to serve their core business of selling stuff, and couldn't bring additional capacity online any other way, guess who would get the short end of the stick? Yep, the cloud. They do their best to plan for both, but natural disasters happen, and data centers go down. So don't have your entire business in the damn cloud!
Then there are the cloud service startups. Maybe they would be one of several cloud vendors that I would work with, but not the only one. If their entire business model is selling an over-hyped service, stay away. They will be another dot bomb.
If you need remote network locations on the startup trail, find an ordinary hosting company that offers virtual machines. Find two of them, at separate data centers. Your terms of service may well be better than cloud services.
Have a server in your own shop that is running virtualization software, and have a person who knows how to work with it. Do your development builds on this machine. Keep all of your development in house, not in the cloud, or on the web. Yes, back up off site, but encrypt it, or take the physical media off site. Protect your intellectual property.
Essentially, you should focus on your business service/application, not the infrastructure by which it is delivered. If they say "We're developing for The Cloud", their emphasis is in the wrong place - the Cloud infrastructure. If they say "We're developing 3-D CAD for web users", you know their focus is on the CAD software and the web UI.
So, go ahead, hire me as a sysadmin. But don't ask me to set up an entire company in the cloud - I couldn't ethically do it. I won't help you load a gun against your own company.