Building an experimental virtual labs cloud with Eclipse Che on a private k8s cloud in the university

I’ve been experimenting with various virtual labs technologies in the last years. Even if the recent months have kept me away from my blog, I think it’s time for an update on what we’re trying to experiment, when the pandemics consequences permit.

We’re aiming at experimenting, for next fall’s back to school, the use of Eclipse Che for computer science labs, for some of our students. I’ve “hired” a team of motivated students to help me with this project, and we bought a nice server to host our experiments.

Eclipse Che provides a “so called” Kubernetes-ready Web IDE and other tools that can be used in programming/development projects (test tools, language integrations, etc.). Why not for the labs in the university.

We’re looking forward to test its use by our students, deployed on a private k8s cluster, to be able to evaluate the UX for our coding labs. This should provide some benefits in terms of ease of deployment for programming environments that our students can use for distance learning, compared to the current situation which requires local installation of an IDE, and language tools. This should save us of having to support such installations on various operating systems (including machines in our traditional labs, inside the school walls).

The pandemics has forced us to switch to distance learning, without sufficient preparation (and resources), which resulted in rather chaotic situations for some students. We seek to evaluate if such “cloud labs” could bring some agility in the rollout of some classes.

Beyond the evaluation of the learner experience, this evaluation also aims at understanding if this brings some benefits for the professors too. I’m thinking of applying some sort of devops-related process to the fabrication of learning materials, for the labs parts. This may result in additional quality. I’ve written before on some of these ideas, if you’re curious. I’m not completely sure of the reception by my faculty colleagues, sometimes afraid by all this cloud buzz.

Another aspect of this evaluation would be on the TCO or other related economic aspects. The impact on our IT department could be meaningful, if we’re changing paradigm.

As we’ll be using Eclipse Che in the novel context of programming labs, this should require the development of some integration with our LMS. The initial step is authenticating students, which should be feasable with Keycloak and Shibboleth/SAML. Next, I’m thinking of an LTI plugin to plug Eclipse Che and Moodle. In the end, I’d like to have some tools to be able to provide traces of activity for the labs, so as to include that in learner activity dashboards. This could be used for formative evaluation, grading and such, but also to assess the calibration of effort of teaching instructions, problems, and other activities which student perform in an unattended way. This is particularly important I think so that labs aren’t performed like in a tunnel, where instructors have poor visibility on what difficulties students are facing. This is even more important in distance learning situations, we’re all confronted to at the moment.
Back to Eclipse Che, it isn’t particularly designed for learning environments, so I hope our use cases will be compatible with the other mainstream uses. I’m a member of the Eclipse community (formally, but not really active), but I hope I’ll have enough time and energy to be able to bring such use cases in the community, and hopefully find other parties interested.

Somehow, the pandemics acts, here also, as a factor of increased digitization, but I’d prefer to be conservative, with a few key principles, in line with our public service nature : using free software/open source technology, hosting on our own private infrastructure (respecting our users privacy), drinking our own champagne (i.e. using the same tools for producing teaching materials, and delivering labs, for instance), and eventually contributing what we’ve assembled as reusable components for others.

In the end, the only measurable success factor should be the increase in learning efficiency, hopefully.

I’ll try to blog on our progress along the way. Stay tuned.

Mixing NRELab’s Antidote and Eclipse Che on the same k8s cluster

You may have heard of my search for Cloud solutions to run labs in an academic context, with a focus on free an open source solutions . You may read previous installments of this blog, or for a shorter, check the presentation I’ve recorded last week.

I’ve become quite interested, in the latest month, in 2 projects: NRELab’s Antidote and  Eclipse Che.

Antidote is the software that powers NRELabs, a labs platform for learning network automation, which runs on top of Kubernetes (k8s). The interesting thing is that for each learner, there can be a dedicated k8s namespace with multiple virtual nodes running on a separate network. This can be used in the context of virtual classes/labs where our students will perform network labs in parallel on the same cluster.

Eclipse Che powers Eclipse “on the Cloud”, making available software development environments, for developers, on a Kubernetes Cloud. Developers typically work from a Web page instead of installing local development tools.

Both projects seem quite complementary. For one, we both teach networks and software developments. So that would naturally appeal for many professors.

Furthermore, Eclipse Che provides a few features that Antidote is lacking : authenticating users (with keycloak), and persisting their work in workspaces, between work sessions. Typically what we need in our academic context where students will work on the same labs during scheduled classes, week after week, during or off-hours.

Thus it would be great to have more integration between the 2 environments.

I intend to work on that front, but that takes time, as running stuff on Kubernetes isn’t exactly trivial, at least when you’re like me and want to use a “vanilla” kubernetes.

I’ve mainly relied on running k8s inside VMs using Vagrant and/or minikube so far.

A first milestone I’ve achieved is making sure that Antidote and Eclipse Che aren’t incompatible. Antidote’s “selfmedicate” script was actually running inside a Vagrant VM, where I had difficulties installing Eclipse Che (probably because of old software, or particular networking setup details). I’ve overcome this hurdle, as I’m now able to install both environments on a single Kubernetes VM (using my own Vagrant setup).

Running Eclipse Che (alongsite Antidote) on a k8s Vagrant VM.

This proves only that there’s no show stopper there, but a lot of work remains.

Stay tuned.

Update: I’ve finally managed to get it to work on the antidote-selfmedicate base too. See my branch at: https://github.com/olberger/antidote-selfmedicate/tree/che

Experimenting on distant labs and labs on the Cloud

I have delivered a speech last week about some ideas and experiments I have about the use of remote access and Cloud technologies for labs. I have collected the speech recording and stuff, in french, in another post.

The presentation was in french originaly, so I’ve quickly translated my slides and recorded an english version.

I mention tools like Guacamole, MeshCentral, NRELab’s Antidote, Eclipse Che and Labtainers, as well as k8s and Docker, as interesting tools that may allow us to continue teaching in labs while allowing more flexibility, distant learning, and hopefully improved quality.

You can find the slides here: https://speakerdeck.com/oberger/experimenting-on-distant-labs-and-labs-on-the-cloud, and the recording is here:

Experimenting on distant labs and labs on the Cloud.

Expérimentations autour de TPs en distanciel, TPs sur le Cloud

J’ai participé au colloque IMT4ET de l’IMT, pour faire une courte présentation sur le thème des Travaux Pratiques à distance et des expérimentations sur les TP “virtuels” sur le Cloud sur lesquelles je travaille en ce moment.

Update: a version in english is also available.

J’y parle de Guacamole et MeshCentral, d’Antidote, de Eclipse Che et de Labtainers, les différents trucs excitants du moment, mais aussi de kubernetes, docker et de trucs louches comme du DevOps académique 😉

Les slides sont disponibles en ligne, et voici une vidéo ou j’expose mes idées sur la question :

Update : une version rédigée de mon propos est parue sur le site “Innovation pédagogique”, si vous préférez une version textuelle.

N’hésitez pas à me contacter si vous voulez creuser les sujets présentés, pour collaborer sur tous ces outils en logiciel libre.

Antidote and NRELabs presentation at Paris Open Source Summit 2019

I’ve just presented Antidote and the NRELabs platform at Paris Open Source Summit 2019. Here are the slides of the presentation : Antidote: virtualized learning labs running over kubernetes

I made a demo and the speech in front of the few people left, unfortunately, as the conference attendance suffered from the ongoing strikes in France (opposing the pensions system reform).

In any case, I hope it triggered some interest for the platform and the project.

Many thanks to the organizers for the very nice athmosphere, despite the rather low attendance.

Also, thanks to the HubLinked project who allowed me to work on the project and participate to the summit.