KubeCloud is a small-scale, tangible cloud computing environment we have created for teaching and research purposes during our master's thesis. The environment consists of four Raspberry Pis connected through a network switch which resembles a small-scale datacenter. KubeCloud lets you demystify "the cloud" in a tangible way by visualizing where tasks are scheduled while allowing for fault injection.
KubeCloud has been used as a learning object in a course introducing cloud computing and resilience in distributed systems during which surveys and evaluations were made. The findings and further details can be found in our master's thesis. We are going to upload material on how to build the clusters we used, how to configure them, workshops for teaching, and several other experiences from the process.
Recently, we did an interview with Software Engineering Daily about what KubeCloud is and why we find it necessary. The podcast is available here: https://dev.to/sedaily/kubecloud-tangible-cloud-computing-with-kasper-nissen-and-martin-jensen.
We have been regular listeners of SEDaily for the past half a year. It was therefore really exciting to be invited to the show. Jeff Meyerson, the host of SEDaily, does an amazing job hosting the show and finding interesting topics to discuss. We would recommend everybody with interest in Software Engineering to listen to the podcasts.
A small teaser is provided by Software Engineering Daily:
At most universities, there is not a course titled “cloud computing”. Most students leave college without an understanding of distributed systems, cloud service providers, and the fundamentals of how a data center works. Kasper Nissen and Martin Jensen are changing that with KubeCloud, a small tangible cloud computing cluster that runs on Raspberry Pis.
Kasper and Martin started KubeCloud as a masters thesis, and it is grown to a textbook-sized treatise on cloud computing. KubeCloud is both software and a curriculum to teach students microservices, containers management, and the real-world problems of distributed systems.