By now you’ve been deluged by advertising extolling the benefits of cloud computing: use only what you need, scale up or scale down and take advantage of widely, someday geographically, distributed computers and networks.
However, two simple facts often get swept under the rug:
1) Most cloud providers are trying to lock you in to their stack of application and data providers.
Amazon provides an application stack (EC2 and more) and data stack (S3, SimpleDB, etc.) that isn’t compatible with Microsoft’s application stack (.NET w/ Azure) and data stack (SQL Azure, etc.), and neither are compatible with other clouds such as those from IBM, Google and others.
When you develop an application for a specific stack of cloud application and cloud data storage infrastructure, you tie yourself to the viability and good behavior (pricing, availability, etc.) of that specific, nonportable technology.
2) When you scale up/down you do so at the prices your cloud provider sets.
Unless you are a high-usage customer of a particular vendor’s cloud services you will have little ability to negotiate a price with your cloud. Even if you are a high-usage customer, your leverage to negotiate will be significantly reduced by the fact that you will be heavily dependent on (locked in by) the application and data stack of you cloud provider.
Developing Cloud Portable Applications
Make no mistake: cloud computing IS an important movement and companies and developers need to start taking advantage of it NOW. However, there are technologies and architectures you can use to protect yourself from cloud lock-in. By developing on cross-platform, cloud-ready technologies like Cassandra, Nginx and lighttp rather than the proprietary technologies offered directly by cloud vendors, you gain the ability to:
1) pick up and move your critical applications if you current cloud provider fails to meet its service level agreement (SLA)
2) shop around for price and put pressure on your cloud provider to give you discounts on your hosted services
3) host simultaneously on multiple clouds or your own equipment for the exactly the right combination of worldwide availability and price for your enterprise
DivConq Provides A Bridge to Cloud Portability
In our founding post, we dedicated ourselves to technology discussions that involved “highly distributed, heterogeneous systems”. If you solve that challenge, and two or more of your systems are clouds, you’ve effectively solved cloud portability. Please stay tuned as we continue to explore and explain the generation of technology that will bridge the cloud portability gap.