Augustus Scoring Engine as a web service

28 views
Skip to first unread message

zulu

unread,
Mar 19, 2014, 4:02:30 PM3/19/14
to augustu...@googlegroups.com
Hi there,

I wanted to check how to go about making Augustus Scoring Engine available as a web service operation. We want to import a PMML (created outside of Augustus) into the Augustus Scoring Engine and provision the Scoring Engine functionality as a web service.

I read an Augustus case study where Python based Augustus Scoring Engine along with Django Web framework was used to deploy the Scoring Engine functionality as a web service on Apache web server. Can you share links where i can find more info on publishing Augustus Scoring Engine functionality as web service.

Thanks,
S

Collin Bennett

unread,
Mar 19, 2014, 5:07:49 PM3/19/14
to augustu...@googlegroups.com, sushant...@gmail.com
We don't have any plans to make a generic (public and supporting bring-your-own-models) scoring service.  If you want to set up you own, you would be restricted to using only the models that augustus supports, regardless of how they are built.  For example, if you produce a PMML model for a Neural Net, then you would not be able to score it with augustus as it doesn't contain an implementation of that model.

If you tell me what you have in mind, I might be able to find some documentation, but usually, the large augustus deployments we work on are for a client and the deploy strategy isn't public.  AdReady allowed us to talk publicly about the Django deployment.

Django was used because 1) it is also written in Python and 2) it is a good CMS system.  The data being scored (transactional) in that case study was enriched by data stored in Django (historical) before it was scored.  This was a nice system.  The model and Django where both persisted on an Amazon Machine Image.  When capacity was needed, another instance was launch and added to the cluster.  A load balancer ran on top of everything.  This was designed for a very high throughput project with low latency requirements.  

We have also implemented something similar to the Django scenario using Hadoop (where augustus ran on the reducers using the Hadoop Streaming API) and with Storm.

For small applications, there is no reason that you cannot run augustus on a machine (or two or three) and use apache or nginx to handle the requests.  If you have access to the machines, then you can feed augustus new models when ever you want.


Collin.
Reply all
Reply to author
Forward
0 new messages