Costs and Benefits of Custom JupyterHub and Sage Math Cloud

243 views
Skip to first unread message

Christopher Honey

unread,
Jul 24, 2015, 12:48:50 PM7/24/15
to jupyter-...@googlegroups.com
Hi Folks,

My name is Christopher Honey, from the the University of Toronto. 

I will be teaching "Computation in Psychology" and employing Jupyter to introduce students to Python, toIPython Notebooks, and for some interactive demos and homework assignments.

I would be interested to hear people's thoughts on the costs and benefits of

[a] installing a JupyterHub environment on my own server (e.g. a local university or cloud-hosted Linux machine)

[b] running the class through Sage Math Cloud (SMC)

My impression is that the benefits of SMC may be:
-- simple to set up and maintain;
-- simple for students to register and get started with a notebook on Day 1;
-- less liable to system failure (e.g. security vulnerability or networking error; I am not a sysadmin)
-- hardware is scalable and can handle hundreds of students in parallel (?)

while the costs of using SMC might be:
-- less flexible for transferring posted and completed assignments to and from students; 
-- something of a walled garden, so less extensible, e.g. for linking with nbgrader and other modules?
-- more difficult to install additional external modules in parallel for all students

Am I on the right track here? Comments from folks who have experience with these approaches would be much appreciated. I am initially planning a small class ( < 25 students, some of whom with no prior programming experience) but in future would want to be able to scale up to classes of more than 100 students.

Cheers,
CH


Brian Granger

unread,
Jul 24, 2015, 1:45:06 PM7/24/15
to Christopher Honey, jupyter-...@googlegroups.com
> My name is Christopher Honey, from the the University of Toronto.
>
> I will be teaching "Computation in Psychology" and employing Jupyter to
> introduce students to Python, toIPython Notebooks, and for some interactive
> demos and homework assignments.

Awesome!

>
> I would be interested to hear people's thoughts on the costs and benefits of
>
> [a] installing a JupyterHub environment on my own server (e.g. a local
> university or cloud-hosted Linux machine)

Today, deploying jupyterhub requires a significant sysaadmin/devops
effort. If you have someone who can manage that, it works really well.
If not, SMC is a good option. In the future we hope to improve the
deployment situation around jupyterhub.

>
> [b] running the class through Sage Math Cloud (SMC)
>
> My impression is that the benefits of SMC may be:
>
> -- simple to set up and maintain;

Yep.

>
> -- simple for students to register and get started with a notebook on Day 1;

If you have jupyterhub deployed well, I don't think this is an issue.

> -- less liable to system failure (e.g. security vulnerability or networking
> error; I am not a sysadmin)

If you are not or don't have a sys admin, then yes.

>
> -- hardware is scalable and can handle hundreds of students in parallel (?)

I think this is the case, but I would check with the SMC folks about
scalability.

>
> while the costs of using SMC might be:
>
> -- less flexible for transferring posted and completed assignments to and
> from students;
>
> -- something of a walled garden, so less extensible, e.g. for linking with
> nbgrader and other modules?
>
> -- more difficult to install additional external modules in parallel for all
> students
>
>
> Am I on the right track here? Comments from folks who have experience with
> these approaches would be much appreciated. I am initially planning a small
> class ( < 25 students, some of whom with no prior programming experience)
> but in future would want to be able to scale up to classes of more than 100
> students.

25 students isn't a problem for a simple jupyterhub deployment, but
you will still need the sysadmin/devops person to manage it.

Cheers,

Brian


>
> Cheers,
> CH
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Teaching with Jupyter Notebooks" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jupyter-educat...@googlegroups.com.
> To post to this group, send email to jupyter-...@googlegroups.com.
> Visit this group at http://groups.google.com/group/jupyter-education.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jupyter-education/CAOWfQL5rMcSgvPR-kGBp1FCmwoWAPGzQX-_Wrk4%3DEdAUSPG48Q%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.



--
Brian E. Granger
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgra...@calpoly.edu and elli...@gmail.com

William Stein

unread,
Jul 25, 2015, 2:16:01 PM7/25/15
to Teaching with Jupyter Notebooks, christop...@gmail.com, christop...@gmail.com


On Friday, July 24, 2015 at 9:48:50 AM UTC-7, Christopher Honey wrote:
Hi Folks,

My name is Christopher Honey, from the the University of Toronto. 

I will be teaching "Computation in Psychology" and employing Jupyter to introduce students to Python, to IPython Notebooks, and for some interactive demos and homework assignments.

I would be interested to hear people's thoughts on the costs and benefits of

[a] installing a JupyterHub environment on my own server (e.g. a local university or cloud-hosted Linux machine)

[b] running the class through Sage Math Cloud (SMC)

My impression is that the benefits of SMC may be:
-- simple to set up and maintain;
-- simple for students to register and get started with a notebook on Day 1;
-- less liable to system failure (e.g. security vulnerability or networking error; I am not a sysadmin)

All true.  Note that there will also be new much improved course management functionality, which I'll release in early August.  It will be backwards compatible with the current "Mange a course" functionality, but more powerful.  
 
-- hardware is scalable and can handle hundreds of students in parallel (?)

Yes, though with zero guarantees unless you are willing to pay.  If you're willing to pay, we can handle any number of users in parallel.  In April 2015 we had 700+ simultaneous connections on busy days. 
 

while the costs of using SMC might be:
-- less flexible for transferring posted and completed assignments to and from students; 

