Microservices: The Most Overhyped Architecture of the Decade

Microservices: The Most Overhyped Architecture of the Decade

Over the past decade, microservices have been touted as the silver bullet for all software architecture problems. Tech conferences overflow with talks about breaking down monoliths, distributed systems scale infinitely, and teams finally achieving the promised land of independent deployment cycles. But here’s the uncomfortable truth: we’ve collectively confused “technically possible” with “actually necessary.” The microservices revolution has created a generation of engineers convinced that a monolith is inherently evil and that fragmenting their codebase into dozens of distributed services is the path to enlightenment....

January 6, 2026 · 12 min · 2422 words · Maxim Zhirnov
Микросервисы: самая распространенная архитектура десятилетия

Микросервисы: самая распространенная архитектура десятилетия

За последнее десятилетие микросервисы преподносились как универсальное решение всех проблем архитектуры программного обеспечения. Технические конференции переполнены докладами о разбиении монолитов, бесконечно масштабируемых распределённых системах и командах, наконец-то достигших обещанной земли независимых циклов развёртывания. Но вот неудобная правда: мы коллективно перепутали «технически возможно» с «фактически необходимо». Революция микросервисов породила поколение инженеров, убеждённых в том, что монолит по своей сути зол и что разделение кодовой базы на десятки распределённых сервисов — это путь к просветлению....

January 6, 2026 · 6 min · 1181 words · Maxim Zhirnov
Building a Distributed Locking System in Go with ZooKeeper: From Theory to Production

Building a Distributed Locking System in Go with ZooKeeper: From Theory to Production

The Lock Dilemma: When sync.Mutex Just Isn’t Enough You know that feeling when you realize your precious in-process mutex won’t cut it anymore? Yeah, we’ve all been there. Your single-threaded assumptions worked fine until your system decided to grow up and become distributed. Suddenly, you’ve got multiple services running on different machines, all trying to access the same resource, and your sync.Mutex is sitting there looking confused—because it only locks things within a single process....

January 5, 2026 · 11 min · 2181 words · Maxim Zhirnov
Построение распределенной системы блокировки в Go с ZooKeeper: от теории к производству

Построение распределенной системы блокировки в Go с ZooKeeper: от теории к производству

Дилемма блокировки: когда sync.Mutex уже недостаточно Вы знаете это чувство, когда осознаёте, что ваш драгоценный мьютекс в процессе уже не справляется? Да, мы все бывали в такой ситуации. Ваши предположения об однопотоковом выполнении работали нормально, пока ваша система не решила вырасти и стать распределённой. Вдруг у вас появляется несколько сервисов, работающих на разных машинах, все пытаются получить доступ к одному и тому же ресурсу, а ваш sync.Mutex сидит и выглядит растерянным — потому что он блокирует только внутри одного процесса....

January 5, 2026 · 5 min · 988 words · Maxim Zhirnov
Implementing Service Mesh with Linkerd in Kubernetes: From Theory to Production

Implementing Service Mesh with Linkerd in Kubernetes: From Theory to Production

Why Your Kubernetes Cluster Needs a Service Mesh (And Why Linkerd Is The Answer) Picture this: you’ve just deployed your beautifully architected microservices to Kubernetes. Everything’s working perfectly in your local environment, and you’re convinced that production will be a breeze. Then reality hits like a poorly configured load balancer. Suddenly, you’re dealing with network latency spikes, mysterious connection timeouts, and that one service that decides to have an existential crisis at 3 AM on a Sunday....

December 20, 2025 · 9 min · 1775 words · Maxim Zhirnov