Two demos of programming inside the Web browser with Theia for Java and PHP, using Docker

Theia is a Web IDE that can be used to offer a development environment displayed in a Web browser.

I’ve recorded 2 screencasts of running Theia inside Docker containers, to develop Java and PHP applications, respectively using Maven and Composer (the latter is a Symfony application).
Continue reading “Two demos of programming inside the Web browser with Theia for Java and PHP, using Docker”

Demo of displaying labtainers labs in a Web browser through Guacamole

Here’s a first report on trying to add Guacamole to Labtainers in order to allow running Labtainers in a headless way, without an X display, in containers, and accessing the GUI in a Web browser, through the use of VNC and Guacamole.

We’ve casted a demo of it :

Labtainer + Guacamole demo on Vimeo.

Continue reading “Demo of displaying labtainers labs in a Web browser through Guacamole”

First tests of virtual labs for a Network-related MOOC in the frame of project FLIRT

We’ve been working, in project FLIRT, together with our partner ProCAN and with the help of the FUN MOOC team, on integrating a virtual desktops solution for MOOC labs. The idea is that instead of downloading a VM image to perform labs in a VirtualBox VM locally, participants of the MOOC can execute the lab in a Cloud VM, in a “Desktop as a Service” environment, accessing that Desktop through a full-screen display in their Web browser. Thus, no installation is needed on the participant’s machine.

ProCAN has been busy improving their CloVER platform to provide such a feature, which is being tested for a few weeks with (paying) participants of an IMT MOOC on principles of networking, hosted on the FUN MOOC platform.

The participants interested in a “value added” variant fo the MOOC will pay for obtaining a certificate, and having access to this “Desktop as a Service” lab environment. Free participants will have to install a VM image in a more traditional way.

So far it seems the solution works as expected (with a relatively low number of users for this first experiment). It uses the “basic” CloVER plan, wich manages IaaS VMs (hosted on an OpenStack cloud). There have been a few useability issues, which are being solved (copy/paste, shared files, which required some tuning of the Guacamole integration, under the hood).

CloVER acts as a broker between OpenEdX and OpenStack, by managing the making and deployment of VMs (for professors and MOOC participants) and so as to allow teaching assistants to support the execution of the labs if need be.

We plan to experiment with a container-based variant with the upcoming “pro” plan of the CloVER platform in the coming months (for other MOOCs or SPOCs). That new version should also bring new features for an educational context, like collaborative use of the virtual environments. But the main benefit will probably be the improved start speed for deploying a new desktop for a participant, and an improved life-cycle for the execution of the virtualized labs. At the moment, the current IaaS based variant relies in always-on VMs per participant, for the whole duration the the labs, even though the machine is used in a sparse way. With containers, we can make sure to activate the DaaS only when the user actually works on the lab, provided that we can save the user’s session in a persistant storage, of course. That’s for the current R&D efforts at ProCAN.

In the making of this integration, we should thank the FUN MOOC team, for the useful collaboration, in making sure it’s easier to integrate external services with the OpenEdX platform operated by FUN MOOC. We’ve worked together on improving the use of a generic XBlock connector, using LTI to better integrate CloVER and OpenEdX. This should be helpful for other MOOCs hosted by FUN MOOC in the future.

The future FLIRT MOOCs should be able to test the evolutions of the CloVER DaaS solution, but this will require also some work on the educators side, to make sure we master the technology used to create containers, integrate them in a learning process, etc.

A review of Virtual Labs virtualization solutions for MOOCs

I’ve just uploaded a new memo A review of Virtual Labs virtualization solutions for MOOCs in the form of a page on my blog, before I eventually publish something more elaborated (and valuated by peer review).

The subtitle is “From Virtual Machines running locally or on IaaS, to containers on a PaaS, up to hypothetical ports of tools to WebAssembly for serverless execution in the Web browser

Excerpt from the intro :

In this memo, we try to draw an overview of some benefits and concerns with existing approaches at using virtualization techniques for running Virtual Labs, as distributions of tools made available for distant learners.

We describe 3 main technical architectures: (1) running Virtual Machine images locally on a virtual machine manager, or (2) displaying the remote execution of similar virtual machines on a IaaS cloud, and (3) the potential of connecting to the remote execution of minimized containers on a remote PaaS cloud.

We then elaborate on some perspectives for locally running ports of applications to the WebAssembly virtual machine of the modern Web browsers.

I hope this will be of some interest for some.

Continue reading “A review of Virtual Labs virtualization solutions for MOOCs”