3 ms·
I have a question about hosting costs - not a SW. Suppose I write some educational Jupyter notebooks, which are not particularly resource intensive, say 100 se
by abdullahkhalids 5y ago
I have a question about hosting costs - not a SW.
Suppose I write some educational Jupyter notebooks, which are not particularly resource intensive, say 100 seconds of compute time per notebook. I host them on some cloud server, using something like OP, and get a 1000 people to learn from it. Maybe they end up using say,
1000 people x 5 notebooks x 100 seconds/run x 20 runs of each notebook = 10 million seconds of compute time.
How much would such a server cost to host, where "many" of these people are working on the notebooks together? Just need a rough estimate.
- qayxc 5y agoThis could cost anywhere from nothing (e.g. free) to 3-figures (in USD) depending on the specifics. How many users are accessing the notebooks concurrently (e.g. all 1000 or only a dozen at a given time)? Is there any downtime, i.e. do the users come from the same time zone, so that app can have inactive hours (say it's OK to be unreachable during the night)? Depending on the specifics, free hosting may be available (e.g. via Heroku, Google Colab, AWS Free Tier etc.). As far as paid offers go, this is way too unspecific to be answered in a meaningful way. The answer depends on the actual resource requirements (RAM, storage, data transfer, CPU cores), estimated usage patterns (concurrent users), and your location. TBH, if no commercial interest is involved, just hosting the notebooks on Github or making them accessible via Google Colab would be the easiest option.
- abdullahkhalids 5y agoWe run a non-profit minimal-budget workshop where currently hundreds of people work together at the same time, but they run code on their own computer. But making people install Jupyter and other python packages on their computer is difficult. So we are exploring the possibility of the hosting the notebooks ourselves. We don't want options like Google Colab, because we want the experience to be tightly integrated (there are also issues around GDPR). So we want to run our own server. If we can run a ten-day workshop of 500-1000 people, where most people work everyday at the same time in a 5 hour slot, and keep costs under 50-100 usd, we would make the switch. But I understand that it is difficult to make estimates without trying how much resource usage there actually is.
- dachryn 5y agoWould a cloud provider be in the option at all? Zepl is pretty cheap, althoug not jupyter. Stuff like Google cloud managed notebooks are also pretty cheap, you can create a template, and one-click on demand create, kill it at the end of the day. There is an option for 7 cent/hour per user. 5 hours = roughly 50 cent, so above your budget but soo easy from a management point of view. And infinitely scalable. You could also start messing indeed by just installing it on a cloud server and only turning it on for those 5 hours you actually need it. And if you still want to install yourselves, look at tlhj (the littlest jupyter hub). We use that succesfully internally, but it takes a few hours to get everything configured the way you like it. Sill a lot better than actually installing a proper jupyter server imo.
- cycomanic 5y agoHave a look at https://cocalc.com/ https://cocalc.com/ (I'm not affiliated), they provide essentially what you want (although I doubt at the price point you are talking).
- qayxc 5y agoWell, with that tight of a budget the best option would be to find a sponsor tbh. Just contact local(!) hosting providers and ask if they could sponsor such events. This would mean advertisement for them (maybe even tax deductible depending on the legal status of your organisation) and free resources for you. I can't think of any kind of on-demand service that will handle 500-1000 concurrent users for 50 hours that's under 100 USD. AWS nano instances are 0.256 USD per user per 50 hours (e.g. your workshop scenario), but that's still above your budget even with 500 users. Basically you'd need to find an on-demand hyperscaler that offers instances with ~1GiB + 1vCPU for less than 0.004 USD/h (500 users) or 0.002 USD/h (1000 users). Working on providing a simplified local install method (e.g. a docker image or a VM image hosted somewhere cheap) is the only realistic way to stay within your budget.
- ianbooker 5y agoWe host at this scale on a dedicated server and it is roughly 0.5 Euro per user per month. We provide this no matter the season and usage is very seasonal for us ;) We also provide way more computational bandwidth that would be necessary, so I guess you can provision this for half the cost, just be sure to put out the right restrictions for resource usage.
- abdullahkhalids 5y agoThanks for the quantitative answer. At half cost that's 250 dollars a month, which unfortunately is currently outside our non-profit budget.
- willj 5y agoI’m not sure if you’re aware of this option already, but Google Colab sounds ideal for this situation. People get a copy of your notebook, which they can run, edit, and try new things, and all the computational resources are free. It even offers access to GPU. It’s a surprisingly robust resource. There are runtime limits, but they’re something like 12 hours, so your use case fits in there easily. Hope this helps!
- protoduction 5y agoYou could consider an in browser notebook to get your cost down to near nothing - it depends a bit on what kind of tasks your students do whether they fit in the browser (one wouldn't train a large neural network in one for instance) There's Starboard (which I'm building, it's built specifically for the browser and can integrate into a larger app deeply) and JupyterLite (the closest you will get to JupyterLab in the browser), either can be a good choice depending on your requirements. Both use Pyodide for the Python runtime. [1]: https://github.com/gzuidhof/starboard-notebook https://github.com/gzuidhof/starboard-notebook, demo: https://starboard.gg https://starboard.gg [2]: https://jupyterlite.readthedocs.io/en/latest/ https://jupyterlite.readthedocs.io/en/latest/
- hereforcomments 5y agoJust use Google Colab. It's completely free. I used to teach 300 people on it while sharing my notebook with them and live streaming my sessions.