The course management functionality (already there) is mainly for transferring posted and completed assignments to and from students, and the rewrite I'm just finishing now improves on flexibility.  However, in theory a "custom JupyterHub" should be more flexible than anything.  
 
-- something of a walled garden, so less extensible, e.g. for linking with nbgrader and other modules?
-- more difficult to install additional external modules in parallel for all students
 

You can install anything into a project as long as doing so doesn't require root privileges.   We can also install most things and make them available to *all* projects on demand.   Also, SMC is 100% open source will all development done in the open on github: https://github.com/sagemathinc/smc
 
Am I on the right track here? Comments from folks who have experience with these approaches would be much appreciated. I am initially planning a small class ( < 25 students, some of whom with no prior programming experience) but in future would want to be able to scale up to classes of more than 100 students.

I personally wouldn't recommend running a course on SMC without paying us something (either you or the students).   We have to prioritize how we spend our time and allocate resources, and prioritize the 1% of paying customers *MUCH* higher.   There have been many courses that have paid so far and had a good experience.  


> -- hardware is scalable and can handle hundreds of students in parallel (?) 

>I think this is the case, but I would check with the SMC folks about scalability.

YES.  Everything is designed from the start to scale up, and SMC runs entirely on Google Compute Engine, which makes it easy to allocate large numbers of machines (though not for free, obviously).

 -- William

Christopher Honey

unread,
Jul 25, 2015, 3:12:27 PM7/25/15
to Teaching with Jupyter Notebooks
Thank you for your feedback, William and Brian. 

William, I will contact you directly to ask about the pricing.

Cheers from Toronto,
CH

Matt Craig

unread,
Jul 25, 2015, 6:38:52 PM7/25/15
to Teaching with Jupyter Notebooks, wst...@gmail.com, christop...@gmail.com, wst...@gmail.com
Hi William,

> I personally wouldn't recommend running a course on SMC without paying us something (either you or the students).   We have to prioritize how we spend our time and allocate resources, and prioritize the 1% of paying customers *MUCH* higher.   There have been many courses that have paid so far and had a good experience.  

Is the pricing posted anywhere? I didn't realize you had paid levels of service....I could see using this in a few different ways.

Thanks,
Matt Craig


On Saturday, July 25, 2015 at 1:16:01 PM UTC-5, William Stein wrote:


On Friday, July 24, 2015 at 9:48:50 AM UTC-7, Christopher Honey wrote:
Hi Folks,

My name is Christopher Honey, from the the University of Toronto. 

I will be teaching "Computation in Psychology" and employing Jupyter to introduce students to Python, to IPython Notebooks, and for some interactive demos and homework assignments.

I would be interested to hear people's thoughts on the costs and benefits of

[a] installing a JupyterHub environment on my own server (e.g. a local university or cloud-hosted Linux machine)

[b] running the class through Sage Math Cloud (SMC)

My impression is that the benefits of SMC may be:
-- simple to set up and maintain;
-- simple for students to register and get started with a notebook on Day 1;
-- less liable to system failure (e.g. security vulnerability or networking error; I am not a sysadmin)

All true.  Note that there will also be new much improved course management functionality, which I'll release in early August.  It will be backwards compatible with the current "Mange a course" functionality, but more powerful.  
 
-- hardware is scalable and can handle hundreds of students in parallel (?)

Yes, though with zero guarantees unless you are willing to pay.  If you're willing to pay, we can handle any number of users in parallel.  In April 2015 we had 700+ simultaneous connections on busy days. 
 

while the costs of using SMC might be:
-- less flexible for transferring posted and completed assignments to and from students; 

The course management functionality (already there) is mainly for transferring posted and completed assignments to and from students, and the rewrite I'm just finishing now improves on flexibility.  However, in theory a "custom JupyterHub" should be more flexible than anything.  
 
-- something of a walled garden, so less extensible, e.g. for linking with nbgrader and other modules?
-- more difficult to install additional external modules in parallel for all students
 

You can install anything into a project as long as doing so doesn't require root privileges.   We can also install most things and make them available to *all* projects on demand.   Also, SMC is 100% open source will all development done in the open on github: https://github.com/sagemathinc/smc
 
Am I on the right track here? Comments from folks who have experience with these approaches would be much appreciated. I am initially planning a small class ( < 25 students, some of whom with no prior programming experience) but in future would want to be able to scale up to classes of more than 100 students.




William Stein

unread,
Jul 25, 2015, 6:47:48 PM7/25/15
to Matt Craig, Teaching with Jupyter Notebooks, christop...@gmail.com
On Sat, Jul 25, 2015 at 3:38 PM, Matt Craig <mattw...@gmail.com> wrote:
> Hi William,
>
>> I personally wouldn't recommend running a course on SMC without paying us
>> something (either you or the students). We have to prioritize how we spend
>> our time and allocate resources, and prioritize the 1% of paying customers
>> *MUCH* higher. There have been many courses that have paid so far and had
>> a good experience.
>
> Is the pricing posted anywhere? I didn't realize you had paid levels of
> service....I could see using this in a few different ways.

There is no posted pricing right now, though this is something we are
very actively working on right now and we have had over 40 paying
customers :-).
Right now we're doing things on a case-by-base basis somewhat manually.
We also have a preliminary $7/month subscription, where you get to
move several projects to members-only servers. Feel free to email me
us he...@sagemath.com (or wst...@sagemath.com) with any more detailed
questions. Hearing about the ways that you would find a paid level
of service useful would help us to further refine our offerings before
we make things official.

-- William
--
William (http://wstein.org)
Reply all
Reply to author
Forward
0 new messages