Appfog Takes On Amazon Lock-In With OpenStack(gigaom.com) |
Appfog Takes On Amazon Lock-In With OpenStack(gigaom.com) |
That said, OpenStack itself is pretty awesome.
The rest of OpenStack is just cloning the administrativia, honestly. Only the most rigorously scaled AWS app, for instance (I'm thinking about things like Reddit here), is going to need the programmatic ability to spawn EC2 hosts, etc... At the startup scale, that's just bandwidth you'd be better off spending on your product's value, not cost savings.
So, I'm all in favor of OpenStack. But I don't think that cloning Amazon's API is going to win anyone any business. You have to beat them on price and quality. We'll see.
DynamoDB could be equated to Mongo or Redis, but it isn't either one of those exactly, so the switching cost is slightly higher than if it were.
SES is basically there to replace standard SMTP, but it isn't standard SMTP, so the switching cost just went up a little more.
Beanstalk is (as I understand it, could be way off here) similar to Glassfish or Weblogic (for Java), but again, isn't quite, so your switching costs go up again.
Etc., etc.
I don't necessarily disagree that lockin doesn't just happen, you get there by choosing to leverage non-standard components, vs. standing up another instance and running Mongo or SMTP, etc., but it's hard to make the decision not to leverage those things when they're there, available, and look and feel similar to the tools you need, but aren't.
I think the phrase lock-in should apply only when a vendor makes it purposefully difficult to get your data out of their system only so you keep paying them, not when you freely opt-in to their service since it is the best choice for you at the time.
Think of beanstalk, think of the dependence on proprietary queuing systems. The more services you use, the more locked-in and the harder it is to decouple your systems from AWS.
The lock-in is not visible if you think of AWS as EC2, the lock-in is how hard it is to build your apps dependent on all the AWS services and try to move anywhere else.
The one big app I have on EC2 isn't 'locked in' to Oracle because we're using Django + Oracle, though in testing it out, there is a non-zero effort to migrate to another database.
That said, you're not entirely wrong either, which is why such abstraction layers exist, and even despite how good many of them are, migrations are still non-trivial.
They're on AWS because they like it, not because they're locked in.