- API Proxy
A proxy, in its most basic form, is an intermediary acting on behalf of something else. Similar to the legal concept of a proxy, an API Proxy acts on behalf of the API instead of an individual. In more technical terms, an API Proxy decouples the frontend of the API from the backend services and filters all incoming and outgoing traffic. The decoupling of front-end and back-end services allows for changes to be made to backend services without disrupting the production API. The filtering of incoming and outgoing traffic allows for monitoring, basic forms of security, request routing, and protocol translation.
- Important Note
It is important to note that API Proxies require an existing API while some API Gateways can assist in building a new API.
- API Gateway
API Gateways function in a similar way but have a much more robust set of features. Gateways perform the same functions as API Proxies, decoupling the frontend and backend of the API, monitoring, basic security, request routing, and protocol translation, but can also provide:
- Advanced Security
- Composition
- Custom API
- Load Balancing
- Caching
- Request Shaping and Management
- Static Response Handling
- Throttling
- API Proxy versus API Gateway?
The use case for an API Proxy versus an API Gateway depends on what kinds of capabilities you require and where you are in the API Lifecycle. If you already have an existing API that doesn’t require the advanced capabilities that an API Gateway can offer than an API Proxy would be a recommended route. You can save valuable engineering bandwidth because proxies are much easier to maintain and you won’t suffer any negligible performance loss. If you need specific capabilities that a proxy doesn’t offer you could also develop an in-house layer to accommodate your use case. If you are earlier in the API lifecycle or need the extra features that an API Gateway can provide, then investing in one would pay dividends
- Notable API Gateways
https://www.axway.com/en/products/api-management/gateway
https://konghq.com/solutions/gateway/
https://aws.amazon.com/api-gateway/
https://azure.microsoft.com/en-us/services/api-management/
https://apigee.com/api-management/
https://github.com/Netflix/zuul
https://github.com/TykTechnologies/tyk