Gamified Exam CTF Hands On Cloud Native
  • ADLS
  • Completed
  • Retrospective

LVA „Hands-On Cloud Native“ interim results at Easter

LVA "Hands-On Cloud Native" interim results at Easter

30 hours of lectures/exercises and 2 Capture the Flag events have taken place, and just in time for the Easter holidays, we are taking stock to reflect on the feedback and adjust the following two thirds accordingly:

All age groups took part in the entrance examination and were given relatively difficult CTF challenges to prepare them realistically for the (heavy) workload. This can be considered a success, as only those students who passed the first partial exam remained after the first lecture.  For the lecturers, these first CTFs were an important milestone in testing the flexibility of the cloud platform, and there was definitely room for improvement, particularly in the area of user onboarding but also in admin tooling. The challenges themselves can be reused unchanged and are stored as pull requests in the project backlog.

After an introduction to "Cloud and Infrastructure as Code" and the founding of three "start-ups" based on so-called value propositions in week 1, Linux kernel and security specialists Richard Weinberger and David Gstir visited us in week 2. Their workshop on one of the essential basic principles of the cloud, namely how namespaces and cgroups are used to create a container runtime, was received by the students as follows:

"I found the workshop to be very well structured. We went through the topics step by step and improved our programme step by step. This made it easy to understand what was happening and what it all meant. I think they conveyed the whole topic in a way that was easy to understand. I'm not an expert on namespaces now, but I feel like I've gained a good basic understanding that I can build on myself. And it was a pleasant atmosphere where you didn't have to be embarrassed to ask questions, which I always find very important."

"Linux Containers and namespaces in the Linux kernel are a complex topic and can often be very confusing (at least for me). However, both of the instructors, Richard Weinberger and David Gstir, managed to cram a lot of information into this workshop, without it being overwhelming. I did not have much prior knowledge on this topic, but I still managed to follow along in the theoretical and practical parts. It was fun, challenging and engaging and I felt confident asking questions whenever I had any. I would give the workshop a perfect 5/7"

"The lecture was very informative and hands-on, which made it interesting to follow. An improvement for the slides could be some short summary for all the C-code patches we applied, explaining how they work and what they change each time, so that it is easier to go through everything again at home. Nonetheless, it was explained well and detailed during the lecture and it was impressive to see what can be done with the C language."

"It was amazing to listen to people with that level of experience! Thank you for organizing it, and David and Richard for guiding us through that deep dive into the core! To be honest, I needed to actively search for anything that could have even been considered as an improvement to their workshop. Perhaps they could provide participants a fully pre-configured environment with all the resources (e.g. diffs checked-in into a repository) and tools (including tooling configurations that enable the participants to immediately perceive complex coherences) on it? That could possibly enable them to keep a high pace during the workshop without risking to lose anyone on the way. In order to challenge the participants' newly gained knowledge, they could also prepare small programming exercises focusing on the different parts of the workshop that enable the participants to consolidate their knowledge in a more active way as this understandably cannot be done during the workshop itself."

"David and Richard demonstrate the incremental implementation of a basic container runtime engine within fivehundredsomething lines of C, thereby showing step by step the principles of container isolation via namespaces. Even for someone whose daily business is neither system programming nor C the presentation could be followed quite well, some fundamental knowledge on the inner workings of a unixoid system, especially the virtual filesystems, provided. The workshop was very well paced, especially due to the "play-along" format, which allowed to immediately try out things in the own environment. I appreciated this a lot. All in all it was great to attend this lecture and I'd like to thank the presenters as well as Constanze Roedig for making this accessible to us!"

Subsequently, the startups explored the value of a representative development setup, appropriate feedback cycles, and rapid decision-making. Collaborative group work on the "startups" is intended to illustrate the importance of conflict-free interpersonal work and the usefulness of explicit communication methods.

The third week focused on artefacts, their automation and standardised distribution processes: best practices for continuous integration in the supply chain were discussed and their realistic interpretation applied to start-ups. The latest trends, such as software inventory and SBOM, were also briefly outlined, along with how young start-ups should evaluate them.

Shortly before the partial examination, the students (and their start-ups) were given their own Kubernetes and openly discussed the risks of operations, shared ownership and SLAs over the Easter holidays.
 
Despite occasional fatigue, the lecturer thoroughly enjoyed working with the highly motivated students and is looking forward to the rest of the summer semester. 

LVA in the curriculum (TISS) SoSe23 and materials:

https://tiss.tuwien.ac.at/course/courseDetails.xhtml?dswid=5849&dsrid=237&courseNr=194131&semester=2023S&dsrid=947

The lecture materials will be made available as open source as far as possible and can be found here. It is also possible to attend individual lectures, but registration with the lecturer is required (up to approximately two days in advance):

https://dev.azure.com/AOCC-Lectures/HandsOnCloudNative/_wiki/wikis/HandsOnCloudNative.wiki/1/Welcome-to-LVA-194131-HandsOn-CloudNative-