Friday, January 4, 2013

Pick a cloud... any cloud

Lots of folks have advice for cloud projects. Some folks have offered a traditional bit of advice: "Pick a reliable vendor who will stay in the industry. You want a vendor for a long-term relationship."

Cloud offerings, even in early 2013, are diverse and unsettled. Cloud services and infrastructures are growing and being refined. New vendors are entering the market. (I just read about GE entering the cloud services market.)

Cloud technology, if I may use the phrase, is up in the air. It is changing, as I write this. There is no clear leader in the field. Different vendors offer different types of cloud services, some compatible and some not. The offerings of cloud services remind me of the days before the IBM PC, when many vendors offered different microcomputer systems (Apple, Radio Shack, Commodore, North Star, Sol, etc.).

The problem with picking a vendor that will stay in the field is that no one knows which vendors will stay, or which vendors will keep their technology. One can argue that Amazon.com is the market leader, and one might pick them in the belief that they will keep their lead. Or one could pick Microsoft and their Azure platform, in the belief that Microsoft will endure as a company. These are good guesses, but in the end they are guesses. There is no guarantee that these companies will remain in the cloud services market, or that they will keep their current set of offerings.


Here's my advice:

Become familiar with cloud technologies. You don't have to train all of your staff or convert all of your systems, but develop enough knowledge to evaluate the different platforms and their suitability to your business.

For an established company, develop some small projects with cloud technology. Instead of converting your major systems to cloud, convert some minor ones. (Or develop some new products.) Assign a portion of your staff to these pilot projects with the technology. (Or better yet, a few different technologies.)

For a start-up, the plan is different. Start-ups have no legacy systems, and no risk of offending existing customers. On the other hand, they have very few (possibly one) product. If you're developing your one and only application in the cloud, you want to get it right. My recommendation is to try a few cloud systems, commit to one, and develop with an eye to migrating to another system. Avoid getting locked in to a single vendor.

Actually, avoiding vendor lock-in is a good idea for anyone using cloud services, start-up or established. Building systems this way is difficult and more expensive. It is a hedge against the vendor going out of business (or out of the cloud business). As a hedge, it is an expense that must be evaluated carefully by the managers of the company.

But my big advice is to avoid picking the "winning" cloud services provider. The market is immature and too volatile. No standard has emerged, and any vendor can fail.

Cloud services use cheap, easily configured servers (usually virtualized, but that's not important here) that can be quickly replaced in real-time should any fail at any time. A little bit of that thinking applied to vendors (any can fail at any time) may be a good guide when designing a cloud-based system.

No comments: