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

Hey there 👋 I spent a few weeks deep diving into cgroup v2, and I'm happy to share my findings with you! Everyone knows that Docker and Kubernetes use cgroups to limit the resources of containers and Pods. But did you know that it's very easy to run an arbitrary Linux process in a cgroup using much more basic tools? The only kernel's interface for cgroups is the virtual filesystem called cgroupfs typically mounted at /sys/fs/cgroup. Creating folders there and writing to files in them is...

Hello friends! Ivan's here with the June roundup of all things Linux, Containers, Kubernetes, and Server-Side craft 🧙 What I was working on The first two lessons (and a few challenges) of my "Alternative Introduction to Dagger" course have not sparked much interest among my students, so I had to put this work on pause. With a heavy heart, though, because I do like Dagger, and I was enjoying working on the content about it. But no interest means fewer iximiuz Labs Premium subscribers, and I...

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