Skip to content

Commit

Permalink
deploy updates
Browse files Browse the repository at this point in the history
  • Loading branch information
novoselt committed Aug 11, 2024
1 parent 4b0a59d commit a07a6a3
Show file tree
Hide file tree
Showing 5 changed files with 275 additions and 2 deletions.
54 changes: 54 additions & 0 deletions _sources/alternativeto/jupyterhub.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
:orphan:

Alternative to JupyterHub
=========================

If your primary goal is to have a centralized solution for working with Jupyter Notebooks, CoCalc may be a great alternative to hosting your own instance of JupyterHub!

Let's take a closer look at how these services compare to each other and what will you gain (and lose) by going with CoCalc.


Key Features of JupyterHub
--------------------------
These are copied from https://jupyter.org/hub

- **Customizable** - JupyterHub can be used to serve a variety of environments. It supports dozens of kernels with the Jupyter server, and can be used to serve a variety of user interfaces including the Jupyter Notebook, Jupyter Lab, RStudio, nteract, and more.

- **Flexible** - JupyterHub can be configured with authentication in order to provide access to a subset of users. Authentication is pluggable, supporting a number of authentication protocols (such as OAuth and GitHub).

- **Scalable** - JupyterHub is container-friendly, and can be deployed with modern-day container technology. It also runs on Kubernetes, and can run with up to tens of thousands of users.

- **Portable** - JupyterHub is entirely open-source and designed to be run on a variety of infrastructure. This includes commercial cloud providers, virtual machines, or even your own laptop hardware.


Portability
-----------

Note that JupyterHub is "just a software project", i.e. in order to make use of it and benefit from the above features, you do need to own appropriate hardware or setup a suitable environment with some cloud provider. You also need to have sufficient technical expertise and time to do this or hire someone else to do it for you. Exact time and money requirements depend a lot on the situation, but tend to be quite noticeable. There are companies that are happy to sell you their JupyterHub support services.

CoCalc also can be deployed in a variety of ways as a standalone instance just for you or your organization. The main difference with JupyterHub is that CoCalc is NOT a fully open-source project, we use Microsoft Reference Source License. You can look at the source code, but you cannot run an instance yourself without getting a permission from us. Third party companies also cannot provide support without having a suitable arrangement with us. We are, however, happy to discuss your needs if an OnPrem installation works well your case, we do have a number of such customers!

In many cases, however, it makes sense to directly use our hosted option - we already have a configured and actively managed cluster which you can use, easily increasing or decreasing the computational power available to you, including vast CPU and GPU resources.

Flexibility
-----------

Just as JupyterHub, CoCalc supports dozens of Jupyter kernels. Many of them are preconfigured and you can add more, both in the hosted and OnPrem installations. CoCalc allows you to easily run JupyterLab, VS Code, or R IDE on any of the servers in your project, so you can use the same familiar interfaces, if you choose so. However, CoCalc also gives you its own interface to work with Jupyter notebooks, and it does have a number of advantages:

- server-side notebook state - the output is preserved if you close your browser or switch to a different machine
- full real-time collaboration - simultaneous editing of the same file and chat
- the best and most complete support of IPyWidgets that we are aware off, including sharing widget state between collaborators
- AI Assistant to generate and fix code, transalate between programming languages, and more
- TimeTravel automatic version control and backup system to complement ``git``

Of course, apart from Jupyter notebooks CoCalc supports many other document types, including LaTeX documents, Linux terminals, Markdown, chats, courses, etc.

CoCalc does not have plugins that extend its functionality, rather everything available is included right away. In this sense you may consider JupyterHub to be more flexible/tunable, but it conveniently brings us to the next point.


Reliability
-----------

CoCalc functionality is continuously tested as a single unit in our production environment. Occasionally, there are bugs and regressions which we try to address as soon as possible. You may not even become aware of the problem because of our continuous monitoring of the service and other users reporting problems as well.

With JupyterHub, on the other hand, our experience has shown that a user may attempt to install an innocuously looking plugin to discover that non only it does not work, but the whole environment becomes unusable and requires admin intervention to be fixed.
219 changes: 219 additions & 0 deletions alternativeto/jupyterhub.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,219 @@

<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Alternative to JupyterHub &mdash; CoCalc Manual documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />


<link rel="shortcut icon" href="../_static/favicon-32x32.png"/>
<link rel="canonical" href="https://doc.cocalc.com/alternativeto/jupyterhub.html" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->

<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="https://cocalc.com/analytics.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />

<link rel="stylesheet" href="../_static/custom.css" type="text/css" />


<link rel="canonical" href="https://doc.cocalc.com/alternativeto/jupyterhub.html"/>


