If you want a Linux cluster and don't want to set that shit up manually, Rocks Clusters FTW.
I haven't had good luck with this new notebook system, it requires installing too much and doesn't just work like Python packages and it's too much of a pain, but maybe it will get less painful... Maybe they should just provide desktop apps which pull down/update and vendor their own per-language runtimes and give a way to interact with those isolated (vendored) runtimes, rather than a bunch of clunky instructions that go stale quickly. For server-side, something similar that doesnt interfere with native packages.
For somewhat older Python notebook apps, ReInteract is nice.
Source: a former Stanford HPC sysadmin