beawolf - Fotolia
APIs play a critical role in any cloud app development and integration strategy. Public cloud providers have been quick to offer tools to help teams build and manage APIs, but there are also third-party and open source options to consider.
The type of tool a cloud developer should use will depend on a number of factors.
API management refers to the development, testing and monitoring of APIs, as well as the maintenance of a responsive hosting framework in which API-based services are presented to users. The former tasks focus on the development process, while the latter focus on work distribution or a combination of things like load balancing and orchestration. These functions are typically assigned to the operations staff, who often need to tune them to the specific hosting resources their organization uses.
Public cloud providers tend to link development-related API management tools with deployment and performance management tools.
Tools like Amazon API Gateway, Azure API Management and Google's Apigee API Platform reflect both the technical framework and go-to-market approach of their respective cloud providers. If you buy into a cloud provider's API tools, you also buy into the cloud provider's overall vision for cloud architecture and APIs.
For enterprises with multi-cloud deployments, this can be problematic, since these cloud providers have different API and service orchestration strategies, and significant integration issues can arise.
AWS offers a complete API management suite that guides users from development to deployment. Recently, the provider also released Outposts, a physical appliance that extends AWS services to an enterprise's on-premises environment. This can make it easier for dev teams to manage APIs in a hybrid cloud.
Microsoft also offers a full API management suite and has Azure Stack, a physical appliance that offers benefits similar to Outposts for hybrid cloud.
Google bases its API strategy on the Apigee technology it acquired. It doesn't offer the same level of integration that the other two providers do between public cloud and on-premises data centers or between API development and operations capabilities.
Open source and third-party tools
Open source and third-party API tools tend to focus more on the management, rather than the development, aspect. These tools can often be hosted in the cloud to provide elasticity in terms of API management resources. What's more, if you combine an external API manager with an external orchestration tool, that combination might match the robust feature sets of each cloud provider's API management suite and also be uniform across all cloud platforms and the data center. For this reason, many enterprises -- again, especially those with multi-cloud strategies -- choose a third-party or open source tool, rather than a cloud-native one, to manage APIs.
Open source API managers, such as Swagger, LoopBack, Restlet Framework, Tyk and WSO2, are completely compatible with cloud deployments. Users can host these tools in the cloud but have to deploy and manage them as they would an application.
For many of these tools, users also have to deal with operational integration; they need to link the API management tool they use for development and testing to the orchestration and workflow tools they use to deploy applications. Most orchestration tools are generally portable to any of the major cloud providers, as well as to your on-premises systems.
Third-party API management packages tend to be more narrow in focus, but some provide a broad extension into the operational deployment of API-based services. For example, when users buy Apigee as an independent tool, outside of Google's cloud, it more broadly addressees API challenges at the development, testing and operations levels. It's also compatible with all the major cloud providers and with on-premises systems for hybrid clouds. Another option is MuleSoft, which has an API designer and API Manager with a similar scope.
So what's best for you?
If you plan to use hybrid cloud, rather than multi-cloud, consider a provider's cloud-native tools to manage APIs. Also, if you have a multi-cloud deployment where scaling or failover processes don't cross provider boundaries, providers' native tools might be a better fit -- although, there will be some differences between them that you need to accommodate.
If your enterprise has good understanding of open source containers or VM orchestration and need to maintain complete service agility across many cloud providers, consider the open source API management tools combined with workflow distribution and orchestration. The same goes for those that want to preserve the option to change providers quickly.
Enterprises that want a similar level of agility but lack open source experience might want to adopt a third-party API management suite with integration abilities for development, testing, deployment and operations.