Hi,
@aakashns from Jovian.ml here. Thanks for dropping a note on our forum.
We’ve seen a surge in traffic to our platform over the past couple of months due to a data analysis course we’ve been running, and that naturally translated to the increased traffic to Binder. Our intention was never to abuse the service, and I believe we could have done a better job of communicating the potential surge in traffic sooner. Sorry about that. We understand you probably had no other option but to cut us off completely.
As @siddhant mentioned, we are working on setting up our own BinderHub instance. This is mainly because we don’t have direct control over the user traffic to our site, so we can’t reliably limit the traffic we send to Binder without compromising on the user experience for our users. We hope that helps reduce the maintenance overhead for the MyBinder team.
I’d like to thank the MyBinder team on behalf of our community for providing & maintaining mybinder.org as a free service. Over 20,000 people worldwide have taken their first steps with Python & data science using Jupyter notebooks hosted on Jovian and executed on Binder. I cannot overstate how powerful it is as a beginner to be able to simply click a “Run on Binder” button and experiment with the code without having to spend hours figuring out the installation for Conda, Python, Jupyter, a bunch of libraries, especially on Windows, which is the OS most people use. The first steps into programming or data science shouldn’t be this hard, and services like Binder offer a way of making them easier.
Based on interactions with our users, we can clearly see that there are millions of people out there - in India, South-East Asia, Africa, South America, the Middle East (and of course Europe and North America) who are looking to take these first steps, and they could really use a free service like MyBinder to help them in the process. We’d love to see MyBinder grow to support 10x, 100x or 1000x the amount of traffic it is serving today - and it is truly something the worldwide data science community needs.
Here are some concrete ideas for how this can be made possible, based on our experience of using Binder over the past year:
- Support for running a single Jupyter notebook file, apart from full Git repositories. Most people who are new to the domain of data science aren’t familiar with Git and are just looking to run a notebook.
- Decouple the environment Docker image from the source code files, so that a new build does not have to be triggered if there’s already a built image for an
environment.yml
file.
- Provide a way to mix & match environment Docker images with source files. While what Binder currently offers is quite flexible & powerful, most people are really just looking to run a Juptyer notebook with a bunch of data science libraries pre-installed. At Jovian, we’d love to use the same Docker image for all our notebooks - not only will it avoid rebuilding but it will also save a lot of waiting time for our users.
- Provide an easy way for companies & institutions to add their spare compute capacity to MyBinder . Consider listing Binder as an application on the AWS, Google & Azure marketplaces, so that companies can set up a Binder cluster for internal use with a few clicks, and opt-in to provide their spare capacity to MyBinder.
- Provide an API for programmatically launching, monitoring and shutting down instances on Binder. We are currently creating Git repositories and redirecting users to MyBinder URLs constructed on our backend to support the “Run on Binder” functionality.
- Support some way of user authentication - not only for privacy reasons but also for rate-limiting. Right now there doesn’t seem to be an easy way of preventing one user launching 100 instances on Binder.
- Add some documentation regarding the capacity MyBinder supports and best practices for using the service for online courses etc. so companies/institutions can make a more informed choice while picking an execution platform and avoid causing disruptions to MyBinder.
I apologize if any of these have already been implemented, we haven’t been tracking new releases very closely. I’m sure I’m not the first to think of these, and it’s possible that most if not all of these are already on your roadmap.
We’re a small team ourselves, but we’d love to help in any way we can. Thanks again!
Peace!