Kubernetes-gebaseerd platform voor geautomatiseerde, schaalbare data science labomgevingen

Student:Lukas Nys
Richting:Master of Science in de industriële wetenschappen: informatica
Abstract:Tijdens hun studieperiode om een Master of Science in de industriële wetenschappen: informatica te behalen aan de Universiteit Gent, leren studenten de kernconcepten van verschillende data science frameworks en technologieën via verschillende data science vakken. Een deel van deze data science kennis wordt aangeleerd via verschillende labosessies, waar studenten de nodige praktijkervaring kunnen opdoen. Doorheen de jaren werden verschillende methodes gebruikt om deze labosessies te organiseren. Elk van deze methoden bracht echter uitdagingen met zich mee. Aanvankelijk werden de labosessies op de campus georganiseerd in klaslokalen, waar de studenten gebruik konden maken van de lokale werkstations die door de universiteit ter beschikking werden gesteld. De installatie van de nodige software op elk werkstation is echter een manueel en tijdrovend proces voor de docenten. Om dit manuele werk te elimineren, werd van elke student verwacht dat hij zelf de nodige software op zijn laptop installeerde en configureerde. Dit leidde echter tot diverse incompatibiliteiten tussen de vereiste software en de toestellen van de studenten. De docenten probeerden dit op te lossen door de studenten voor elke labosessie een virtuele disk of container image aan te bieden. Op deze image is alle nodige software voor de labosessie vooraf geïnstalleerd en geconfigureerd. Ook deze aanpak werkte niet zoals verwacht, aangezien meerdere studenten nog steeds problemen ondervonden door incompatibiliteiten of een gebrek aan beschikbare resources op hun persoonlijke machines. Deze masterproef richt zich op het ontwikkelen van een Kubernetes-gebaseerd platform dat labo-assistenten en docenten kunnen gebruiken om gepersonaliseerde labo-omgevingen automatisch op te zetten, te configureren en af te sluiten voor het onderwijzen van schaalbare data science. Een evaluatie van deze Kubernetes-gebaseerde methode laat een vermindering zien in het totale geheugengebruik vergeleken met de containergebaseerde methode, indien zes of meer studenten aan het lab deelnemen.
Abstract (Eng):During their study period to obtain a Master of Science in Information Engineering Technology at Ghent University, students learn the core concepts of several data science frameworks and technologies through multiple data science courses. Part of this data science knowledge is taught through various lab sessions where students can gain practical experience. Throughout the years, several methods of organising these lab sessions were used. However, each of these methods presented its challenges. Initially, lab sessions were organised on campus in classrooms, where students could use the local workstations made available by the university. However, installing the necessary software on each workstation is a manual and time-consuming process for the lecturers. In order to eliminate this manual work, every student was expected to install and configure the necessary software on their laptop. This led to various incompatibilities between the required software and the students' devices. The lecturers attempted to solve this by providing students with a virtual disk or container image for each lab session. This image has all the necessary software for the session preinstalled and preconfigured. However, this approach also did not function as expected as multiple students still encountered issues due to incompatibilities or a lack of available resources on their personal machines. This master's dissertation focuses on developing a Kubernetes-based platform that lab assistants and lecturers can use to automatically set up, configure and shut down personalised lab environments for teaching scalable data science. An evaluation of this Kubernetes-based method shows a reduction in total memory usage compared to the container-based method when six or more students attend the lab.