Инженерные заметки
Platform Engineering · заметки
Оригинальные разборы о платформах, Kubernetes, облаке, SRE, безопасности и FinOps.
-
Атомарный выкат статического сайта там, где нет ни git, ни транзакций
Атомарный выкат статического сайта без git на сервере: у приёмника есть только scp и ssh. Транзакцию из этого не собрать, а выкат, который переживает обрыв и повторяется без последствий, — можно.
-
Crossplane против Terraform: control plane вместо state-файла
Terraform держит снимок состояния в файле и сверяет его по требованию, Crossplane превращает Kubernetes API в control plane и сверяет непрерывно. Что поменяла вторая версия, где непрерывная реконсиляция реально выигрывает и чем за это платят.
-
Argo Rollouts: canary и blue-green с авто-rollback по метрикам
Стандартный RollingUpdate объявляет успех, когда поды прошли readiness probe. Argo Rollouts делает выкатку проверяемой гипотезой: canary по шагам, blue-green с preview, AnalysisTemplate с PromQL и burn rate SLO как авто-rollback без участия человека.
-
Multi-cluster ArgoCD: hub-and-spoke против per-cluster и где обоим нужен pull-mode
Hub-and-spoke — дефолт, но ломается о blast radius, inbound-сеть и compliance. Когда выбирать per-cluster local, когда — pull-mode, и как выглядит гибрид без идеологии.
-
Policy as Code в эру AI-кода: парадокс скорости и контроля
Скорость production-кода обгоняет скорость human review. Без deterministic guardrails в CI и admission AI-агент превращается в amplifier ошибок — а не пропускной способности.
-
Golden path как продукт: почему «тончайшая жизнеспособная платформа» бьёт пятилетнюю стройку
Платформу стоит строить тонко — по одному пути за раз — и стандартизировать процесс раньше, чем его автоматизировать. Иначе вы получите монумент, которым никто не пользуется.
-
Internal Developer Platform: шесть слоёв и три драйвера внедрения
IDP — это не «ещё один портал», а продукт для разработчиков. Почему платформенная инженерия выстрелила именно сейчас, из каких шести слоёв собирается рабочая платформа на Kubernetes и какие четыре ошибки убивают портал за полгода.
-
Production Dockerfile: distroless, кэш и секреты сборки
Чеклист на десяток строк: что уезжает в прод, а что остаётся в builder-стадии. Замеры баз, кэш-маунты BuildKit, секреты без следа в слоях и аттестации, которые приезжают сами.
-
Istio Ambient Mesh: sidecarless и конец двойного хопа
Ambient убрал Envoy из каждого пода. Где это снимает двойной хоп и накладные расходы — и где сайдкар всё ещё оправдан.
-
Cilium и eBPF: заменить kube-proxy и убрать iptables из сети Kubernetes
Все смотрят на eBPF как на ускорение, но главное — это решающее правило: где замена kube-proxy окупается, а где iptables всё ещё выигрывает.
-
Ingress NGINX ушёл в EOL: миграция на Gateway API без паники
Почему завершение kubernetes/ingress-nginx — это про риск, а не roadmap, и как перейти на Gateway API поэтапно.
-
OOMKilled-форензика: от pmap до cgroups memory.stat
Exit code 137 не оставляет ни stack trace, ни финальной строки в логах, а дашборд клянётся, что памяти хватало. Инструменты, которые отвечают на вопрос «куда ушла память», — пока под ещё жив.
-
Kubernetes 1.36 (Haru): что реально меняется в проде
Mutating webhooks начали умирать, Ingress NGINX retired, HPA scale-to-zero всё ещё alpha. Прагматичный триаж 1.36 для платформенной команды — без блогерских преувеличений.
-
Отладочный агент для Kubernetes: шаблоны запросов или скрипты?
Агент Зинченко даёт LLM шаблоны MetricsQL; мой VM-навык кормит агента готовым агрегатом. Разбираю ось гибкость против воспроизводимости и почему read-only по блэклисту слабее allowlist.
-
OpenTofu против Terraform в 2026: когда форк уже выгоден
Вопрос больше не «безопасен ли форк», а когда он выгоднее оригинала. Фичи, лок-ин и стоимость миграции в 2026.
-
OIDC → AWS STS: CI/CD без долгоживущих ключей
Федеративная идентичность как замена AWS_ACCESS_KEY_ID в CI/CD: единый паттерн для GitHub, GitLab и Atlantis, без ротации и с настоящей атрибуцией в CloudTrail.
-
HTTP/2 во внутреннем трафике: известный класс граблей
Одно соединение на все запросы, общее окно flow control и пул, который не выбрасывает мёртвое: почему сервисы на HTTP/2 зависают «без ошибок» и что с этим сделали Go и gRPC.
-
Observability 2.0: eBPF, OpenTelemetry и AI, который ищет причину
Инструментация ушла в ядро, телеметрия — в стандарт OTel, поиск причины — к машине. Три сдвига observability 2.0 и порядок, в котором они окупаются.
-
Инцидент, закрытый дважды: severity, роли ICS и три гейта перед recovered
Почему «восстановлено» — самое дорогое слово в инциденте и какие три проверки обязаны пройти до него.
-
Четыре золотых сигнала: что они правда ловят и почему стек — VictoriaMetrics + Loki
Что каждый из четырёх сигналов реально ловит, и три ловушки, при которых «у нас мониторинг есть» оказывается дашбордом с зелёными галочками над сломанным сервисом.
-
Error budget как кнопка «стоп»: SLO без паники и multi-burn-rate
Error budget превращает надёжность в ресурс, который можно тратить, а multi-burn-rate — в алерт, который будит дежурного по делу.
-
CSP за гейтом согласия: почему зелёный заголовок ничего не доказывает
Эвалуатор показал две ошибки — обе оказались мёртвыми записями. Настоящий дефект нашёлся, когда проверку сделали не по заголовку, а по поведению браузера.
-
External Secrets Operator + Workload Identity: доступ к секретам без единого долгоживущего ключа
Внешний secret store решает, где жить секретам, — и создаёт новый секрет: учётку доступа к самому стору. Как ESO и workload identity замыкают петлю без единого долгоживущего ключа.
-
Cyber Resilience Act: почему SBOM нужен к сентябрю 2026, а не к 2027
Все смотрят на декабрь 2027, но отчётность об эксплуатируемых уязвимостях стартует на год раньше — а отчитаться без inventory компонентов нельзя.
-
SLSA L0–L3 и provenance: цепочка доверия от commit до admission
SBOM говорит «что внутри», подпись — «кто подписал». Между ними — провенанс: «как собрано». После SolarWinds это вопрос, который admission controller обязан задавать.
-
DevSecOps-конвейер из 5 стадий: от secret-scan до admission policy
Пять стадий CI с exit-code 1 плюс admission-gate в кластере — единственный паттерн, при котором DevSecOps реально блокирует прод, а не работает как ритуал зелёных галочек.
-
OpenCost: аллокация затрат Kubernetes по namespace и pod
Счёт облака знает цену инстанса, но не цену сервиса. OpenCost (CNCF Incubating) раскладывает затраты кластера по namespace и pod: движок и его грабли, выбор против Kubecost и AWS SCAD, idle cost и путь к unit economics.
-
Три рычага против переплаты в Kubernetes: idle, scale-to-zero, right-sizing
Средняя утилизация кластера — 20–30%. Остальное вы оплачиваете впустую. Три рычага, которые возвращают деньги без переписывания архитектуры.
-
FinOps как рациональность: почему облако переплачивает не из-за халатности
Перерасход в облаке — не халатность, а сумма локально-рациональных решений. Менять надо информационную среду, а не людей.
-
Агентный цикл под durable-оркестратором: где проходит граница
Агентный граф и движок durable execution — оба оркестраторы. Месяц на стенде показал, где резать границу между ними и сколько это стоит.
-
Staff-инженер из субагентов: что я забираю, а что нет
Разбор паттерна Senior Staff Engineer для Claude Code глазами инженера с собственными четырёхрольными командами субагентов: изоляция контекста и verification-gate — да, 1% Rule и Delete Rule — нет.
-
MCP для DevOps: начните с read-only агента в кластере
К 2026 году в открытом доступе больше 10 000 MCP-серверов. Первый, что стоит дать агенту в кластере, — read-only. Что он даёт и как выдать доступ.
-
AI переписывает DevOps: сдвиг ценности с синтаксиса на суждение
Что AI уже делает лучше инженера, где остаётся ценность человека и как сдвигается работа senior DevOps к 2026 году.
-
Локальная LLM для кода: вопрос не «какая», а «где»
Разбор практичной методики выбора локальной coding-модели по железу — и где у локальных моделей реальная ниша, а где работает только облако.
-
Терминальный стек 2026 глазами Linux-юзера: что переносимо, а что — макбучная оптика
Гайд про «идеальный стек 2026» написан под macOS. Разбираю его с кресла Linux/Wayland: Ghostty против Konsole, сильный бэкенд и пробелы, которые надо закрыть.
-
Безопасность агентов: переношу корпоративные паттерны в solo-harness
Архитектура Biswas хорошо закрывает слой идентичности через OAuth и token exchange — но настоящая опасность живёт на слое намерения, до которого статья не дотягивается.
-
Экономия токенов в агентах: что в обзоре полезно, а что перепродано
Обзор четырёх приёмов снижения расходов на токены — кэш, ленивые инструменты, маршрутизация, компакция. Главное следствие кэша он прячет в сноску, а два контринтуитивных факта стоят всей карты.
-
Короткий файл памяти разваливается на масштабе: токены против приоритета правил
Совет держать файл памяти крошечным верен для соло-репозитория. Но комплаенс-правила нескольких организаций не прибьёшь к путям — их надо маршрутизировать.
-
Obsidian как «второй мозг» — это слой, а не вся память агента
Зональная вики Монтейро — правильный механизм, но память агента это таксономия слоёв; и любой слой, ингестящий внешний мир, нужно сканировать на инъекции до синтеза.
-
CLAUDE.md: контракт или слои? Где правота вирусного файла заканчивается
Вирусный CLAUDE.md прав для медианы: начинай плоско. Но комплаенс нельзя просить — его надо механизировать. О том, что писать в файле, а что выносить в обвязку.
-
Харнесс — это дешёвая часть: заметки о реконструкции Claude Code
Обзор статьи Фарида Хана о воспроизведении Claude Code с нуля — и почему её главный вывод стоит развернуть на 180°.
-
Claude Code — это навык: разбор статьи Лео Година
Соглашаюсь с тезисом «LLM — это навык», но добавляю свой опыт там, где автор оставил пробелы.
-
Стоит ли учиться программированию в 2026 — заметки на полях Marina Wyss
Мой обзор статьи «Should You Still Learn to Code in 2026»: где автор права, где упрощает, что я бы добавил.