How to Deploy a Scikit-learn Model into the Cloud? I have generated a common Sklearn model for text classification which I want to make accessible in the cloud (there is no provider preference) as an API.

So far the closest solution that I managed to find is in this tutorial but it seems quite complex (getting the venv.zip dependencies package at the beginning is unclear, for instance) and specific (in my case NLTK and an external Stanford segmenter is involved for preprocessing and I cannot figure out where to put all these modules and how to invoke them).

Is there a decent and robust way to solve this challenge?
If you want to deploy a scikit-learn model to the cloud and be able to access it through an API, I am guessing that you will want to access the predict method.

The API

To build an API with python, the easiest is to use Flask or Django. I prefer Flask for these types of tasks because it has a simpler interface. Django offers you more lower-level control however.

You will have to create some route that the client will call by sending you the input data, and once you receive it on the server side, you'll just have to pass it through your Sklearn model, and send back the output to the client.

Run sklearn in the cloud

The other thing you need to take care of, is run Python on whatever cloud solution you'll use. In order to deploy your Flask/Django app, I would probably use Docker as it's well supported on many platform. Here is an example on how to deploy a Docker container on Azure