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
Diagram showing desired network policy configuration between frontend and backend pods

Hey, fellow server dweller šŸ‘‹ Ivan here with an exciting iximiuz Labs update! The month isn't over yet, so it's not quite time for the traditional monthly roundup. However, there have been so many updates on the platform in the past couple of weeks that they couldn't possibly fit into a single email. So, let's dive in šŸš€ Backend Revamp: Faster, Smarter, Stronger Over the past few weeks, I rolled out a significant backend rewrite at iximiuz Labs, and I couldn't be more excited to share the...

Hello šŸ‘‹ Ivan's here with November's roundup of all things Linux, Containers, Kubernetes, and Server Side šŸ§™ What I was working on This month was (extremely) development-heavy. Two-thirds of it went into the implementation of custom playground machinery and a new Kubernetes "Omni" playground, and in the last part, I was unexpectedly busy with expanding the platform's capacity and launching a new server in India šŸŽ‰ The latter became possible thanks to the support of all of you who got the premium...

Hello, fellow server dweller šŸ‘‹ I've got two exciting announcements to make. Starting with the shorter one, this year, I decided to give Black Friday a try. This is an experiment - iximiuz Labs hasn't done sales before and won't have any in the foreseeable future, at least not until next November. So, if you wanted to get a premium membership but the price felt too high, this is your rare chance to get it with a 50% discount. The offer is limited to exactly one week. Now, to the second, much...