Anatomy of API Management


When I want to wrap my head around a non-trivial Azure service with a few moving parts, I like to draw a diagram.

That might be from my UML days or it might just be that I reason better with boxes that concepts spread in documentation and APIs. In general, it helps me clear out the parts and how they relate to each other.

I wrote a few anatomy articles. This one is for Azure API Management, a fully managed API Gateway service.

The diagram doesn’t contain every single sub-resources of API management, just the main ones. Each object relates to an Azure Resource (in ARM sense).

API Management Anatomy

API Management Anatomy

We see the API Management Service in the middle, a little darker. This is the actual API Management instance. It has a SKU (e.g. consumption, standard, premium), a list of additional locations (to geo distribute it) and a VNET config (to integrate it to an existing VNET).

The API Management Service has users and groups.

The service can also have subscriptions. Those subscriptions are scoped at the service level and give access to all APIs.

The service also has products. Products can also have subscriptions. With that scope, the subscriptions only give access to the APIs associated to the products.

APIs are associated in a many-to-many fashion to products. API is the level where the versioning happens.

An API can have operations. An operation maps to a back-end API.

Policies can exist at the Product, API or operation level. Hence the base policy: it represents the higher level policies.

Summary

That’s it.

I didn’t want to over complicate things. I hope it gives a bit of insights on API Management in the form of a one-pager.


One thought on “Anatomy of API Management

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s