Rules

Secret ingredients to quality software

Do you know the best tools to manage APIs?

Last updated by Brady Stroud [SSW] on 17 Jun 2021 04:03 am (6 months ago) See History

When building APIs one of the challenges is in how to document the API for other developers to consume.

Using a tool that automates this is extremely valuable as it helps avoid the biggest bugbear of developers, stale documentation. This resulted in a number of standards being developed for specifying APIs. Swagger and OpenAPI being being the most common, but there are a few others.

Azure API Management

The best tool for use in medium to large organizations is Azure API Management (APIm for short). It has all the features other API Management tools and wraps everything up in a very nice UI.

By supporting Code First APIs, APIm can generate the Swagger documentation from your API code. For the developers consuming your API this is really fantastic!

APIm allows you to centralize all your APIs and provide a consistent front-end interface for developers. You also get to securely provide all your APIs behind a single static IP address.

You can use APIm to secure your APIs, improve API discoverablility, transform existing services and even mock services for testing.

Pros:

  • Very nice UI compared to many alternatives
  • Import API definitions from Swagger, OpenAPI, WSDL, etc
  • Centralized API management
  • API policy management (a.k.a. request processing pipeline)

    • mutate incoming and outgoing requests
    • XML to JSON and vice verca
    • Add/Remove/Modify request headers
    • Redirects
  • Caching
  • Rate limiting
  • API Versioning
  • Response Mocking
  • Security features
  • Developer Portal

    • API Documentation
    • Branded APIs
  • Product customization

    • expose parts of any API as individual products
  • Monetization (sell your API)
  • Custom Identity Provider
  • Free Developer Tier
  • Comprehensive SLAs

Cons:

  • Pricing is complex - Standard to Premium scales exponentially
  • Lots of advanced features, requires a lot of learning

Watch Adam Cogan and William Liebenberg explain more about Azure API Management.

Figure: Good Example (more comprehensive)

For smaller organizations one of the http://swagger.io products may suit better. They are free to start with until you start looking for more advanced features. The feature set even on the paid tiers is still significantly more limited than Azure API Management, however the cost is also much lower.

Figure: Good Example (for small teams or projects)

William LiebenbergWilliam Liebenberg
Bryden OliverBryden Oliver

We open source. Powered by GitHub