Дмитрий Корищенко

Дмитрий Корищенко

Руководитель ИТ-инфраструктуры

— Дмитрий, расскажи, как ты попал в МойСклад?

Очень традиционно: в конце 2024 года разместил резюме на hh.ru. На предыдущем месте вырос с системного архитектора до руководителя DevOps. За это время закрыл большой проект по выбору облачного провайдера для всей группы компаний и запустил перестройку внутренней инфраструктуры. После этого решил, что пришло время двигаться дальше.

Примерно пару раз в месяц просматривал предложения. И однажды увидел вакансию от МоегоСклада. Случился полный мэтч: стек, задачи, тип компании. Очень хотелось попробовать силы в большом SaaS-проекте.

В МоемСкладе интересный подход к собеседованиям: меня собеседовали коллеги из команды, которой предстояло руководить. Это волнительно — важно не только подтвердить компетенции, но и сойтись с людьми по коммуникации, по духу. К счастью, эта часть прошла отлично: сразу случился живой обмен опытом.

Финальный этап — интервью с техническим директором. Обсудили инфраструктуру, ее устройство, а главное — будущие задачи. Это оказалось самым ценным — еще на собеседовании стало понятно, что меня ждет, и онбординг пролетел незаметно, потому что я сразу включился в работу.

— Как устроен отдел IT-инфраструктуры в МоемСкладе?

Инфраструктурный отдел разделен на две команды с разными зонами ответственности. Первая линия — это системные администраторы и инженеры. Они занимаются раскаткой релизов (используя централизованную систему деплоя), мониторингом, поддержкой пользователей, разбором и маршрутизацией тикетов и эскалацией проблем. По сути, это ребята, которые первыми принимают удар и либо решают задачу сами, либо передают ее дальше.

Вторая линия — DevOps-инженеры. Они проектируют и разворачивают сервисы, занимаются обновлениями, миграциями и обеспечением отказоустойчивости, следят за соблюдением SLA. На них же автоматизация деплоя, патч-менеджмент и исследование новых продуктов. Причем работа с новыми инструментами у нас всегда идет в два этапа: сначала тестирование и пилот, а если решение показало себя — масштабирование на всю инфраструктуру.

Отдельно в команде DevOps выделен DevSecOps-специалист, который отвечает за информационную безопасность — регулярное проведение пентестов, харденинг нашей инфраструктуры и программу Bug Bounty.

Работаем по терциям — так мы называем четырехмесячные планы. Сейчас мы все больше смещаемся в сторону продуктового подхода: инфраструктура и ее сервисы — это набор внутренних продуктов. Наши пользователи — разработчики, продуктовые команды, техподдержка и мы сами. У каждого продукта есть свои задачи, план развития и SLA.

Еще мы контролируем расходы на серверный парк: анализируем нагрузку на наши сервисы, прогнозируем ее рост, планируем апгрейды.

— Расскажи про самые интересные проекты, которые делала твоя команда.

— Один из самых интересных проектов — развертывание кластеров OpenShift (OKD) с с выделенными хранилищами данных на базе «железных» СХД с NVMe. OKD — это, по сути, прокачанный Kubernetes от Red Hat. Он умеет работать и с контейнерами, и с виртуальными машинами, плюс внутри уже есть куча готовых инструментов: операторы, CNI и прочие полезные в эксплуатации надстройки.

Этот проект позволил нам сделать то, к чему давно шли, — мигрировать с Proxmox на OpenShift и перейти от классической виртуализации к платформенному подходу: контейнеры, VM и инфраструктурные сервисы управляются через единый Control Plane.

По финансовой части переход на новое решение позволил даже немного сэкономить — во время миграции подрезали избыточную аллокацию ресурсов и консолидировали ряд сервисов.

Еще один интересный проект — внедрение мониторинга сети.

Инфраструктура МоегоСклада — это сотни выделенных серверов («дедиков»), арендуемых в нескольких дата-центрах. На серверах расположены кластеры Kubernetes (OKD), реляционные и аналитические базы данных (PostgreSQL, ClickHouse), а также десятки внутренних сервисов. Сеть между этими серверами устроена гибридно: провайдеры отвечают за связность между регионами, а все, что выше третьего уровня, — наша зона ответственности. Это шлюзы, VPN-туннели, балансировщики и точки доступа для сотрудников.

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

