The Mauritius Software Craftsmanship Community (MSCC) hosts monthly meetups that bring together local developers, IT professionals, and tech enthusiasts to share knowledge, exchange ideas, and discuss emerging trends in software development, cloud technologies, DevOps, AI, and more.
The MSCC July meetup was hosted by Accenture. It was the first time that we were doing an MSCC meetup there. Their planning was meticulous and attendance on the day was strictly controlled based on the RSVP. We understood that Accenture adheres to strict company policies, a good practice especially about the RSVP attendance. The latter is often taken for granted — people who RSVP every month but never show up. 🙄 Meanwhile, there are also those who show up without RSVP'ing. They perhaps ignore how important RSVP is for the organisers to properly plan and manage a venue. Please consider being more serious about the RSVP button on the MSCC meetup.com page.
On the day, i.e Saturday 12 July, I had a talk scheduled on "Container Runtimes."
It's been a while that I wanted to do this talk and dive into the lower realms of container management. We often talk about and demo container orchestration using high level tools, while not giving much attention to the underlying technologies. Therefore, my talk was like a primer on Linux namespaces and cgroups, followed by an introduction to container engines, mentioning the low-level and high-level ones.
Before my talk, I had a very interesting discussion with Renghen. As he was going through my slide deck, he noticed that I mentioned cgroups
and he pointed out that all the modern features that we enjoy in container orchestration have been enabled thanks to cgroups v2
which was a complete overhaul of version 1, not just an update. Cgroup v2 provides more granular control over resource allocation, brought rootless features, simplifies resource management under one single unified hierarchy, among other improvements. I took note of that and included it when I spoke about control groups.
I shared a list of current actively developed container runtimes, among which I highlighted youki
— a container runtime written in Rust. I co-maintain the youki
package on the openSUSE Build Service and I wanted to share how I am using youki
as an experiment to dive deeper and learn more about the low-level workings of container management.
Youki creates and starts a container but you will need a higher level container engine to actually manage your container resources. For that, I mentioned Podman. In fact, I asked how many in the room knew about Podman and to my surprise many raised their hands. It turns out that Podman is being heavily favoured over Docker by the development team at Accenture — something I was very glad to hear as a proponent of Podman since its inception. I did an introduction to Podman at the Middlesex University in 2019, the same year the stable version of Podman was released. Since then, Podman has always been my demo tool when talking about containers.
I happily shared a few SUSE geeko plushies with the attendees that were able to answer questions that I asked about container runtimes at the end of my presentation.