</head>

<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >

<a href="../index.html" class="icon icon-home"> CoCalc Manual
<img src="../_static/../_static/cocalc-doc-logo.svg" class="logo" alt="Logo"/>
</a>

<style>
div.cocalc-header {
padding: 10px;
margin-bottom: 10px;
color: white;
background-color: #4375c1;
font-weight: bold;
text-align: center;
box-shadow: 1px 4px 4px -1px #4375c1;
border-radius: 0 0 3px 3px;
}
div.cocalc-header a {
color: #ddd;
background-color: transparent;
text-decoration: none;
}
</style>

<div class="cocalc-header">
We provide the best real-time collaborative environment for <a href="https://cocalc.com/features/jupyter-notebook">Jupyter</a>, <a href="https://cocalc.com/features/latex-editor">LaTeX</a>, and <a href="https://cocalc.com/features/jupyter-notebook">SageMath</a>!
</div>


<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>


</div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../introduction.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../working_with.html">Working With</a></li>
<li class="toctree-l1"><a class="reference internal" href="../platform.html">Platform</a></li>
<li class="toctree-l1"><a class="reference internal" href="../user_interface.html">User Interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="../service_options.html">Service Options</a></li>
<li class="toctree-l1"><a class="reference internal" href="../howto/index.html">How-tos</a></li>
<li class="toctree-l1"><a class="reference internal" href="../teaching-instructors.html">Instructor Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../teaching-students.html">Student Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../howto/trouble.html">Troubleshooting</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Appendix</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../references.html">References</a></li>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
</ul>

</div>
</div>
</nav>

<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">CoCalc Manual</a>

</nav>

<div class="wy-nav-content">

<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../contents.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item active">Alternative to JupyterHub</li>
<li class="wy-breadcrumbs-aside" style="padding: 0;">
<a
class="fa fa-question-circle"
href="https://cocalc.com/support/new?type=question&subject=A%20question%20about%20CoCalc%20...&body=&title=Ask%20us%20a%20Question!"
style="background-color: #daeefb; color: black; border: 3px solid #2980b9; padding: 2px 5px; border-radius: 4px;"
>
Ask us a Question!
</a>
</li>

</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">

<section id="alternative-to-jupyterhub">
<h1>Alternative to JupyterHub<a class="headerlink" href="#alternative-to-jupyterhub" title="Link to this heading"></a></h1>
<p>If your primary goal is to have a centralized solution for working with Jupyter Notebooks, CoCalc may be a great alternative to hosting your own instance of JupyterHub!</p>
<p>Let’s take a closer look at how these services compare to each other and what will you gain (and lose) by going with CoCalc.</p>
<section id="key-features-of-jupyterhub">
<h2>Key Features of JupyterHub<a class="headerlink" href="#key-features-of-jupyterhub" title="Link to this heading"></a></h2>
<p>These are copied from <a class="reference external" href="https://jupyter.org/hub">https://jupyter.org/hub</a></p>
<ul class="simple">
<li><p><strong>Customizable</strong> - JupyterHub can be used to serve a variety of environments. It supports dozens of kernels with the Jupyter server, and can be used to serve a variety of user interfaces including the Jupyter Notebook, Jupyter Lab, RStudio, nteract, and more.</p></li>
<li><p><strong>Flexible</strong> - JupyterHub can be configured with authentication in order to provide access to a subset of users. Authentication is pluggable, supporting a number of authentication protocols (such as OAuth and GitHub).</p></li>
<li><p><strong>Scalable</strong> - JupyterHub is container-friendly, and can be deployed with modern-day container technology. It also runs on Kubernetes, and can run with up to tens of thousands of users.</p></li>
<li><p><strong>Portable</strong> - JupyterHub is entirely open-source and designed to be run on a variety of infrastructure. This includes commercial cloud providers, virtual machines, or even your own laptop hardware.</p></li>
</ul>
</section>
<section id="portability">
<h2>Portability<a class="headerlink" href="#portability" title="Link to this heading"></a></h2>
<p>Note that JupyterHub is “just a software project”, i.e. in order to make use of it and benefit from the above features, you do need to own appropriate hardware or setup a suitable environment with some cloud provider. You also need to have sufficient technical expertise and time to do this or hire someone else to do it for you. Exact time and money requirements depend a lot on the situation, but tend to be quite noticeable. There are companies that are happy to sell you their JupyterHub support services.</p>
<p>CoCalc also can be deployed in a variety of ways as a standalone instance just for you or your organization. The main difference with JupyterHub is that CoCalc is NOT a fully open-source project, we use Microsoft Reference Source License. You can look at the source code, but you cannot run an instance yourself without getting a permission from us. Third party companies also cannot provide support without having a suitable arrangement with us. We are, however, happy to discuss your needs if an OnPrem installation works well your case, we do have a number of such customers!</p>
<p>In many cases, however, it makes sense to directly use our hosted option - we already have a configured and actively managed cluster which you can use, easily increasing or decreasing the computational power available to you, including vast CPU and GPU resources.</p>
</section>
<section id="flexibility">
<h2>Flexibility<a class="headerlink" href="#flexibility" title="Link to this heading"></a></h2>
<p>Just as JupyterHub, CoCalc supports dozens of Jupyter kernels. Many of them are preconfigured and you can add more, both in the hosted and OnPrem installations. CoCalc allows you to easily run JupyterLab, VS Code, or R IDE on any of the servers in your project, so you can use the same familiar interfaces, if you choose so. However, CoCalc also gives you its own interface to work with Jupyter notebooks, and it does have a number of advantages:</p>
<ul class="simple">
<li><p>server-side notebook state - the output is preserved if you close your browser or switch to a different machine</p></li>
<li><p>full real-time collaboration - simultaneous editing of the same file and chat</p></li>
<li><p>the best and most complete support of IPyWidgets that we are aware off, including sharing widget state between collaborators</p></li>
<li><p>AI Assistant to generate and fix code, transalate between programming languages, and more</p></li>
<li><p>TimeTravel automatic version control and backup system to complement <code class="docutils literal notranslate"><span class="pre">git</span></code></p></li>
</ul>
<p>Of course, apart from Jupyter notebooks CoCalc supports many other document types, including LaTeX documents, Linux terminals, Markdown, chats, courses, etc.</p>
<p>CoCalc does not have plugins that extend its functionality, rather everything available is included right away. In this sense you may consider JupyterHub to be more flexible/tunable, but it conveniently brings us to the next point.</p>
</section>
<section id="reliability">
<h2>Reliability<a class="headerlink" href="#reliability" title="Link to this heading"></a></h2>
<p>CoCalc functionality is continuously tested as a single unit in our production environment. Occasionally, there are bugs and regressions which we try to address as soon as possible. You may not even become aware of the problem because of our continuous monitoring of the service and other users reporting problems as well.</p>
<p>With JupyterHub, on the other hand, our experience has shown that a user may attempt to install an innocuously looking plugin to discover that non only it does not work, but the whole environment becomes unusable and requires admin intervention to be fixed.</p>
</section>
</section>