Поэтому последние полгода внедряли ntopng — инструмент сетевой наблюдаемости, который собирает информацию о трафике с разных точек сети. Он показывает, кто к кому ходит, сколько данных передает, разбирает протоколы, резолвит хосты через наш DNS, а публичные адреса привязывает к автономным системам. Вся эта аналитика доступна в интерфейсе — и в реальном времени, и в ретроспективе (данные храним в ClickHouse).

На основе этих данных настроили алерты на аномалии. Теперь сразу видно, если кто-то неожиданно забил канал, если на сервере завелся подозрительный протокол или какой-то сотрудник решил скачать торренты через рабочий VPN.

— А были за период твоей работы какие-то критические ситуации?

— Не без этого. Одна из них — инцидент с охлаждением у одного из наших провайдеров. Нас заранее предупредили, что в дата-центре растет температура и есть риск перегрева серверов. А перегрев ведет к троттлингу — процессоры начинают пропускать такты, чтобы не сгореть, и это напрямую влияет на скорость работы сервисов для пользователей.

Мы быстро подготовились: проверили, что готовы переключиться на резервные серверы в другой геозоне, куда у нас настроена репликация. И заодно вывели на дашборды метрики по температуре и троттлингу со всех хостов, чтобы в будущем видеть такие проблемы заранее. Теперь у нас алерты срабатывают не просто на критические значения, а на устойчивый рост температуры — это помогает поймать проблему до того, как она ударит по пользователям.

Второй случай — когда на одном из серверов начала сбоить память. Внешне выглядело странно: нагрузка на виртуалки обычная, а процессор вел себя так, будто ему плохо. На тех же задачах, где пару часов назад было 30% загрузки, вдруг стало под 100%. На этой ноде крутился корпоративный VPN — мы сразу переключились на резервный хост. А вот с самим сервером еще несколько часов не могли понять, в чем дело. Пока не залезли в логи ядра и не увидели там ошибки по памяти и исполнению прерываний.

Этот случай лишний раз подтвердил: когда у тебя парк серверов измеряется сотнями, отказы железа становятся не исключением, а данностью. К ним нужно быть готовым всегда.

— Как ты подбираешь людей в команду? На что смотришь в первую очередь?

— Я всегда ищу не просто исполнителя, а думающего инженера.

Во-первых, смотрю на базу. Без нее никуда: операционные системы, сети, работа в командной строке  с типовыми тулами, системное мышление. Это фундамент, на котором все держится.

Во-вторых, важна осознанность. Можно год кнопки нажимать и не понимать, зачем. А можно сделать один раз, но вдумчиво. Мне важно не просто услышать, что человек делал, а понять его ход мыслей. Если он объясняет, почему выбрал именно такое решение, а не другое — это хороший знак.

Третье качество — умение видеть последствия. В инфраструктуре любое действие может отозваться где-то в другом месте. Важно, чтобы человек прокручивал в голове: «А что будет, если это упадет? А если нагрузка вырастет в десять раз?»

Коммуникация — отдельная тема. DevOps — это не про «я в домике». У нас всегда есть заказчики: разработчики, техподдержка, смежные команды. Нужно уметь договариваться, слышать других и объяснять сложное простыми словами.

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

И последнее — вовлеченность. Мне всегда интересно, чем человек горит вне рабочих задач. Собирает дома сервер, играет с железом, пишет какие-то тулы для души, следит за новинками. Это показывает, что ему реально интересно то, чем он занимается.

— Как у вас проходит адаптация новых сотрудников?

— У нас выстроена довольно четкая система. За каждым новичком закрепляется ментор из числа действующих инженеров. Он сопровождает человека на всем пути знакомства с инфраструктурой.

В первую неделю мы проводим несколько встреч-погружений, где показываем, что у нас где лежит, как устроены сервисы, какие есть нюансы. Но доступа к продакшену в испытательный срок у сотрудника нет — это принципиальная позиция. К критическим сервисам, релизам и бэкапам мы пускаем только после того, как человек прошел испытательный срок и подтвердил, что он адекватно оценивает риски.

