Thank you @sriki77 for great answers, Reposting here,
So I understand that Apigee can act as a forward proxy. For all external third party library calls I make I would have to define a corresponding API proxy. For e.g. I would be defining two API proxies on Edge if my application makes api calls to twitter and yammer, right?
Yes and No. API proxy defines an endpoint for the client. If endpoint can be like regex/basepath (similar to context path in webapps); client can use the same basepath and API proxy can switch the call to twitter or yammer based on the path parameter after the basepath. If it is not possible to switch then we need to have 2 different API proxies.
The docs mention that
“API proxies decouple the app-facing API from your backend services, shielding those apps from backend code changes”
When acting as a forward proxy, how can it decouple my application code? For e.g. When my application calls the twitter API proxy, can apigee shield my application from twitter API changes?
The API exposed by proxy endpoint can be anything custom. Since proxy has the support for data transformation - you can transform the input request to the twitter API request. Now if the twitter API changes in a way that your input request is still valid - then you need to change your transformation logic(in apigee) only. The client can still continue to use the same custom API you have exposed. If the change is massive to change your input too, then there is no option - your client will be impacted.
When acting as a forward proxy, how would a security policy benefit our application? For e.g. When making calls to twitter, yammer, youtube etc can authentication for all these api calls be centralized?
Yes the authentication/authorization can be centralized. Please take a look at Apigee security policies that can be used in proxies. You can use facilities like key value maps/secure vault to store the mapping of the user you have authenticated and the credential that needs to be used on his behalf to make calls to backend services like you have mentioned.
Apigee provides monetization benefits which includes reporting and billing. When acting as a forward proxy, what reports does apigee create for all the third party api calls made by my application? for e.g. Would it be able to create reports that summarize the number of api calls made according to the rate plan configured?
Analytics by default includes statistics of API calls, errors, HTTP codes and drill-down based on various dimensions. Monetization support helps in identifying what is business transaction - which Api calls are - helps in determining the usage based on these.
About the API platform, since my use case is around a forward proxy can you provide more clarity as how would analytics, predictive insights
My suggestion is you play around with a free account(https://enterprise.apigee.com) provided by Apigee - you will see for your self the features available.
Do you have case studies of clients using apigee as a forward proxy?
This is something our sales/pre-sales team can help you with. BTW - we are platform vendor - so our pre-sales team is very much technical - so please feel free to converse with them.
@JGeek , Keep us posted if you have any queries.