4 ms·
And what libraries do you use in R to generate a REST api that has Swagger 3 documentation? Authentication with JWT tokens? Monitoring, e.g. ApplicationInsights
by laichzeit0 6y ago
And what libraries do you use in R to generate a REST api that has Swagger 3 documentation? Authentication with JWT tokens? Monitoring, e.g. ApplicationInsights?
- disgruntledphd2 6y agoFor that, R would not be the right choice. I stand by my comments on how difficult it is to productionise python ML applications. I think all of those things you mentioned are JVM stuff, right? There's a version of R called renjin that could be used in that scenario. Don't get me wrong, I'd love if this was better in python but right now it is far more difficult than it needs to be.
- laichzeit0 6y agoNope, none of it is JVM stuff. It's pretty standard stuff if you want to ship an API into a production environment and expect other developers/services to interact with your model. How do you know your model is failing/slow to serve requests? You need monitoring/logging. How do add security? I'm talking API security, like JWT tokens with scopes and claims. Maybe we mean different things by "productionising ML applications" but building a docker container with an R runtime and the correct package versions is not all, or even half, of what's required for production.
- pbowyer 6y agoWhy would you have any of this tightly coupled to your model? Set up a separate API gateway, which covers all your points (REST endpoints, monitoring, security) - there's plenty of off-the-shelf options. Route authenticated requests to the backend that runs your model.
- disgruntledphd2 6y agoDepends on your model. Mine score users daily, so I don't need to worry about building an API. Logging is pretty available in both (though better in Python to be fair). I don't really see how building my model in Python would make it easier to add this API functionality either, so it's a bit irrelevant. Like my docker container (which appears to be almost essential in Python but nice in R) can call predict in any language, and then pass through to the API using the tools noted above.