Today Google announced that a number of its APIs are to be withdrawn:
- These APIs are now deprecated but have no scheduled shutdown date: Code Search API, Diacritize API, Feedburner APIs, Finance API, Power Meter API, Sidewiki API, Wave API
This highlights an issue with platform as a service (PaaS). If you build an app on a set of cloud services provided by a third-party, there is a risk that those services will change or disappear so that your app no longer works.
Many of Google’s APIs are free, or free for all but the heaviest users, so you can argue that you get what you pay for. Developers are particularly frustrated by the disappearance of the Translate API, where Google says:
Due to the substantial economic burden caused by extensive abuse, the number of requests you may make per day will be limited and the API will be shut off completely on December 1, 2011.
Poor old Google with its “substantial economic burden”. Oddly though, some developers are willing to pay, but this is not going to be an option:
It would be much better if Google charges using Translate API than shutting it down. Now i will have to remove this functionality from my projects. Nicely done Google 🙁
says one developer. Further, Google’s rationale for withdrawing APIs is likely multi-faceted. If I write an app that calls a Google API in the background, there is no direct benefit to Google unless it makes a charge. From Google’s perspective it is better to supply a widget, that can be branded, or to get users logging onto its site so it can gather stats and display advertising.
Still, my main interest here is in the implications for cloud computing, particularly PaaS. I frequently see old apps running in businesses. In some cases the original developer is long gone and nobody understands the code, if they have it at all. These apps keep running though. In a PaaS world that will no longer be possible; they will stop working if the APIs they use disappear.
The other side of this coin is that responsible service providers have to keep old APIs supported in order not to break applications. I have an application which I wrote 5 years ago using Amazon’s Simple Storage Service (S3). It still works today. There must be thousands of other applications which also use it. Amazon is now stuck with that API, and I guess that unless some major security flaw is discovered it will continue to work for the foreseeable future.