Automating API discovery and integrating APIs into management workflows is becoming easier with a new generation of tools like AWS’s API Gateway Swagger Importer Tool.
Amazon Web Services Labs has introduced an automatic Swagger Importer tool for its API Gateway service. The new offering reflects the latest trend in API provisioning, focused on automating parts of the API management pipeline.
The new tool lets AWS customers import a Swagger definition and automatically have that create or update an API in their API Gateway service. (Amazon API Gateway is a thin back end with some API management features and tooling. It is aimed at mobile and app developers who need to provision access to their APIs but don’t need the full complement of tooling that usually comes with an API management provider.)
“Roughly 90% to 95% of our road map is driven by what our customers tell us matters, and this tool was driven by feedback from our customers,” says Adam FitzGerald, head of worldwide developer marketing at Amazon Web Services. “We’ve seen that many enterprise users keep their API definitions in their source repository as Swagger files and deploy them as part of their build process. Our Amazon API Gateway Swagger Importer tool helps customers do exactly that, allowing them to integrate the tool as a step in their build process to deploy their Swagger definition in API Gateway, which helps them work with the API Gateway without changing their current workflows.”
FitzGerald was unable to confirm whether the product road map includes plans to facilitate importing of other API description languages like RAML into the API Gateway service.
Using API Description Languages to Auto-Import Into Tools and Testing
But the availability of the tool is part of a growing industry trend that sees emerging standards, including protocols such as API description languages, being used to help automate processes. APIMATIC, for example, is able to generate SDKs for APIs where the API provider has used a description language to define the API’s business logic, use cases and endpoints.
Our customers told us that they want to automate their build and deployment process as much as possible. Using machine-readable formats like Swagger, API management tools — which traditionally are external systems that are configured by a system administrator — become part of the continuous deployment pipeline for our customers. To simplify the job of deploying the entire API definition, we extended Swagger with some custom Amazon tags — for example "x-amazon-apigateway-integration” — that allow customers to specify the back end integration of their APIs such as which AWS Lambda functions they should trigger. This way the Swagger file doesn’t just define the public-facing shape of the endpoint, but also its back end integration and behavior.
Other API management providers and ancillary services offer a range of automatic tools based on API description languages. WSO2 has a Swagger importer tool that helps its customers automatically define their APIs within that management service based on a Swagger file, as does Akana. MuleSoft (the parent company of ProgrammableWeb) does not directly enable importing of Swagger into its API management service, but since it uses RAML, an early-release tool auto-converts Swagger into the description language RAML, which can then be imported.
Ancillary services like Runscope allow API providers to import new performance tests directly from a Swagger definition. API Science enables API monitoring directly from Swagger and RAML files. SmartBear has a number of importer tools that allow API testing directly from description languages. API design tool stack Apiary (which uses the API Blueprint format) has also announced a fully automated API testing service within its platform. API Spark has a number of automatic tools built around what it calls Swagger-as-a-service.
New Trends in Automation for API Management and Services
All of this new API automation tooling was flagged as the way ahead in a presentation by Bruno Pedro at APIdays Mediterranea in May. Pedro spoke on “How to Automate API Discoverability” and suggested that if API providers use machine-readable description languages (such as RAML, Swagger and API Blueprint), then easy discovery of most-suitable APIs (among thousands on offer) becomes a possibility. Pedro is thinking in terms of API discoverability not being just about surfacing potential APIs, but also its fitness for business purpose, whether that is measured by appropriate licensing arrangements, estimated costs of use, provisioning or another API product measure.
To help encourage this direction, Pedro’s own project, API Changelog, has begun to offer its own automation tooling: Any API provider using Amazon’s Swagger tool can automatically have its APIs tracked in the API Changelog catalog.
“At present, we monitor close to 100 APIs. But we see machine-readable API description languages as an essential way for us to grow our catalog and to help our developers more quickly assess the risk impact of the changes we are tracking.”
The API Changelog service is used by a variety of API consumers, including heavy-hitters like API aggregation service IFTTT. Its head of platform, Jim Heising, says API Changelog enables it to monitor API changes across its integrations and add the review work to its Trello engineering calendar. “Before API Changelog, we would mostly rely on monitoring our email inbox for breaking changes,” says Heising. Now API Changelog provides an automatic summary of API changes for a range of the APIs that IFTTT consume. “What we typically do is create a card in Trello that denotes that there is an upcoming change to an API. Then someone in our API engineering team grabs that card and scopes out the work and implements the changes.”
Pedro believes an increase in use of description languages by API providers will mean more automation opportunities for services like API Changelog. “Automation becomes possible when more API providers use API definition languages. We are starting to see that shift, and since my talk in May, I have been excited to see a number of these new importer tools popping up to automate some parts of the API pipeline,” says Pedro.