There’s a nice article over at API Evangelist this morning on the battle for your API proxy. Lots of good things in the article and nice to see comparisons – while broadly the classification works we see things slightly differently though :).
The spirit is right but the label proxy is a little misleading – 3scale in fact doesn’t aim to be a proxy at all (we call it “proxyless” by design) and 3scale’s architecture works in such as way that it never has to see your API traffic at all or get in the way of calls (no proxies to be seen).
It’s better to think of it as a wholly different type of infrastructure: rather more like a set of services you connect to rather something you funnel your traffic through. 3scale’s plugins allow you to quickly setup a connection to our infrastructure and once you have this us it to:
Authenticate keys, track limits and enforce policies on API users.
Track key metrics and analytics.
Connect to developer portal and associated services.
Put in place sophisticated billing and payments.
and importantly, this works without needing to pump traffic through our servers (with cost, privacy, latency and other issues that this generated).
Also this connection can be synchronous (as Kin illustrated) with calls going back and forth on every API call or completely asynchronous with keys cached in plugins on the APi side and proactively or lazily refreshed (see the diagram below). This makes is a true “web scale” architecture since:
- You only interchange across the management data you need.
- The API data content doesn’t need to flow through 3scale’s systems at all.
- You can hook up many different physical locations to the infrastructure.
- There is a lot of flexibility in how you integrate.
Apigee and Mashery certainly have good products and services which serve certain needs and the label “proxy” applies pretty well there – but the term is a little stretched when applied to 3scale - think of it as a new type of web infrastructure instead ;).