Cloud providers update their services to expand and improve them, which often requires an API update. But while beneficial, these application program interfaces (API) changes can be disruptive for software developers that use the provider's API.
Each time a cloud provider tweaks an API, developers have to update, re-test and patch their cloud application. Due to this tedious process, some developers are reluctant to use the API or its more intricate capabilities. The result is a lost opportunity, both for the cloud provider and the developer.
Functional continuity and backward compatibility are crucial to cloud service APIs and software integration. Developers should examine their provider's service or API update history and future roadmap. They should also assess how often they may need to update their software to keep pace with API changes. Ideally, a cloud provider designs an API with a long-term commitment to function calls, syntax and other features to minimize the impact of an API update.
For example, suppose a cloud provider upgrades its service and includes an updated API call. If the provider replaces the old call with the new one, developers are forced to immediately update their software -- resulting in disruption. But if the cloud provider delivers the updated API call as a new function alongside the existing function, the developers' software should continue to operate normally. Then, developers can move to the new API call at their convenience. The cloud provider can then gradually eliminate the old call from the API with minimal disruption.
Developers should make sure their providers' APIs carry clear version designations so they can tell when an API update is available. When cloud providers introduce an API update early, it gives developers plenty of time to beta test and formulate their software update strategy.
Stephen J. Bigelow is the senior technology editor of the Data Center and Virtualization Media Group. He can be reached at [email protected]
Considerations for effective API design
Without standard cloud APIs, what should a cloud developer do?
An essential guide to API management