There is a bunch of things we want to know about our web users, such as:
- Time zone
- User-agent info
- Are they a spider?
- Are they making too many requests? Should we throttle them?
To get all the above information reliably can easily consume 20MB+ of memory in every web server process.
App::Cerberus is a Perl module that packages up all this functionality into a simple web service (using Plack), freeing up your web processes to deal with just your own code.
A query to App::Cerberus is a simple HTTP GET, and the response is JSON.