profile

Ivan on the Server Side

A satellite project of labs.iximiuz.com - an indie learning platform to master Linux, Containers, and Kubernetes the hands-on way 🚀

New ways to experiment on iximiuz Labs: instant clones and click-ops playground creation

Hello 👋 A week ago, I announced the release of Persistent Playgrounds. The feature was long-awaited and garnered significant initial traction and constructive feedback. In this follow-up email, I want to introduce the very first improvement release and outline a couple of powerful new use cases enabled by Persistent Playgrounds. But before we dive into it, I'm obligated to remind you about the ongoing Black Friday sale, and that it is the last (hence best) chance to opt in for the...

A treasure trove of eBPF learning materials 🐝

Heya 👋 I have been so heads-down with adding the support for Persistent Playgrounds that didn't get a chance to properly announce the release of the second batch of Teodor's eBPF programming series. If you missed my previous email about this work, Teodor J. Podobnik is a renowned eBPF developer and technical writer, who chose iximiuz Labs to publish his hands-on eBPF learning materials. Teodor's writing is crisp and clear, and while the tutorials are highly practical, they also come with the...
video preview

Persistent Playgrounds and Black Friday on iximiuz Labs

Good news, everyone! Playground persistence - by far the most frequently requested feature - is finally in production! It is now possible to preserve the state of the playground VMs' filesystem on exit and restore it on the next day, week, or even quarter 🎉 From the UX standpoint, the changes are minimal: The running playground page now includes a new Stop button (in the top right corner), which differs from the historically available Terminate button: stopping shuts down the playground but...

A long-awaited eBPF skill path lands on iximiuz Labs: Write your first eBPF program with eBPFChirp 🐝

Hello 👋 eBPF is one of the topics many of you have asked me to cover on iximiuz Labs - but until now, I've lacked both the time and enough production experience with the technology. That's why I couldn't be happier to announce that Teodor J. Podobnik, a renowned eBPF developer and technical writer, chose iximiuz Labs to host his new eBPF programming series. When I was getting started with eBPF myself (a few years ago), most of the available materials would: Assume deep prior knowledge of...

Ivan on the Server Side

Hello 👋 Ivan's here, with a monthly roundup of all things Server Side for September. The issue is well overdue, but I have a great excuse - I've been heads down finishing the first module of my hands-on Docker Roadmap, and I'm happy to announce it's finally ready! 🎉 What I was working on The primary focus has been on the Docker Roadmap, but this work has also resulted in a nice spin-off tutorial, which ended up being one of the most-read articles I've written 🚀 Plus, I also added some...

Get Better Playgrounds... by Solving Challenges

Hello there 👋 It's a short one, but you'll probably like it. I was checking the stats the other day and was unpleasantly surprised by the percentage of students who have tried solving iximiuz Labs hands-on challenges: Only 10% of all signed-up students have solved one or more challenges. Only half of the above people solved more than two challenges. These numbers are plain disappointing to me. However, what I also discovered is that there is a strong "core" of about 500 students who have...
Container rootfs isolation is a collective work of several namespaces simultaneously: mount, PID, cgroup, UTS, and network (with the mount namespace laying the foundation).

How Containers Work: Building a Docker-like Container From Scratch

Which Linux namespace is the most important for a container? 🤔 After spending more than a month researching the topic of how containers are created at the lowest level, I came to the conclusion that the mount namespace is the bedrock of container isolation. There is a good reason for it - Linux has long treated the filesystem as the central interface for managing processes, devices, and resources. Once you start assembling a container, it quickly becomes clear that other key namespaces - PID,...

How to Stand Out in the Tech Job Market as a DevOps/SRE/Platform Engineer

Hey, fellow server dweller 👋 I get this question a lot, so after answering it for the Nth time in a private DM, I figured I should write my thoughts down in the form of a proper post and share it publicly. If you're not looking for a job at the moment, you may still find the things I'm about to say relevant because the investment in tomorrow's dream gig starts today. Ok, here it goes. My two cents on how to stand out in the tech job market as a DevOps/SRE/Platform engineer. Hands-on...

Ivan on the Server Side

Hello 👋 Ivan's here, with a slightly overdue roundup of all things Server Side for August. What I was working on The hands-on Docker Roadmap has remained my key priority. This time, the focus is on all things container storage. And it's a surprisingly tricky topic! I've yet to find a clear explanation of how exactly mount namespaces are used in containers, and most "reproduce a Docker container using only shell commands" examples I've examined oversimplify the rootfs creation and pivot_root...
Kubernetes Container Runtime Interface (CRI): kubelet starts, stops, and executes commands in containers via an abstract CRI interface.

iximiuz Labs strategy change (and a great Kubernetes tutorial)

A bit of an unusual email today, but bear with me. TL;DR After running into the CKA pricing page for one more time, I decided to reconsider my "life choices." The all-inclusive lifetime premium plan will be going away by the end of this year. However, this is not necessarily bad news - read on! Today, a single CKA/CKAD/CKS exam costs $445, and the cert is valid for only two years. No learning materials are included in this price - if you want to add some on top, the price jumps to over $600...

A satellite project of labs.iximiuz.com - an indie learning platform to master Linux, Containers, and Kubernetes the hands-on way 🚀