Categories

Architecture

Kafka without ZooKeeper: KRaft in production

Kafka 4.0, released on 18 March 2025, cannot start with ZooKeeper at all, so KRaft is the only option left. Metadata management now lives inside Kafka itself, a path that opened with KIP-500 in 2019 and became production-ready in Kafka 3.3. Migration is mandatory, and it shifts daily operations.

Architecture

containerd 2.0 in production: real migrations

Six months after containerd 2.0 reached general availability there is enough real-world mileage to judge the migration from the 1.x branch in production. We cover what changes in the config file, what breaks on Kubernetes and Docker Swarm, and when planning the jump actually pays off.

Architecture

Valkey as a Redis replacement: a real migration with Valkey 8.1

Valkey 8.1, released on March 31, is protocol and command compatible with Redis 7.x, so most existing clients connect without code changes. Swapping Valkey in for Redis is a realistic move once you plan the cutover: dump and restore is the simplest path, while zero downtime needs asymmetric replication. We moved our first production cluster two weeks ago.

Software Development

Next.js App Router: Lessons from Migrating Real Projects

App Router went stable in Next.js 13.4 (May 2023), bringing Server Components, layered caching, and Server Actions, but it demands rethinking the application's mental model. Migrating from Pages Router pays off for new projects and read-only routes; for large applications, the realistic path is incremental, route by route, over several months.