Ivan on Containers, Kubernetes, and Backend Development


Hey, hey!

It's Ivan Velichko, a software engineer and a technical storyteller. I brought you a monthly roundup of all things Containers, Kubernetes, and Backend Development from iximiuz.com.

What I Was Writing

November was the most successful month for my blog so far. It started from one of my recent posts hitting the front page of Hacker News. Honestly, I didn't see that coming when I've decided to take a deeper look at the difference between Docker Containers and Kubernetes Pods. For me, it was just genuine curiosity, and I've learned a lot about Linux namespaces and cgroups on the way. And apparently, the write-up turned out to be helpful for other people as well.

twitter profile avatar
Ivan Velichko
Twitter Logo
@iximiuz
October 30th 2021
206
Retweets
735
Likes

However, another blog post of mine attracted even more attention this month. I spent a few years learning and writing about containerization tech, and I tackled the domain from many different angles. Over time, I've come up with a certain learning order that might ease the task of grasping Docker, Kubernetes, and containers in general. So, instead of trying to explain the whole topic of containerization in one write-up, I decided to share my personal learning path. And it was accepted really well not only on Hacker News (twice in one month!) but also by a much more pretentious audience of r/programming.

twitter profile avatar
Ivan Velichko
Twitter Logo
@iximiuz
November 14th 2021
220
Retweets
809
Likes

Other things I was sharing this month:

What I Was Reading

​How to get useful answers to your questions by Julia Evans - this post is dope! The tips there are helpful for both parties - people who ask questions and people who try to explain things efficiently. My 2 cents - while asking, be proactive! Don't just listen to the explanation. Instead, interrogate (kindly) the person in front of you. Use their brain as a search engine. While answering, keep it a conversation. Pause and listen back.

​Observations of the Lindy Effect and Chesterton's Fence are two short write-ups by Matt Rickard. Matt used to be a Kubernetes contributor, and that's probably how I started following him. However, that's not why I keep following him - Matt publishes short daily essays on all things tech, and he seems to be what I would call a thinker.

​How I Motivate Myself to Write by Gergely Orosz. Gergely is a former software engineer turned engineering manager who happened to work in Big Tech (Microsoft, Uber). Recently, he left his well-paid job at Uber and now makes a comparable living from writing online. But I'm not surprised! The content he shares is just invaluable for those who want to navigate the software engineering market efficiently. Here are some gems:

​The AWS Managed NAT Gateway is Unpleasant and Not Recommended by Corey Quinn - if you are on AWS, beware of this trap.

​How Kubernetes Validates Custom Resources by Daniel Mangum. Daniel is the person behind the Crossplane project - an attempt to turn the Kubernetes Control Plane into a universal control plane to manage, well, anything. Of course, with the help of Custom Resources. So, this guy must know how this stuff works under the hood. I didn’t understand all the details in the article, but it does seem like a good read for more experienced folks. Also, I absolutely love the diagrams on Daniel's blog.

​Build Kubernetes pods with Podman play kube - this feature resembles the docker-compose thingy, but it uses Kubernetes-native Pod manifests instead of compose files. Sounds handy for local experimentation. I also enjoyed the naming change podman tries to promote - Containerfile makes much more sense to me than Dockerfile.

Tech News I've Come Across

🎬 Using Generics in Go - generics are coming. And I have some concerns. Go is a simple language, and this is its superpower. With generics, the learning curve can become exponentially steeper. Where you'd typically need to stop for a moment and decide whether to use a concrete struct or an Interface, now you’d need to start considering Generics as well. And not using generics won't be a helpful piece of advice for beginners either - they’ll have to deal with code written by some bearded guys who (ab)used generics just because they could.

​Two NPM Packages With 22 Million Weekly Downloads Found Backdoored - this sort of attack becoming more and more widespread. That’s why I use disposable and isolated dev environments and never install dev tools on my host OS.

​Trojan Source: tricks (no treats) with Unicode - I'm getting more and more paranoid... The attack seems to be pretty scary. But is it real yet?

​Dockershim removal is coming. Are you ready? - not a big deal, thanks to Kubernetes Container Runtime Interface (CRI) introduced back in 2016. Check out my visual explanation of it.

Stay Tuned

I'm giving a shot to serverless, so probably expect a write-up covering my journey in the coming week. Apart from that, I'll likely take a short break from writing in December and focus on my Skunkworks project instead - I'm still keen on the idea of augmenting my blog with some interactive playgrounds to make the learning experience truly hands-on.

Another biggish idea I have in mind is a series of articles on writing Kubernetes Controllers (or Operators, if you will). Starting from taking a look at the Kubernetes API itself, then jumping to the client-go project, and gradually moving toward more advanced stuff like Kubebuilder and Operator SDK. But it'll be likely a topic for me in January-February.

Last but not least, feel free to send me an email or drop a message on Twitter! I'm always more than just happy to chat about interesting technical challenges, and I love getting (any kind of) feedback on my content!

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