Vendor lock-in red herrings

  |   Source

Ferry Boender thinks you shouldn't be using Google App Engine or Amazon S3, because of vendor lock-in. Here's why it doesn't matter: these services aren't about the API, for the most part, they're about the infrastructure. It's trivial to implement S3's API, probably not more than a few hours of work; heck, Apache with PUT support and a custom directory index is already 80% of the way there. Similarly, I understand that Google App Engine includes a test harness you can run your application on. However, for a real application, you need a scalable, robust, and highly-available implementation, and that's where the difficulty lies. The reason why you're "locked in" to S3 is because nobody else is offering such a service yet, not because of their API; porting your code to any comparable service would be trivial (if it's not trivial, then I doubt you can claim that it's a comparable service).

He also raises the issue of debugging: if someone else's service breaks, you have to wait for them to fix it instead of fixing it yourself; and that's a fair point. You have mostly the same with proprietary software components; if you don't have the source code, you probably need to wait for someone else to fix it, instead of being able to debug it yourself (although you do have some recourse in the form of system debuggers and disassemblers). However, the converse situation also exists: if you implement and run the service yourself, then when it breaks, you *have* to fix it. In other words, this isn't so much about debugging, as who can do a better job. Think you can do a better job than Amazon? Really? Then go ahead and reimplement S3 yourself; maybe you should even think about going into competition with them. For most people, however, this is not the case; I probably have the technical skills to implement such a service, but I certainly don't have the resources and infrastructure, and I want to get on with implementing my own application, so I'm happy to pay Amazon to do the work for me instead. By all accounts, they're doing a pretty good job overall; and of course, bear in mind that Amazon are running their own applications on that infrastructure too.

Finally, if you want better support than you get for free on the AWS forums etc., you can always pay for better support.

Comments powered by Disqus