Вы написали docker‑compose.yml, подняли сервис локально, всё крутится. Задеплоили на сервер, запустили docker compose up -d, неделю всё нормально. А потом контейнер с Postgres тихо съедает всю память на хосте и OOM‑киллер убивает соседний сервис. Или приложение падает в два часа ночи, а Docker не перезапускает его, потому что restart policy стоит в дефолтном no. Или логи за месяц занимают 40 ГБ, и на диске кончается место.
Рубрика «production»
Ваш docker‑compose.yml сломается: 5 настроек, которые все забывают
2026-05-19 в 20:24, admin, рубрики: devops, docker, healthcheck, linux, oom killer, postgres, production, restart policy, контейнеризацияКак мы случайно сделали стартап, пока учили ИИ работать с реальной инфраструктурой
2025-12-25 в 20:38, admin, рубрики: AI, automation, devops, incident management, Infrastructure, kubernetes, llm, production, sre, sshКогда мы впервые увидели AI-чаты, это выглядело впечатляюще. Они писали код, помогали с документацией, объясняли архитектурные решения.
Это было хорошо. Но довольно быстро стало понятно главное:
Для реальной работы этого недостаточно.
ИИ умеет говорить, но не видит, что происходит в системе
Как развернуть полноценный n8n AI-стек за 15 минут, а не за целый день
2025-12-05 в 15:15, admin, рубрики: ai-агенты, devops, docker, n8n, Ollama, production, rag, self-hosted, автоматизация, векторные базы данныхПоследние пару лет я активно работаю с автоматизацией и AI-агентами. Проекты разные - от чат-ботов для Telegram до сложных RAG-систем с векторными базами. И знаете, что меня всегда бесило? Каждый раз при развертывании нового проекта уходило несколько часов, а то и целый день на настройку окружения.
Сначала настраиваешь Docker Compose для n8n, потом прикручиваешь Postgres, потом вспоминаешь про Redis (потому что без него n8n в queue mode не заведешь), потом Supabase для векторов, потом Qdrant, потому что Supabase для векторов медленноват... А еще же HTTPS нужно настроить, Caddy или Nginx сконфигурировать, сертификаты получить. И так каждый раз.
Разработка должна ориентироваться на продакшен, всё остальное — чушь
2020-11-26 в 9:35, admin, рубрики: development, devops, production, Программирование, разработка, управление разработкой
За мою карьеру у меня выработались определённые мнения. Некоторые из них оставили особенно глубокий след, подкреплённый годами опыта. Я попытался сформулировать, что же у них есть общего. Общее заключается в мысли о том, что единственное, что важно — это код в продакшене. Обкатка не важна, код на твоём ноутбуке не важен, QA не важен, важен только продакшен. Всё остальное — это технический долг.
Такая точка зрения, вероятно, возникла из-за долгих годов работы между отделами эксплуатации и разработки продуктов. Я уверен, что эти отделы должны стремиться к оптимизации, позволяющей как можно скорее вывести код в продакшен, а также реагировать на инциденты в продакшене.
Эта мысль, а также все связанные с ней подразумеваемые действия, может показаться контринтуитивной или спорной, поэтому я хочу раскрыть её немного глубже. Ниже представлен перечень практик и принципов, которые я считаю правильными, исходя из моего мнения о том, что единственное, что важно — это код в продакшене.
Читать полностью »
Для чего и как мы скрываем госномера автомобилей в объявлениях Авито
2019-04-09 в 10:17, admin, рубрики: computer vision, development, machine learning, object detection, production, python, Алгоритмы, машинное обучение, ПрограммированиеПривет. В конце прошлого года мы стали автоматически скрывать номера автомобилей на фотографиях в карточках объявлений на Авито. О том, зачем мы это сделали, и какие есть способы решения таких задач, читайте в статье.
«Не вижу ни одного резона использовать Python для работы со Spark, кроме лени»
2019-03-06 в 12:48, admin, рубрики: big data, java, production, python, scala, spark, Блог компании New Professions Lab, машинное обучениеНа днях мы решили пообщаться c Дмитрием Бугайченко (dmitrybugaychenko), одним из наших преподавателей программы "Анализ данных на Scala", и обсудить с ним актуальные вопросы использования Scala в задачах Data Science и Data Engineering. Дмитрий является инженером-аналитиком в "Одноклассниках".

