By: Jeremy Pedersen
I want to talk about a service today that hasn't gotten enough love: API Gateway.
The API Gateway service is a critical piece of middleware: it's a cheap, easy way to add a layer of abstraction between what your applications (and customers) see, and what's actually happening on the backend.
Essentially, API Gateway lets you expose services as RESTful APIs, managed by the API Gateway service itself. This means a lot of the heavy lifting associated with setting up an API is done for you.
API Gateway gives you a way to handle an API's full lifecycle, including things like:
The very best thing about API though is something else entirely: it adds a layer between your backend - whatever it might be - and the users of your API.
This is excellent, because it means you can change how your backend is implemented without affecting the applications that call your API.
Alibaba Cloud already has extensive documentation for the API Gateway service, which you can find here, so I'm not going to get into the nitty-gritty in today's post.
Instead, I want to answer questions about API Gateway that frequently come up during Alibaba Cloud training sessions. Here we go!
Q: Does API Gateway offer any kind of developer portal, or offline development tools like an IDE?
Unfortunately no. However, you can:
Q: Can API throttle API requests by total bandwidth, rather than number of requests?
Not at the moment. You can only limit calls to API Gateway based on number of requests, not total bandwidth used.
Q: Can API Gateway periodically make requests to the backend on its own, (say, to "pre-heat" a serverless function)?
Unfortunately no. However, if the backend behind API Gateway is Alibaba Cloud Function Compute (Alibaba Cloud's serverless computing tool), you can make sure your functions are "hot" by using provisioned mode, which gets around the need to have API Gateway periodically trigger functions on its own.
Q: Can API Gateway cache responses from backend services, so that it doesn't have to query the backend every time a new request comes in?
Yes, see this documentation.
Q: Does API Gateway support OAuth or generic SAML authentication for incoming API requests?
Currently API Gateway supports OAuth and JWT.
Q: Can there be more than one backend service behind a single API endpoint?
Yes, there are many ways to do this:
/users
or /products
). These APIs can then point to different backend services.I'm a big fan of learning hands-on whenever possible. I recommend checking out the Quick Start guide in the API Gateway docs.
Hopefully I'll have time to do a couple more blogs on this in the future. See you next week!
Accelerating Websites for Chinese Users - Friday Blog, Week 60
JDP - December 23, 2021
JDP - May 27, 2022
JDP - October 28, 2021
JDP - April 29, 2022
JDP - May 6, 2022
JDP - August 27, 2021
Alibaba Cloud provides beginners and programmers with online course about cloud computing and big data certification including machine learning, Devops, big data analysis and networking.
Learn MoreAPI Gateway provides you with high-performance and high-availability API hosting services to deploy and release your APIs on Alibaba Cloud products.
Learn MoreOpenAPI Explorer allows you to call an API through its web interface or WebCLI, and view the entire process.
Learn MoreAlibaba Cloud provides products and services to help you properly plan and execute data backup, massive data archiving, and storage-level disaster recovery.
Learn MoreMore Posts by JDP