Но это не значит, что новичку нечего делать. У нас есть куча окружений, не связанных с продакшеном: тестовые стенды, стейджинг, сервисы для разработки. Туда доступ даем достаточно быстро, и человек сразу может включиться в работу.

При этом мы стараемся не давать синтетических задачек «для галочки». Сразу привлекаем к реальным делам, которые приносят пользу команде. Чтобы человек видел: то, что он делает, реально нужно.

И еще важный момент. Несмотря на то, что доступ к продакшену закрыт, мы уже в первый квартал привлекаем сотрудника к присутствию на релизах. Он может посидеть рядом с инженером, который выкатывает обновления, посмотреть, как это происходит живьем, задать вопросы. Это прописано прямо в чек-листе адаптации — чтобы человек видел процесс изнутри, даже если пока не может в него руками вмешиваться.

— А можно ли вырасти из системного администратора в девопса внутри МоегоСклада?

— Да, такое происходит довольно часто. Обычно путь выглядит так: стартуешь как системный администратор, дальше прокачиваешься до системного инженера, и уже потом становишься DevOps-инженером.

Стартовать можно с первой линии — как раз там работают сисадмины и инженеры. А для перехода в DevOps нужно прокачать несколько вещей.

Первое — end-to-end развертывание. Человек должен уметь поднять сервис с нуля: прописать сценарии деплоя, настроить мониторинг, организовать сбор логов.

Второе — автоматизация рутины. Если сисадмин любит вручную настраивать серверы и боится писать скрипты — в DevOps ему будет тяжело. Нужно, чтобы любая повторяющаяся задача вызывала желание ее автоматизировать и забыть.

Третье — хорошее знание сетей. Это прямо база, на которой все строится.

И четвертое — понимание отказоустойчивых систем. Тут без классики не обойтись — та самая «книжка с кабанчиком» («Высоконагруженные приложения» Мартина Клеппмана). Если человек ее читал и усвоил основные принципы — это большой плюс.

— Что самое сложное в твоей работе?

— Первое и главное — ответственность. От того, как работает инфраструктура, зависит доступность всех сервисов МоегоСклада и работа всей разработки. Если что-то падает, счет иногда идет на минуты. По ощущениям это очень похоже на работу в отделении скорой помощи: нужно реагировать мгновенно, четко, и главное — не навредить, пока чинишь.

Второе — подбор людей. Это, пожалуй, самая тонкая история. У нас в команде сложилась очень классная атмосфера: взаимопомощь, обмен компетенциями, поддержка друг друга — и между линиями, и внутри команд. Когда берешь нового человека, всегда переживаешь, вольется ли он в коллектив. Потому что технике можно научить, а человеческий фактор — это лотерея.

Третье — постоянное развитие. В инфраструктуре нельзя остановиться. Появляются новые инструменты, меняются подходы, растут нагрузки. Нужно все время учиться, прокачивать насмотренность, понимать, что происходит на рынке, что можно забрать себе, а что не взлетит.

— Чем увлекаешься в свободное время?

—  Начну с того, что я заядлый автомобилист. Раньше серьезно занимался тюнингом, а сейчас переключился на картинг и, конечно, симрейсинг — это такие гонки в симуляторе (я предпочитаю iRacing) с набором специализированных железяк.

Люблю автопутешествия. Как-то проехали на машине от Москвы до Праги. За две недели посмотрели Вену, Берлин, Будапешт и Братиславу. На Кипре объездил все вдоль и поперек, много ездил по Черногории и Армении, даже в Таиланде удалось поездить самостоятельно. Для меня автомобиль — это способ увидеть страну изнутри: уехать с туристических маршрутов, заехать в обычный придорожный магазин, в мелкую лавочку или на рынок. Отели не люблю, формат Airbnb с его возможностью жить «как местный» мне гораздо ближе.

Не так давно стал молодым отцом — теперь это главное увлечение на долгие годы.

Ну и куда без айтишного. Иногда для души что-то кручу дома — от банальных апгрейдов домашней сети до экспериментов со списанными энтерпрайз железками и IoT. В 2025-м подсел на локальный запуск опенсорсных LLM — скорее как технический эксперимент для себя, чем рабочая задача. Такие занятия — это уже чистое удовольствие.