We recently released API Platform Cloud service 18.1.5 and with that we are introducing phase 1 of plans! To be fully transparent, we've had plans built into the service from day 1, but this marks a step in making the feature available.
What are plans you may ask?
Plans provide the measured access to one or more APIs serving as the foundation for monetization.
Plans define limits at the subscriber level that stretches across APIs.
To explain this further, let's use the example of a rate-limit. A rate limit controls the number of calls within a certain time period. The API Rate Limit protects a system by limiting the number of calls that may be made to a particular API, no matter who is calling the API. For example, if my back-end system can handle no more than 10000 requests per second, I may set an API Rate Limit of 10000 per second which would apply for all callers.
Another limit is the Application Rate Limit, which we can call the "fair share" limit. This stipulates that no one application can get more than a limited number of calls within a certain time period. For example, I may decide that no one application can get more than 1000 calls per second. If I have 5 applications subscribed then this means that there can be a total of 5000 requests per second.
Plans takes this forward in a much richer way in that I can set limits for the consumer. With plans, the API consumer now subscribes to the plan and APIs are entitled to that plan. When a consumer subscribes to the plan, the consumer gets access to all of the APIs entitled in the plan.
We can now set a limit at the plan level. For example, a consumer may be limited to 100 calls per second. This limit would apply across all of the APIs. This means that while the API can handle up to 10000 calls/second, and any application can call up to 1000 calls/second, the plan that the subscriber happens to be subscribed to set a limit of 100 calls/second so the limit for that subscriber is the lower of the three limits. This limit would also stripe across all APIs in the plan meaning that the calls are counted for the subscriber no matter how many APIs happen to be entitled in the plan
We can also within the plan, set limits for specific APIs in that plan. This is not to be confused with the API Rate Limit policy, rather it is a plan limit applied specifically to that API entitled in the plan
Plans allow us to create consumer groups where we can control access based on the subscription rather than just the API itself. This provides the foundation for monetization where you can segment consumers based on the plan they are entitled.
This is just the beginning as we will be bringing more monetization features, but this already provides great value for enterprises that want to define limits across groups.
To learn more about API Plans, visit Managing Plans in our documentation!