There has been a perceptible change in the way companies now look at storing data in the cloud. More and more large enterprises have started migrating from their legacy on-premise applications to SaaS applications. These SaaS applications are built on fundamentally different architectures to leverage and scale with cloud computing. But new architectures bring come new challenges.
In this blog I wanted to share some thoughts on one of the most common challenges faced by cloud newcomers: dealing with API governance limits.
Why do these limits exist?
SaaS providers are basically renting you their infrastructure to run your business. However just as you are one the renters there would be others, all trying to access the same shared pool of resources. Now as we all know that in any such scenario to co-exist with limited resources, certain rules and limits need to be in place so that no one individual monopolizes the pool. In this case SaaS providers must ensure the activity and usage of one customer does not adversely affect the others. One of the ways to do that is to enforce limits on API interactions to prevent users from overloading the system. I would need to add sometimes these limits can be flexible...for a price .
What types of limits are there?
So what are some of these limits? Some of the common limits we typically come across dealing with web service APIs include:
- Number of requests per given time frame (e.g. per second, per day)
- Number of concurrent requests for an account
- Limit on size or number of transactions per physical request/response
- Maximum duration/timeout per call
How do we work within those limits?
So what does an integration architect/designer do when faced with the challenges above? The following would be some approaches/techniques we recommend to address them.
|Number of requests|
|Limit on request size|
And if all the above are still not sufficient to deliver the requisite SLA, talk with your SaaS provider to see what limits can be adjusted. Do note that however this comes at a cost!
I would be interested to hear the challenges faced by other architects/developers and the scenarios you have come across. Please feel free to share them! The more we share, the more it helps us all in solving these problems. Have a great day!