In this rapidly growing Apps market, APIs are playing a critical role. So it becomes very important to develop APIs which are scalable and performing enough to cater to demand of the clients. Right now there are many technologies/platforms available that provide facility to develop and manage APIs. Apigee Edge is one such prominent platform. While developing an API one face many challenges ranging from timelines to security and performance. Based on my experiences of using this tool here is one analysis on how Apigee Edge can be helpful to developers:
- Less Coding and many out of box configurations: This is one of the main features of Apigee Edge. With few clicks you can create skeleton of the REST based proxy. After that there are many inbuilt policies which you can apply on your proxy. These policies control the steps of flow execution of the proxy. This policies are xml based configuration files which you can apply for various purposes like extracting request variables, assigning response messages up to applying security and complex oauth activities.
- Security: Since many times APIs are exposed to outer world via internet, security becomes the thing of utmost importance. In this front there are many features provided by Apigee edge. There are inbuilt policies to support oauth1 and oauth2 framework. Apart from that, there are spike arrest and throttling related policies available to avoid any kind of replay attacks. You can also allow/deny a set of ip addresses access to your proxy by following some simple steps.
- Performance: An API should be able to handle lot of requests coming in a unit of time during peak hours. For Apps having large user base, performance of API becomes critical as there might me many request coming simultaneously in every second. Usually performance of an API is measured by throughput ( i.e. Transations/second) and response time. Apigee edge provides policies related to caching complete response or using in memory cache to store some values. This results in enhancing performance of API.
- Message Transformations and Streaming: Apigee Edge provides a comprehensive set of policies to parse incoming xml , json or normal form parameter data in request or from backend target response. There are also out of box policies for XML to JSON conversion and vice versa as well as XML transformation via XSLT. Apigee edge can also manage streaming of large audio/video files.
Upon analyzing Apigee Edge platform on above mentioned points, it can be safely stated that its quite a useful tool for App and API developers to develop secure, scalable and high performing APIs in significantly less amount of time. There is always scope of improvement on any platform/tool and with future releases it is only going to get better in these aspects.