Ivan on the Server Side


Hello friends!

Ivan's here with another monthly roundup of all things Linux, Containers, Kubernetes, and Server Side πŸ§™

The issue's main topic is iximiuz Labs' largest-ever upgrade:

  • Fresher and more streamlined look of the frontend UI πŸ’™
  • A new 5.10 Linux kernel built with nftables support (finally, we can try out kube-proxy's nftables mode).
  • New default playground user - laborant (yep, rootless containers learning for).
  • New playgrounds: Ubuntu 24.04, Debian Trixie, Fedora, and Incus (yay! more experiments).
  • Solving challenges is now possible via labctl (so that you won't need to leave the comfort of your local terminal).
  • More secretive challenge solution checks (sorry, it'll be harder to reverse-engineer the checker machinery).
  • Bug fixes and improvements (e.g., the premium status is reflected in the UI almost instantly after the purchase; font size change in the playground terminal, etc.).

...and more!

iximiuz Labs UI redesign

August is traditionally one of the quietest months, so I decided to use it as an opportunity to work on the long-wanted platform overhaul.

One of the recurring topics in my conversations with iximiuz Labs users is the "understandability" of the site's design. I often get complimented on the clarity of my (technical) writing, but when it comes to iximiuz Labs features and intended user flows, I often get to explain how to use the platform in personal conversations. I'm always happy to do that, but it's also likely an indication that I could have done a better job with the UI.

So, here is my layman's attempt at streamlining the user experience.

1. Add more text explaining the main types of content (and why and how to consume it best):

2. Add even more text elements with hints and "pro tips":

3. Unify all content "card" elements, highlighting the type and the category of the content (e.g., a Tutorial on Containers, a Challenge on Kubernetes, or a Linux Playground):

The latter, in particular, will allow adding clear Skill Paths - a special "learning path" kind of content that organizes multiple seemingly disjoint tutorials, challenges, and playgrounds into a content sequence that will help you build a certain skill (debugging containers, controlling process resources in Linux, etc.).

Check the new look out and let me know what you think about it πŸ™

Major backend overhaul

Since the platform's original release almost two years ago, I have desperately wanted two features: a non-root default user and nftables support in my custom Firecracker kernel build.

While it was possible to cover many learning scenarios with just the root user and legacy iptables, it wasn't the most future-proof setup, and it bothered me.

It took me a week of full-time work (thankfully, I'm on vacation), and I managed to implement both!

Now you can play with nftables kube-proxy mode (beta in the recently released Kubernetes 1.31), rootless Docker containers, a "modern, secure and powerful" Incus container runtime, and more in the revamped setup πŸš€

Four new playgrounds

The latter one is particularly hot. I'll definitely write about it separately, but here is a sneak peak:

incus launch images:ubuntu/22.04 my-container

The above simple command launches a Linux container. Similarly to Docker's (OCI) containers, it's isolated with namespaces and cgroups. But unlike Docker containers, it has systemd running inside! So, containerizing a whole bunch of "alternative" applications (legacy or not) with Incus becomes so much easier.

And that's not it! With a slight tweak of the above incus launch command, you can start a full-blown VM:

incus launch --vm images:ubuntu/22.04 my-vm

Last but not least, Incus can also work as a simple orchestrator launching containers and VMs on a pull of servers 🀯 So, we've got a Docker Swarm and Kubernetes competitor here, folks!

Solving challenges with labctl

Web terminals are handy for quick experimentation, but when you're working on a longer task, you might prefer the UX of your favorite local terminal emulator like iTerm2. And it's now possible with a handy labctl challenge start command!

​

Web terminal improvements

The web terminal wasn't forgotten either! A number of people reported performance issues in non-chrome browsers, and xterm.js' change log had a whole bunch of relevant fixes, so I bumped up its version. Since I'd have to retest all playgrounds after this upgrade, I decided to combine it with a long-wanted "font change" feature. And I couldn't be happier with the results! I'm currently working from a tropical island on a ''13 laptop, and the feature proved invaluable!

​

Wrapping up

There were a whole bunch of other improvements and fixes, very important for the platform's healthy future but less visible for the end users. From September on, I'm returning to the content work, including the Skill Paths and my Docker course (and challenges), but there is already a lot of things to play with on iximiuz Labs after this release.

My dream is coming true, and I'm now only 80% employed at my regular job, so I have three days a week to work on iximiuz Labs (Friday-Sunday). But this also makes iximiuz Labs my official source of income, making monetizing the project one of my top priorities. The new features I shipped this month have made the platform more valuable, and I will reflect it in the Premium tier pricing. From the second week of September, it'll become $12/mo ($100/year), so if you wanted to get premium access, now is the best time to do it at the lower price.

For my friends outside of the EU and the US, I tried enabling the PPP discount, and it was kinda painful, so I gave up. But I'm always happy to mint a personal discount code! Just send me an email briefly explaining your situation, and I'll get back to you as soon as possible.

Have a creative month!

Ivan

Ivan Velichko

Building labs.iximiuz.com - a place to help you learn Containers and Kubernetes the fun way πŸš€

Read more from Ivan Velichko

Hello πŸ‘‹ It's this time of the month again! My traditional roundup of all things Linux, Containers, Kubernetes, and Server Side, delivered straight into your inbox πŸ“¬ What I was working on October was very productive for me - I shipped no major iximiuz Labs features (it's always hard to resist the temptation!) and instead dedicated all my available time to content work. The main focus was on Container Images. It's the subject of the first module of my "panoramic" Docker course, and it is almost...

Hey there, I’ve just finished putting together everything I know about Node.js container images and figured you might find the write-up useful. If you’re working with Node.js in Docker, chances are you’ve been hit by the dilemma of which base image to use. Do you go for the default node:latest, the slimmer node:22-slim, or something super minimal like a distroless image? What about Bitnami’s alternative β€” how does it stack up? Before you jump headfirst into your next build, you might want to...

Hello πŸ‘‹ Ivan's here with a slightly delayed September roundup of all things Linux, Containers, Kubernetes, and Server Side πŸ§™ What I was working on This month, I worked on an assorted set of topics. Skill Paths First off, the skill paths! I finally finished the underlying machinery, and now iximiuz Labs supports a new type of content - short roadmaps that you can use to develop or improve a specific skill: how to debug distroless containers, how to copy images from one repository to another,...