We currently have have a total of 25 proxies (or so) that our two teams currently maintain. The list is growing fairly steadily, and we are about to open the floodgates. Over the next few of months we will be on-boarding several new teams to do their own Proxy development work. Part of on-boarding preparation is putting together reference templates for any new proxies that would be used to get the new teams operating quickly.
Moving forward, most of the services we will be proxying in apigee are AWS based services / endpoints. Most of the Applications are Node based, but we will likely have some other technologies mixed (Java, etc). The Apigee proxies needed would be simple wrappers to those services for the most part, taking advantage of existing Policies (Oauth, Threat Protection, etc).
When we first started to talk with Apigee, AWS wasn’t playing as big of a part as it is starting to now, and we were looking at Apigee Edge almost as an application server in addition to being a proxy.. Allot of complex aggregating and transforming logic was built into our older proxies, and we started to embed Node.js for the more complex of them. This brought up alot of design discussion with our architects about embedding Node in all of our Apigee proxies - even for the simple wrappers.
In December, we had a “Dojo” with apigee (@srichardson) - a week long training in integrating swagger and node into an Apigee proxy. I seem to remember the person that was presenting said that we needed to be careful when implementing Node.js in proxies, that it required additional resources, and that for heavily hit applications it could cause degradation to the overall performance (not sure if he meant just the Proxy in question, or the organization as a whole - we only have 2 MP’s).
I’m not sure anyone remembered that initial warning, or maybe i just misunderstood, and since then we have continued talking about having all of our proxies be node based (i.e. having an embedded node wrapper to our targets)…
Questions:
Would we see service degradation if all of our proxies are converted to have their own embedded Node.js apps, verses all of our proxies remaining solely XML policies? (Especially considering the potential of many new proxys being created over the next few months as teams start to ramp up - and all of them being directed to implement with a Node.JS Embedded approach)…
What would be your suggestion as to weather we should stay with an XML only approach versus fully converting over to a embedded Node approach for all new and existing proxies?
@dallen