Ivan on the Server Side


Hello friends!

It's time for my traditional monthly roundup of all things Linux, Containers, Kubernetes, and Server-Side craft πŸ§™

Before we get started, I want you to know that this newsletter's previous issue (dispatched mid-May) was delivered to only about 1/5th of my usual email audience due to an unfortunate DNS misconfiguration. The good news is that you can still find it and all previous issues on newsletter.iximiuz.com. Also, if you reply to this email, it'd help to restore the domain's reputation πŸ™


What I was working on

In May, I finally put the development of iximiuz Labs on pause and concentrated on delivering content πŸš€

​

Computer Networking Basics For Developers, DevOps, and Platform Engineers

I revamped and extended half a dozen of my older blog posts to create a course I wish existed when I was starting my software engineering career. It's a heavily illustrated introduction to L2-L3 networking with bite-sized sections and tens of hands-on exercises. Do recommend checking it out before you start learning Docker or Kubernetes networking!

​

Do you want to master the server-side craft faster? Learning-by-doing is one of the best ways! Get access to powerful online playgrounds and high quality learning materials with iximiuz Labs Premium and accelerate your DevOps career.

Does your company have a learning and development budget? Then this expense most likely can be reimbursed.

​

An Alternative Introduction to Dagger: Understanding the Core Concepts

This course is still in the works, but I just finished the second lesson, and it should be valuable on its own. Dagger has been on my radar for years as a fascinating piece of technology. However, my earlier attempts to start practicing it ended unsuccessfully due to various (at the time) rough UX edges. But the recently added Dagger Functions have finally made it useful for me, and I cannot stop enjoying writing my automation scripts in Go and running them in containers.

If you want to start writing Dagger Functions to automate your development workflow too, and/or are curious about the implementation details, check this lesson out:

​Writing Your First Dagger Function and Digging Into Its Runtime​

And if you want to learn what Dagger is and why you might want to use it, the first lesson should help you with that (by the way, I fully rewrote it since the original publication a couple of weeks ago πŸ™ˆ).

​

Docker Scout: Remediating CVEs in a Container Image

​The first guest challenge on the platform πŸŽ‰

Many thanks to Felipe Cruz of Docker for making it happen!

​

How-To: Kubernetes Automation Development in Go

Recorded a new video and compiled a collection of resources to help you get started with development programs that talk to Kubernetes API.

video preview​

​

Keeping iximiuz Labs playgrounds up to date πŸš€

Traditionally, upgraded all 24 DevOps playgrounds:

  • Kubernetes 1.30.1
  • Docker 26.1.3
  • Dagger 0.11.5
  • Alpine 3.20
  • Go 1.22.3
  • Node.js 22.2.0 …and more!

You can try them out:


How the platform is doing

May was the best/second-best (depending on the metric) month for iximiuz Labs since its release slightly more than a year ago.

During this year, almost 10,000 users registered on the platform, and 45,000 microVMs were fired up.

I'm enjoying working on it, and the growth is promising, but I'm still doing it in my free time and at my own expense. Here is what running the platform currently costs me:

  • $165 - worker nodes (Hetzner bare metal)
  • $65 - MongoDB cluster
  • $55 - frontend app (fly .io's machines)
  • $100 - newsletter (ConvertKit) πŸ€¦β€β™‚οΈ
  • $170 - tax consultant πŸ™ˆ
  • $40 - misc (domains, email, etc)

Total: ~$600/mo

I'm currently at $900 MRR with Gumroad and Patreon combined, and occasional sales of the lifetime access make it closer to $1,500/mo (but there is no steady pattern for the latter yet).

This makes my "profit" from iximiuz Labs something like $300-900 a month, which already covers a day or two of work πŸ’ͺ

Will I reach the escape velocity this year? It would mean so much more content and new features! 😍

If you find iximiuz Labs or my other work helpful, the best way to support me is to get iximiuz Labs Premium, either a subscription or a lifetime deal. This will mean really a lot to me, but you will also get access to more powerful playgrounds, premium challenges, and all future premium content & features.


What I was reading

🎬 Debugging Distroless Images with Kubectl Debug and CDebug - A great demo by Adrian Mouat showing the limitations of kubectl debug and how to overcome them by either using well-crafted debugging images (kudos to Chainguard’s Alpine variant) or more user-friendly debugging tools like cdebug by yours truly. Make sure also to check out this iximiuz Labs challenge I prepared a while ago to demonstrate the same set of problems.

​Debugging Distroless Images with kubectl and cdebug - a short and sweet post by Adrian Mouat extending the ideas from the previous video.

​Shrink images & debug your Docker & Kubernetes with MinToolkit (aka DockerSlim) - continuing the topic of debugging containers, Kyle Quest demos some true container wizardry on Bret Fisher’s show, including using a specialized AI assistant to guide you through the process of using mint ❀️‍πŸ”₯

​Recent Docker BuildKit Features You’re Missing Out On - A helpful read by Martin Heinz on some less-known features of docker buildx. I particularly liked docker buildx debug --invoke /bin/sh to troubleshoot failing image builds and, maybe not very recent, but extremely handy usage of here-docs in RUN and COPY instructions.


Wrapping up

That's it for May. It was a fruitful month, but it also laid a solid foundation for further content production - a few tasty things are already in the works! πŸ’ͺ

Happy learning!

Cheers

Ivan

P.S. A bit of an unusual shout-out, but I finally started learning Dutch, and I cannot recommend highly enough my teacher (and his learning platform)! It's super fun to run into someone as passionate about his edu work as I am. And nope, I'm not getting a discount for this πŸ™ˆ

video preview​

​

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,...