I'm working on a graduation project that aims to create a comprehensive platform for university students. The front-end is pretty straightforward—just a basic HTML-CSS-JavaScript site that can easily handle thousands of users. I'm incorporating the Telegram bot API since it's already popular among our students. On the backend, I plan to use a Rust server to manage tasks like checking exam dates and also to function as a load balancer for resource-intensive tasks. I want to integrate features like online compilers, where students can submit assignments for grading. Isolation between each student's instance and persistent storage is extremely important for me. My thought was to run a Docker container for each student, which instructors could monitor and manage. My main question is: Can Docker handle thousands of containers, or should I be considering a different approach, like isolating processes within fewer containers? Just to clarify, I don't expect all students to be active at the same time, but I'm curious about the overall architectural soundness of deploying thousands of containers for this setup.
1 Answer
Honestly, your architecture seems a bit off. While Docker can technically handle a lot of containers, the real question is how many resources your server has and how much each container will use. I recommend rethinking your setup. Consider using a self-hosted web app solution like Autolab or Moodle, and put everything behind a load balancer like NGINX to better manage the setup.

I get where you're coming from, but I'm not building an online classroom. Many of our junior students don’t own laptops, so I thought this could provide them with the necessary environment (compiler, math plotter, etc.). I know the architecture is unconventional, but this project is more about showcasing my grasp of networking and system management solutions.