A grounded take on agentic coding for production environments
iximiuz Labs founder shares a grounded, hands-on look at agentic coding in a real production codebase: massive speedups, surprising failures, and why domain knowledge still matters most.
Want to learn Containers and Kubernetes internals? Struggle to understand what this Cloud Native buzz is about? On a mission to master the Server-Side craft? Then this site is for you!
iximiuz Labs founder shares a grounded, hands-on look at agentic coding in a real production codebase: massive speedups, surprising failures, and why domain knowledge still matters most.
What if we don't start from Pods, Deployments, and Service, and instead take a step back and look at how things were done in the past, with good old VMs? Can it help us understand Kubernetes faster and deeper?
There is no "versus" in the JavaScript and TypeScript relationship. My take on staying pragmatic and picking the right tool for the job.
Anchoring my experiences in the wisdom of Akin's Laws of Spacecraft Design, I explore the confluence of software design and the finesse of good writing. Yes, ChatGPT wrote this description, but the article is entirely my own work.
This series will help you learn a few debugging tools and techniques you can use to troubleshoot Docker containers and Kubernetes workloads.
How to access ports of running containers even when they are not exposed? A simple and quick solution that works for almost any container runtime including Docker Desktop, containerd, and Kubernetes.
Have you ever wondered what actually happens when you ask Docker to publish a port? How port publishing implementation differs between Docker Engine and Docker Desktop? How to publish a port with containerd? How nerdctl and Lima implement port forwarding?
Slim/distroless containers often lack the much-needed exploration and debugging tools. The article shows four different ways to put your debugging tools back into the target container.
How to explore the filesystem of a container image using nothing but the standard Docker means (and without running any containers).
How to make container images better? What does a better container image really mean? Image size vs the number of vulnerabilites. Pros and cons of using Alpine as a base image. Alpine and distroless alternatives.
"Starting programming", "Starting programming in Go", and "Starting programming Kubernetes controllers in Go" are there different challenges with the exponentially increasing level of complexity.
How to use Ephemeral Containers to debug Kubernetes workloads with and without the kubectl debug command.
Learn how to use the k8s.io/cli-runtime library to develop Kubernetes CLI tools that behave like and are as potent as the mighty kubectl.
When you are new to Docker, the number of commands to study might be truly overwhelming. This article shows a way to internalize the most important Docker commands without the brute-force memorization.
Containers aren't just processes - they are also files! What happens on the host's filesystem when containers are created, started, or exec-ed? Let's explore it using Docker-in-Docker!
How Kubernetes Custom Resources, Controllers, and Admission Webhooks combined is just a fancy way to write APIs.
Why and how to use io.TeeReader and io.MultiWriter in Go? How to connect a Writer to a Reader? How to scatter one write operation to multiple writer instances?
How to deal with Kubernetes objects in Go. How to parse JSON into Kubernetes structs. How to create generic Unstructured objects. How to create a runtime.Object by its kind. What are RESTMapper and Scheme?
There are plenty of reasons to call the Kubernetes API using a CLI or GUI HTTP client. This article will show you how to get the API server address, authenticate requests using certificates and Service Account tokens, and call the API using kubectl in the raw mode.
The article explains the most fundamental concepts of the Kubernetes API - Resources, API Groups, Kinds, and Objects - preparing the reader to the first access of the API from code.
How to turn Kubernetes cluster into FaaS platform? How can standalone VM running nothing but containerd compete with full-blow container orchestrator?
What is a Container? Container vs. VM? Docker vs. Kubernetes. How to organize the learning efficiently?
What is the difference between a Docker Container and a Kubernetes Pod? Can a Pod be created with plain Docker commands? How are Pods implemented under the hood?
Overview of Cloud Native hands-on learning resources: best places to hone Linux, Containers, Orchestration, and Cloud skills.
Why a reverse proxy returns sporadic HTTP 502s? How to configure idle connection timeout for proper upstream connection reuse?
How to run containers without Docker? How to use ctr containerd client? What is nerdctl? What is crictl?
How Docker publishes container ports on the host? How to use SO_REUSEPORT to make multiple containers listening on the same port? How to use iptables to make multiple containers exposed on the same port?
How to get the underlying socket of a net/http server or client? How to set socket options for a Go http server or client? What is a Listener? What is a Dialer?
How to quickly setup a local development environment for a server-side project? How to keep the development environment disposable? How to spin up a local Kubernetes cluster in a matter of seconds?
Sharing my understanding of DevOps, SRE, and Platform Engineering based on the first-hand experience in SRE and PE domains.
What languages I put into my programming toolbox and why.
What is Prometheus? Prometheus vs Graphite. Prometheus vs InfluxDB. Learning Prometheus and PromQL.
How to setup Prometheus playground. How to learn PromQL running example queries? How to prefill Prometheus with metric data?
What is a Prometheus metric? Metrics vs. Time Series. How scraping works?
What is a parser combinator framework? How to write parsers in Rust? nom parser example. How to handle nom errors?
How to get Nginx request rate from access.log? How to get top K failing URLs? How to query log files as time series data?
How to query moving average in Prometheus? What moving window functions Prometheus has? How to convert a range vector into instant vector?
How Prometheus vector matching works: one-to-one, one-to-many and many-to-one, many-to-many. What on/ignoring clause is for? group_left and group_right explained. Logical/set operations explained.
How not to bloat container images and decrease the cyber attack surface as a result.
How to define a module in Rust? What is a root module? How to define nested modules? How pub modifier works?
What is the difference between a bridge and a network switch? What is a managed network switch? How network can be organized in a data center?
What is a LAN? What is a network segment? Ethernet collision domains vs broadcast domains. How network switches work? How to send IP packets? VLAN vs VXLAN.
How to load local docker image into kind cluster node. Why loaded docker image may not work. How Kubernetes imagePullPolicy work.
The danger of panic in Go HTTP handler code. How panic recovery can lead to a deadlock.
What is Kubernetes Operator? Kubernetes API design. Kubernetes Custom Resources and CRDs explained.
Everything comes at a price, and the price for microservices is a myriad of CNCF projects.
Service discovery in Kubernetes takes the best of traditional client- and server-side implementations, thanks to éminence grise kube-proxy component.
REST vs RPC vs gRPC vs protobuf
Revealing the nature of container networking - it's a simple but powerful combination of Linux virtual network facilities.
Exploring the ways to balance the load between docker containers using Traefik