The cloud is no longer a question of if, but of when. Many IT leaders, however, find that one consistent barrier to their adoption of the cloud is vendor lock-in. What do you do when you are forced to stay with a provider that no longer meets your needs?
But is cloud lock-in a problem?
While it appears that you are able to move your workload from one cloud to another without being penalised economically, (the utility billing methods of the major pay-as-you-go platforms like Amazon Web Services or Azure ensure that you would only pay for services used, rather than paying for provisioned resources that may or may not be used.), the reality is that it might not work if the exact services and resources that you are using aren’t available on the cloud you’re migrating to.
Hardware is commodity, and if Cloud Infrastructure as a Service (IaaS) is just about renting VMs by the hour, then Cloud IaaS has very little lock-in. But cloud lock-in occurs when you adopt services beyond basic IaaS. The major cloud vendors do not support value-added services the same way, and this is especially true for database services. AWS, Google, Microsoft Azure, Oracle and IBM have cloud database services that work differently and are proprietary in nature, in some cases with specific APIs and data models. This means that even an open source database, combined with all the cloud vendor’s behind the hood automation, may not easily be migrated to another service.
Data can be the most important asset to the organisation, and is critical to the success of cloud applications. It is also hard to move as it is stateful, meaning that the application keeps track of the state of the interaction with users and other systems. The more data a user has, the harder it is to move. Services and applications also tend to gravitate towards the data. For this reason, the cloud vendors will go to great lengths to run and manage your data. For instance, it is free, and relatively easy, to move any amount of data into an AWS EC2 instance, but you’ll have to pay to transfer data out of AWS. The database services on Amazon are only available on Amazon, so good luck if you want to migrate to a new cloud provider or use multiple hosting providers for your application. This puts you, as customer, in a weak negotiating position and locks you into your current cloud vendor.
So, AWS has RDS, Aurora and DynamoDB. Microsoft has Azure DocumentDB and Azure SQL Database. Google has Cloud BigTable, Cloud Datastore, and Cloud SQL.