Running Jupyter kernel and notebook server on different machines
<p>I'm trying to run an iPython/ Jupyter kernel and the notebook server on two different Windows machines on a LAN.</p>

<p>From most of the links that I found on the internet, they offer advice on how we can access a remote kernel + server setup from a web browser, but no information on how to separate the kernel and the notebook server themselves.</p>

<p>Ideally, I'd like the code to remain on one machine, and the execution to happen on the other.</p>

<p>Is there a way that I could do this?</p>

<p>This can be done, though it is a bit fiddly, and I do not believe that anyone has done it before on Windows.  Jupyter applications use a class called a <a href="http://jupyter-client.readthedocs.io/en/latest/api/manager.html#jupyter_client.KernelManager" rel="nofollow">KernelManager</a> to start/stop kernels. KernelManager provides an API that is responsible for launching kernel processes, and collecting the network information necessary to connect to them. There are two implementations of remote kernels that I know of:</p>

<ul>
<li><a href="https://github.com/danielballan/remotekernel" rel="nofollow">remotekernel</a></li>
<li><a href="https://github.com/korniichuk/rk" rel="nofollow">rk</a></li>
</ul>

<p>Both of these use ssh to launch the remote kernels, and assume unix systems. I don't know how to launch processes remotely on Windows, but presumably you could follow the example of these two projects to do the same thing in a way that works on Windows.</p>

python ipython jupyter jupyter-notebook