Ivan on Containers, Kubernetes, and Backend Development


Hey, hey!

It's Ivan Velichko, from iximiuz.com! It's the end of the year, so it's time for a little retrospective, presents, and future plans 🎉

I've been blogging persistently for the past few years, and 2021 became the year for my blog. This year, the grand total of six articles of mine hit the front page of Hacker News, and I'm thankful to all of you for that tremendous level of support:

​

​

The SEO traffic also kept growing and almost quadrupled since the summer:

​

​

On the blog, I strive to publish stuff that stays relevant for at least a few years. The ever-increasing number of posts (60+ at the time of writing this email) and the growing traffic made me think it's time to improve the blog structure. So, I spent the first half of December redesigning the site, and I'm ready to present you with the results:

​

The update includes:

I hope the redesign will help readers to explore the materials. But I also tend to see it as the first step toward my more ambitious goal - repurposing this site from a personal blog to an educational resource. In the long run, I see it as a place with a rich set of high-quality learning materials (ideally augmented with interactive in-browser labs) where readers could return again and again to improve their Cloud-Native and Server-Side skills.

With all the above happenings, I have a strong motivation to double down on my writing (and drawings) in 2022. I'm not going to give up my engineering job yet because it keeps me hands-on, but I'd love to find an opportunity to spend more time on the blog in the coming year. So, I'm starting to think of ways to fund this activity. Have an idea? Drop me a message!

What I Was Writing

Two full-fledged blog posts this month:

  • ​OpenFaaS - Run Containerized Functions On Your Own Terms. From my prior AWS experience, I kept warm memories of the AWS Lambda service. So, I was pleasantly surprised to learn how simple it is to get a comparable but fully self-hosted FaaS solution. Here is my evaluation of the OpenFaaS project - both from the developer's and operator's standpoint. It'll highly likely become an integral part of the learning platform I'm working on.
  • ​Containers 101: attach vs. exec - what's the difference? A true 101 topic but explained deeply. Say no to memorization, only real understanding matters.

And one twitter thread with a huge collection of Kubernetes GUI/UI/CLI clients. My personal favorites are k9s (terminal dashboard) and Octant (browser dashboard). Although, I still use kubectl 99.9% of the time.

What I Was Reading

  • ​Kubernetes isn't about containers - yes, yes, and yes! It's about the control plane and APIs! Kubernetes API became a lingua franca for infra folks doing all kinds of automation. That's why I've already started working on a series of articles on Kubernetes API and how to access it with client-go (an impressive piece of software for a simple HTTP client).
  • ​CUE is an exciting configuration language - YAML was supposed to become a human-friendly format replacing the way too verbose JSON. And for small pieces of configs, it indeed has. However, when YAML files get bigger, maintaining them becomes a nightmare. CUE to the rescue! CUE is as concise as YAML, as machine-friendly as JSON, and also offers embedded schema validation and primitive scripting. It'll definitely be my new favorite toy in 2022.
  • ​U-Shaped Utility of Monorepos - Matt's take on monorepos. Monorepos didn't exist for me until I joined a big company with thousands of developers and hundreds of services. At first, I was (unpleasantly) surprised. But now, I see them as a cool engineering challenge that, when solved properly, has a huge positive impact on DevEx.

Tech News I've Come Across

Stay Tuned

That's it for now. I wish you a Happy New Year and see you all in January!

Stay safe!

Cheers,

Ivan Velichko

P.S. If you find this newsletter helpful, please spread the word - forward this email to your friend :)

Ivan Velichko

Building labs.iximiuz.com - a place to help you learn Containers and Kubernetes the fun way 🚀

Read more from Ivan Velichko

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

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

Hello friends! Ivan's here with a slightly delayed July roundup of all things Linux, Containers, Kubernetes, and Server Side 🧙 What I was working on This month, I got nerd-sniped by cgroups. It all started when I ran into a pretty significant difference in how Docker and Kubernetes handle the OOM events. When you limit the memory usage of a multi-process Docker container, the OOM killer often terminates only one of the processes if the container runs out of memory. If this process is not the...