views:

57

answers:

1

I was reading a description of a project on Github that is a Python-based content delivery network.

Why is it important that it uses a "reverse caching proxy" - and what does that mean in this context?

+2  A: 

I think you have the question backwards. It would make more sense to ask "Why would it be important that a reverse caching proxy uses a CDN ?".

Typically you put a reverse caching proxy in front of a web server. All inbound requests go through the proxy which may or may not pass the request to the web server.

It's great for reducing the load on the web server by caching static or dynamic content, and for other purposes such as security, compression, etc.

In this case, it's useless to use this proxy if your application is already hosted on Google App Engine (and a violation of ToS as well). It's meant to be used in front of a web server hosted elsewhere, a practice also known as web server "acceleration".

Just to clarify, SymPullCDN is a reverse caching proxy, not a "Python-based content delivery network". The 'CDN' part of the SymPullCDN name refers to the CDN aspect of GAE (many datacenters around the world) which is a nice feature for a proxy.

Franck
Why is it a ToS violation? "Multiple apps acting like one app to avoid fees"? If that's the only problem, then I guess the solution would be to integrate SymPullCDN into your app as a caching layer, rather than running it as a separate app with its own quotas. Of course, there are probably better ways to implement a caching layer on GAE, so your "useless" comment stands :-)
Steve Jessop
@Steve Yes, I was referring to the multiple apps acting as a single one. About your second point, it would indeed not be the right choice to implement caching in your own app because SymPullCDN would urlfetch on itself and it would supposedly create a request infinite loop. Besides, even there was a workaround, it doesn't seem right to fetch from your own app.
Franck