Технический журнал Александра Хохлова

Инженерный журнал об инфраструктуре и backend

Заметки об IT и жизни. Docker, Go, инфраструктура и не только.

Личный инженерный журнал: инфраструктура, backend, домашняя лаборатория и накопленный практический опыт.

Последние публикации

Temporal в эксплуатации: тюнинг воркеров, наблюдаемость, тестирование, Cloud

Temporal в эксплуатации: тюнинг воркеров, наблюдаемость, тестирование, Cloud

Запустить Temporal легко, эксплуатировать — отдельная работа. Разбираем тюнинг воркеров (ёмкость, pollers, sticky cache) с замером, где расширение воркера сокращает ожидание задач почти в десять раз при неизменном сервере; наблюдаемость и два семейства метрик с похожими именами, которые нельзя путать; тестирование с промоткой времени — Sleep(24h) проходит за десятки миллисекунд; и выбор Cloud vs self-host с честной оценкой стоимости. Это статья про то, что отличает пилот от прода

Release engineering и DORA: версии, релизы и измерение доставки

Release engineering и DORA: версии, релизы и измерение доставки

Когда пайплайн собран, встаёт вопрос дисциплины релизов и того, как понять, что доставка вообще здоровая: semver и что версия обещает (и где он неуместен), автоматизация релизов и changelog из коммитов, релизы в монорепо, и актуальные пять метрик DORA — deployment frequency, change lead time, failed deployment recovery time, change fail rate, deployment rework rate — почему MTTR из прежних «четырёх ключей» переопределена, как читать метрики, не превращая в KPI-театр, и как они связаны с SLO и постмортемами

Zero-downtime деплой и миграции БД: expand-contract на практике

Zero-downtime деплой и миграции БД: expand-contract на практике

Деплой без простоя ломается не на коде, а на схеме: переименовал колонку — и старые поды падают. Expand-contract (сначала расширить схему, выкатить код, потом сузить), почему миграция и код едут в разном порядке, backward/forward-совместимость между версиями во время rollout, блокирующие DDL и как их избегать, безопасный rollback и роль feature flags. Как менять схему под работающим трафиком

Архив партий VOG в Parquet: 17 миллионов игр с диска сервера в S3

Архив партий VOG в Parquet: 17 миллионов игр с диска сервера в S3

Как архив VOG за двадцать пять лет — около 17,7 млн партий в собственном файловом формате на диске игрового сервера — переехал в Parquet в S3-совместимом хранилище: почему не Iceberg и не protobuf, почему первое поколение с ходами по колонкам пришлось переделать в «транскрипт как есть», что ломалось при выгрузке, как сверяли результат и как старые партии стали открываться в браузере

Обработка данных в проде на Python: pandas, polars и границы glue

Обработка данных в проде на Python: pandas, polars и границы glue

Python в своей родной нише: чем отличаются пять способов задать один вопрос к Parquet, что ломается при переносе кода из notebook в сервис и где Python — glue поверх быстрого ядра. С замером, который доказывает отбор недоступностью данных

В работе

Ближайшие материалы, которые готовятся к публикации.

Архитектура

Строительные блоки system design: карта

Навигатор по блокам: фундамент, масштабирование, устойчивость, интерфейсы и сквозные оси — куда вести читателя.

Хранилища

Распределённые хранилища: карта

Карта серии о распределённых хранилищах: объектное, файловое и блочное, место S3 и HDFS.

Разделы

Основные направления сайта. Живые разделы с материалами идут первыми, новые направления ниже как задел на рост.

Архитектура

Системный дизайн, интеграционные паттерны, аналитика и инженерные trade-offs

64 статей +6

Хранилища

Распределённые хранилища: объектное хранилище и S3, реализации после MinIO, HDFS, построение своего CDN

1 статей +1

Python

Python для backend, данных и автоматизации: типизация, async, веб-фреймворки, упаковка и производительность

10 статей +5

Kubernetes

Kubernetes, Talos, ArgoCD, GitOps и эксплуатация кластеров

10 статей +2

Инфраструктура

Proxmox, Terraform, Ansible, Vault, HAProxy, Angie, сети и базовые платформенные практики

12 статей +1

Наблюдаемость

OTEL, Vector, OpenSearch, VictoriaMetrics, Zabbix, логи, метрики и трейсы

13 статей +1

Безопасность

Изоляция и песочницы, hardening, модель угроз и практическая защита сервисов и рабочего окружения

22 статей

Базы данных

PostgreSQL, Redis, ClickHouse, MongoDB и другие системы хранения данных

71 статей

Go

Язык Go: паттерны, инструменты, практики

32 статей

Фото и игры

Личное вне IT: фотография (Canon, Nikon, Sony), история игровых проектов и турниров, как всё это менялось со временем

1 статей

Сообщения

Kafka, NATS, RabbitMQ и практики построения асинхронных систем

33 статей

Performance

Низкая задержка и высокая пропускная способность: бюджет времени, транспорт, балансировка, пулы соединений

17 статей

Языки

Языки программирования как явление: теория вычислимости, выразительность, кросс-языковые сравнения и то, что стоит за синтаксисом

1 статей

Zig

Zig как современная замена C: философия, comptime, явные аллокаторы, C-interop и позиционирование среди системных языков

1 статей

Rust

Rust для сервисов, контейнеризация, observability и надёжная backend-разработка

6 статей

Java

Java, JVM, контейнеризация, производительность и практики эксплуатации

12 статей

Docker

Контейнеризация, best practices, мультистейдж-сборки

7 статей

AI

AI для backend-инженера: LLM в проде, эмбеддинги и RAG, локальный инференс, tool use и AI-агенты.

1 статей

Инструменты

Рабочие инструменты инженера: Git от первого коммита до команды, настройка окружения, диаграммы как код (LikeC4).

3 статей

Скоро появятся

Scala

Функциональный backend на Scala 3: Cats Effect и ZIO, http4s, Akka/Pekko, Doobie и Quill, Spark и production-практики на JVM.

0 статей

C#

C# и .NET для backend: ASP.NET Core, async/await, доступ к данным, gRPC и messaging, упаковка, профилирование и эксплуатация.

0 статей

C++

Современный C++ для backend: корутины и Asio, CMake и пакетные менеджеры, HTTP-сервисы, профилирование и production-практики.

0 статей

TypeScript / Node

TypeScript и Node.js для backend: типовой слой, event loop, веб-фреймворки, данные, упаковка и рантаймы (Node/Deno/Bun)

0 статей

Игровые серверы

Боты, античит и эксплуатация игровых серверов со стороны оператора и комьюнити: серверные AI-боты, детект читов, честная игра и наблюдаемость

0 статей

Мобильные клиенты

Бэкенд для мобильных приложений: авторизация и хранение токенов, push-уведомления, API и BFF, offline-first и синхронизация

0 статей

От кода до прода

Сквозные капстон-проекты: собираем реальный сервис через весь стек — код, данные и события, контейнеры и CI/CD, Kubernetes, наблюдаемость и эксплуатация

0 статей