Борьба за качество решений на Erlang-Elixir
2019-01-29 в 11:04, admin, рубрики: Elixir, Erlang mi fa stare bene, Erlang/OTP, erlangvm, production, Программирование, функциональное программированиеСегодня мы будем говорить про журналы событий, количественные метрики и наблюдение за всем этим с целью увеличения скорости реакции команды на инциденты и уменьшения времени простоя целевой системы.
Erlang/OTP как фреймворк и идеология построения распределенных систем дает нам регламентированные подходы к разработке, инструменты и реализацию стандартных компонентов. Допустим мы применили потенциал OTP и прошли весь путь от прототипа до продакшена. Наш Erlang проект прекрасно себя чувствует на боевых серверах, кодовая база постоянно развивается, появляются новые требования и функционал, в команду приходят новые люди, и все вроде бы хорошо. Но иногда что-то идет не так и технические проблемы, помноженные на человеческий фактор, могут привести к аварии.
Поскольку подстелить соломку абсолютно для всех возможных случаев отказов и проблем невозможно или же экономически нецелесообразно, то необходимо управленческими и программными решениями сократить время простоя системы в случае сбоев.
Явные возможности JavaScript
2018-12-12 в 7:52, admin, рубрики: best practices, good parts, javascript, production, ненормальное программирование, Промышленное программирование
Начитывая очередную статью про малоизвестные фичи языка JavaScript и втихую пописывая какие-то невменяемые решения в консоли браузера, я часто проговариваю в голове мол ну на проде то конечно все не так!? Ведь язык давно обзавелся огромнейшим комьюнити и имеет удивительно широкий охват промышленной разработки. Раз так, то почему же мы часто забываем про его возможность быть понятным для каждого и буквально пропагандируем все эти специфичные и "запоминаемые" конструкции? Just make it Obvious!
Массовый стекинг моделей ML в production: реально или нет?
2018-07-26 в 11:30, admin, рубрики: als, data science, feature, feature selection, ml, production, stacking, Алгоритмы, Блог компании HeadHunter, логистическая регрессия, машинное обучение, нейросети, поисковые технологии, признаки, продакшн, стекинг, факторизационные машиныДовольно часто нас спрашивают, почему мы не устраиваем соревнований дата-сайентистов. Дело в том, что по опыту мы знаем: решения в них совсем не применимы к prod. Да и нанимать тех, кто окажется на ведущих местах, не всегда имеет смысл.

Такие соревнования часто выигрывают с помощью так называемого китайского стекинга, когда комбинаторным способом берут все возможные алгоритмы и значения гиперпараметров, и полученные модели в несколько уровней используют сигнал друг от друга. Обычные спутники этих решений — сложность, нестабильность, трудность при отладке и поддержке, очень большая ресурсоёмкость при обучении и прогнозировании, необходимость внимательного надзора человека в каждом цикле повторного обучения моделей. Смысл делать это есть только на соревнованиях — ради десятитысячных в локальных метриках и позиций в турнирной таблице.
Как докатить ML в прод: шесть граблей, на которые мы наступили
2018-06-28 в 8:03, admin, рубрики: headhunter, ml, production, TensorFlow, Алгоритмы, Блог компании HeadHunter, грабли, машинное обучение, нейросеть, отладка, поисковые технологии, умный поискСовсем недавно мы искали дата-сайентиста в команду (и нашли — привет, nik_son и Арсений!). Пока общались с кандидатами, поняли, что многие хотят сменить место работы, потому что делают что-то «в стол».
Например, берутся за сложное прогнозирование, которое предложил начальник, но проект останавливается — потому что в компании нет понимания, что и как включить в продакшен, как получить прибыль, как «отбить» потраченные на новую модель ресурсы.

У HeadHunter нет больших вычислительных мощностей, как у «Яндекса» или Google. Мы понимаем, как нелегко катить в продакшен сложный ML. Поэтому многие компании останавливаются на том, что катят в прод простейшие линейные модели.
В процессе очередного внедрения ML в рекомендательную систему и в поиск по вакансиям мы столкнулись с некоторым количеством классических «граблей». Обратите на них внимание, если собираетесь внедрять ML у себя: возможно, этот список поможет по ним не ходить и найти уже свои, персональные грабли.
Читать полностью »


