The list of possible topics for the current academic year are the following:
Liqo is an open-source project, started at Politecnico di Torino, which recently originated a spin-off company, ArubaKube. Liqo enables multiple Kubernetes clusters to share their own resources, which is leveraged by our University to handle peaks of demands such as during exams (see the blog post).
Currently, the Liqo project has been used as the foundation for the Eu-based FLUIDOS project, which is currently developing extensions such as the REAR protocol (https://github.com/topix-hackademy/Rear/).
The Liqo Dashboard (live example - source code repository) is a small project that enables the visualization of some information about the peered clusters, such as the resources shared and/or consumed.
This project aims at extending the Liqo dashboard to simplify (and enable) the peering/un-peering directly from the web, e.g., by enabling the dynamic creation of a "token" that can be used to peer to the given cluster, albeit with limited resources. This should be integrated within the FLUIDOS architecture, which enables users to advertise a specific set of resources.
Optionally, the peering should be torn down after some time (e.g., days), in order to demonstrate the advantages of the technology, while reducing the risks of mis-use of the above technology.
Technologies: Kubernetes, Go, Javascript, React, Git
Student: XXX; tutor: Francesco Cappa, Fulvio Risso
Liqo collects minimal (and anonymized) telemetry data about its usage, sending it periodically to a cloud repository. However, the current proof-of-concept dashboard, written in REACT is not able to process the volume of data that is currently present on the cloud.
This project aims at improving and extending the current dashboard with server-side functions, based on the GraphQL language, that can speed-up the processing, by moving some of the processing logic from the client side to the server side. The project may require to implement also some changes to the dashboard, which implies a good knowledge of the React Javascript framework.
Technologies: Kubernetes, Python/Golang, GraphQL, Javascript, React, (minimal) Git
Students: Simone Pio Candido (s337165); tutor: Fulvio Risso, Francesco Cheinasso(ArubaKube)
A recent CrownLabs project introduced the support for cloud native storage based based on NFS volumes provisioned by the cluster. Currently each user is provided with a personal volume that is mounted onto all instance he creates. However, this is just personal space, with no support for shared folders, e.g., among all users of a group. Purpose of this project is to:
study/explore volume sharing solutions
prepare and implement the solution on the Kubernetes backend
provide integration of the feature into the frontend
Technologies: Kubernetes, Go, Javascript, React, Git
Student: Alessio Giliberti (s344956), Chiara Mercurio (s344957); tutor: Federico Cucinella
CrownLabs is an excellent online service enabling students to play with (and use) cloud computing capabilities and resources. In particular, it allows users to start dedicated execution environments (virtual machines, containers) targeting their courses, with all the software running in there. However, due to historical reasons, the physical servers that host CrownLabs have different characteristics (e.g. CPU speed; memory; availability of GPUs), hence jobs can perform different on different machines. This project aims at:
Enhance the GUI frontend to enable users to select the node their service will run upon (e.g., "start VM1 on server3").
Update the CrownLabs backend in order to fulfill the “node selection” request set by the user. Given that CrownLabs, thanks to the Liqo.io project, is also able to leverage resource present in a distant datacenter, the capability of selecting a specific Kubernetes node has to be validated also with Liqo.
Technologies: Docker, Kubernetes, Bash, Go for the backend. JavaScript and React for the frontend.
Student: Loris Catalano (s344007); tutors: Federico Cucinella, Fulvio Risso