Влад Архипов

Технический лидер. Распределённые системы, управление доступом, инфраструктура.

arkhipov.ru LinkedIn GitHub Telegram vlad@arkhipov.ru

Двадцать два года разрабатываю распределённые системы. С 2018 года — управление доступом в публичном облаке Яндекса: миллионы запросов авторизации в секунду без права на ошибку. В последние годы — SIEM и CNAPP: превращаю поток событий безопасности в то, с чем может работать аналитик.

Умею строить надёжные высоконагруженные системы. Люблю аккуратный и эффективный код, который через десять лет всё ещё можно прочитать: расширение для PostgreSQL, написанное в 2013 году, до сих пор используют люди, которых я никогда не встречал.temporal_tables — версионирование строк по системному времени, как в стандарте SQL:2011. 1.0k ★, 52 форка.

Опыт

Технический лидер

Июнь 2023 — настоящее время · Yandex Cloud · Белград, Сербия

Вернулся к активной разработке после менеджерского трека: проектирую и делаю сложные нагруженные системы в командах SIEM, Security Deck и Smart Web Security.

Руководитель отдела разработки

Декабрь 2022 — июнь 2023 · Nebius · Амстердам, Нидерланды

Облачный провайдер, который строился с нуля под GPU-нагрузки. Вёл в нём направление сервисов безопасности.

Руководитель отдела разработки

Май 2019 — декабрь 2022 · Yandex Cloud · Москва

Две системы публичного облака: управление доступом и управление ресурсами.

Руководитель группы разработки

Июнь 2018 — май 2019 · Yandex Cloud · Москва

Год, с которого началось управление доступом.

Ведущий разработчик

Декабрь 2016 — июнь 2018 · Яндекс · Москва

Java, потоковая обработка в реальном времени, ZooKeeper, MongoDB.

Руководитель отдела разработки

Июль 2014 — декабрь 2016 · Иркутский диагностический центр · Иркутск

Java EE (WildFly, кластеризация и отказоустойчивость, Hibernate Envers), JavaFX, XSL-FO (Apache FOP), PostgreSQL.

Руководил тремя командами, десять инженеров суммарно, и не выпускал код из рук: ревью и написание критичных частей системы, работа с требованиями, обучение сотрудников и собеседования. Система представляла собой сложную распределённую ERP для крупного медицинского учреждения, написанную преимущественно на Java EE и работавшую на CentOS, WildFly, Mondrian BI и PostgreSQL, с веб- и JavaFX-клиентами поверх REST, JSON и WebSockets.Замена старого генератора документов на шаблоны XSL-FO позволила пользователям настраивать медицинские документы самостоятельно. Сложнее всего далась производительность на больших документах — и это был хороший повод вспомнить компьютерную типографику.

Работа в этой должности началась с замены устаревшей системы генерации документов на шаблоны XSL-FO, формирующие медицинские документы в PDF через Apache FOP и Saxon. Остальные проекты в основном касались обновления устаревшего интерфейса на JavaFX и ReactFX, рефакторинга доменной модели и интеграции со сторонними сервисами — включая онлайн-оплату через Сбербанк по SOAP.

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

Старший разработчик

Апрель 2010 — июль 2014 · Иркутский диагностический центр · Иркутск

Java EE (JBoss, Hibernate, WebSockets), OSGi, PostgreSQL (PL/pgSQL), JTAPI, SMPP.

Начал с руководства командой из двух человек: перевод базы данных с MaxDB на PostgreSQL. Общий объём — около двух миллионов строк прикладного кода. Технически задача осложнялась тем, что база должна была остаться битемпоральной: работать с данными, меняющимися во времени, и хранить историю всех изменений. Проект был завершён в срок, в декабре 2010 года.Требование хранить историю впоследствии и превратилось в temporal_tables.

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

Помимо рутинных интеграций с SMS-провайдерами по SMPP и с JasperReports Server, мы интегрировали систему с телефонией Avaya (AES и WFO) через JTAPI. Самой интересной частью была система, собирающая события телефонной станции в реальном времени и раздающая их клиентам по WebSockets.Побочный проект — автоматическое планирование записи пациентов. В общем виде задача NP-трудна: оптимальные решения давал IDDFS на малых размерностях и имитация отжига на больших.

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

Разработчик

Февраль 2007 — апрель 2010 · Иркутский диагностический центр · Иркутск

Java SE (многопоточность, JNI, Swing), C++ (DirectX, Video4Linux, ffmpeg), DICOM (dcm4che), MaxDB, Mondrian ROLAP (MDX).

Работал над разными задачами: внедрение ERP, хранилище данных, разработка программ видеозахвата для медицинского оборудования. До этого я не писал на Java и не делал ничего кроссплатформенного, так что осваивать пришлось всё сразу: и язык, и систему.

Затем я написал кроссплатформенное ПО для потоковой передачи и записи видео, отправляющее и сохраняющее видео с DICOM- и не-DICOM-модальностей на PACS-сервер. Оно должно было работать на разном железе, поэтому мы сделали две реализации — на DirectX и на Video4Linux/ffmpeg — и связали их с клиентами через JNI. Сложнее всего дались многопоточность и потоковая передача, так как не все кодеки покадровые.Плюс небольшое участие в клиентском портале на GWT и BI-сервере на Mondrian ROLAP и PostgreSQL.

Младший разработчик

Январь 2004 — февраль 2007 · Иркутский государственный технический университет

Microsoft SQL Server (Transact-SQL), Borland C++ Builder.

Во время учёбы работал на полставки младшим C++-разработчиком в компании, выигравшей государственный контракт на информационную систему дорожной сети. Сначала отвечал за интерфейс на Borland C++ Builder, затем и за серверную часть на Microsoft SQL Server и Transact-SQL. К середине 2006 года мы реализовали алгоритмы минимизации стоимости жизненного цикла содержания дорожной сети — они в итоге и легли в основу дипломной работы и серии журнальных статей.

Open source

temporal_tables

Расширение PostgreSQL · 1.0k ★ · 52 форка

Ведёт историю изменений таблиц PostgreSQL. По изначальному назначению мы его так и не использовали — перешли на Hibernate Envers, — но другим людям оно пригодилось.

acl

Расширение PostgreSQL

Даёт механизм разграничения доступа к данным через списки контроля доступа. Работает как с системой ролей PostgreSQL, так и с ролями и пользователями самого приложения.

Кроме того, эпизодически участвую в разработке ряда открытых проектов, в том числе WildFly/JBoss Application Server, PostgreSQL, Apache FOP и Hibernate.

Патенты

Изолированные регионы вместо одного глобального IAM: каждый регион — самостоятельная инсталляция, организация выступает псевдоглобальным объектом поверх них, а межрегиональное доверие строится через workload identity federation. Это и позволяет хранить данные там, где того требует законодательство.Подробный разбор написал коллега: Мультирегиональные облака, блог Yandex Cloud, апрель 2026.

Доклады

Публикации

Образование

Прикладная математика и информатика

Сентябрь 2001 — июнь 2006 · Иркутский государственный университет

Диплом с отличием. Избранные курсы: программная инженерия, анализ сложности алгоритмов, теория баз данных, криптография, теория игр, дискретная математика.

Информационная безопасность

Сентябрь 2001 — июнь 2006 · Иркутский государственный университет

Второй диплом с отличием, получен параллельно с первым.

Сертификаты