</div>
</div>
<footer>

<hr/>

<div role="contentinfo">
<p>&#169; Copyright 2024, Sagemath, Inc., CC BY-4.0 licensed.</p>
</div>



<div role="contentinfo">
<p>
Please contact us for <a href="https://cocalc.com/support/new?type=question&subject=A%20question%20about%20CoCalc%20...&body=&title=Ask%20us%20a%20Question!">Questions and Feedback</a>,
<a href="https://github.com/sagemathinc/cocalc-doc/">Documentation Repository</a>,
<a href="https://cocalc.com/policies/">Privacy Policy and ToS</a>.
</p>
<p>
<a href="https://github.com/sagemathinc/cocalc-doc/edit/master/source/alternativeto/jupyterhub.rst" class="fa fa-github"> Edit this page on GitHub</a>
</p>
<p>
<strong><a href="https://cocalc.com/app">Start CoCalc</a></strong> – start free, upgrade later!
</p>
</div>


</footer>
</div>

</div>
</section>
</div>
<script>
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>

<a class="github cocalcbanner" href="https://cocalc.com/app?anonymous=true">
<img alt="Start CoCalc"
class="github"
src="../_static/start-cocalc.png"
style="position: fixed; top: 0; right: 0; border: 0; height: 75px; width: 75px">
</a>


</body>
</html>
Binary file modified objects.inv
Binary file not shown.
2 changes: 1 addition & 1 deletion searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion sitemap.xml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?xml version='1.0' encoding='utf-8'?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://doc.cocalc.com/en/contents.html</loc></url><url><loc>https://doc.cocalc.com/en/index.html</loc></url><url><loc>https://doc.cocalc.com/en/introduction.html</loc></url><url><loc>https://doc.cocalc.com/en/genindex.html</loc></url><url><loc>https://doc.cocalc.com/en/search.html</loc></url></urlset>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://doc.cocalc.com/en/alternativeto/jupyterhub.html</loc></url><url><loc>https://doc.cocalc.com/en/contents.html</loc></url><url><loc>https://doc.cocalc.com/en/genindex.html</loc></url><url><loc>https://doc.cocalc.com/en/search.html</loc></url></urlset>

0 comments on commit a07a6a3

Please sign in to comment.