By definition, lock-in makes a customer dependent on a vendor for products and services, unable to use another vendor without substantial switching costs. That sounds scary.
Now let us take a step back and look at all the standards which were available in the traditional world to prevent lock-in. JEE specs sure have a lot of them and that ensures that you would be able to move from one JEE app server to another without hassles. Now just try to recall that since you have been developing software how many times did you have to switch from one app server to another? In my 15 years I have probably done it once. And let me tell you, that was not as smooth as it was promised it would be. We migrated from WebLogic 5.x to WebSphere 6.x and the migration was anything but smooth.
OK, and why do I talk about app servers here. Are we not talking about the cloud platforms lock-in? Sure we are. I am trying to draw an analogy that if at that time many enterprises did not have hard feelings to go with WebLogic even though they knew that getting to WebSphere tomorrow might not be easy inspite of the specifications, then why do we have a bigger concern now. We should also be pragmatic to consider that we might have to get around the lock-in issue in only in 1 of 1000 cases or even less.
Nevertheless, Let us consider some of the most prominent concerns that people have about lock-in and how you can mitigate them
- Lock in to the cloud vendor
- Fear of data lock-in
- Locked into a development environment
- Locked into a development language
- Log files locked in
If we consider these factors most people have the data lock in as the biggest concern followed by being locked in to a development environment.
Let us take the example of GAE for this discussion and remember all clouds are not the same. We would come to the discussion of choosing a cloud vendor wisely in a short while.
Google for one has a site called Data Liberation, which not only allows you to migrate out of any Google product but also shows you ways to move into the Google products. So you are done with the lock-in part of data. The development language supported for GAE is Java along with Python. So ideally, you are not locked to the development language. With regards to the datastore you have abstractions provided in terms of JDO and JPA. Hence, theoretically, you are not tied to the datastore directly. Further if you are fed up with GAE for some reason and want to move to the Amazon EC2 platform, there exists a prototype strategy of migrating from App Engine to EC2.
Also as we get to the future many vendors like RackSpace are already taking steps to eradicate the lock-in. As the market matures, lock-in should become even less of an issue with cloud solutions. More tools will become available to make it easier to move data to or from leading cloud providers. There would also be an evolution of standards, the first one being CDMI (Cloud Data Management Interface).
So, what is the key for choosing the right cloud platform.
- Cloud Platforms that have full, open APIs – Not all cloud vendors are created equal. Amazon, Google, salesforce.com have a broad, open set of APIs that more people in the cloud ecosystem are writing against than other market alternatives.
- Beware of proprietary APIs – The more proprietary APIs, protocols and languages you use, the less portable your code and data will ultimately be. Lock-in risk should be weighed against the productivity and time-to-market benefits enabled by these more tailored tools.
- Design Principles go a long way – Principles like SOLID, LoD, SOA etc help make your product more pluggable and better partitioned – resulting in something that can be moved or migrated more systematically. The cloud should only make this process easier.
As put by Steven Miller, Dean of the School of Information Systems at Singapore Management University
The issue of lock in is not unique to cloud computing . Some transactions would benefit from a long-term relationship while others do not. “You can easily switch between drycleaners week after week. On the other hand, you would value your relationship with a lawyer who has been engaged in a five-year negotiation project for you,” he explained. While governments and enterprises do not work with a single vendor, there are good reasons why they would establish partnerships with a few providers who have developed expertise and understanding of their business over time.
So do not be scared of moving to the cloud, there are enough benefits to outweigh the concerns. As Gartner predicted that 20% of businesses will own no IT assets by 2012. Would you be one of them?
Talk to us. firstname.lastname@example.org