Гостем этого интервью является Алексей Усов, чей опыт не может не впечатлять: работа в качестве консультанта и архитектора на международных проектах, тренера, участие в работе над программой сертификации Red Hat, написание технических статей и книги. Подтверждением его навыков является самый высокий сертификационный статус Red Hat на территории России и СНГ – сертифицированный архитектор Red Hat XIII уровня (RHCA Level XIII). Сегодня Алексей расскажет о своем опытом работы на Платоне – проекте федерального значения, реализованном с целью взимания платы с большегрузных автомобилей в счет компенсации вреда, наносимого ими федеральным трассам России. Алексей занимал должность системного архитектора проекта после передачи его в эксплуатацию и готов поделиться своим опытом с читателями.
Алексей, в каких международных проектах вы были заняты?
Я принимал участие в проектах таких компаний, как Red Hat, Juniper, CenturyLink, AT&T, US Foods, Hewlett-Packard, Oracle, Imperva, Microsoft, VMWare и Nutanix на позициях системного архитектора, а также консультанта. Каждый проект уникален как используемыми технологиями, так и начальными условиями, в которых необходимо работать. Именно опыт работы со множеством самых разнообразных решений позволил мне успешно завершить данные проекты, что под силу только специалисту исключительно широкого профиля, в то же время в деталях знакомому с конкретными технологиями. Получить же доступ к ним мне удалось только благодаря своей сильной подготовке, подтверждением которой является мой сертификационный статус. Во всем мире не более 10 специалистов, обладающих навыками, позволяющими достичь такого уровня, в России и СНГ же я занимаю лидирующую позицию.
Расскажите как вы попали на проект национального уровня? Было ли это осознанным выбором с вашей стороны или проект выбрал вас?
На протяжении своей карьеры я всегда ищу способы получить новый опыт и вырасти как специалист, поэтому каждый следующий проект должен ставить передо мной новые задачи. Таким вызовом для меня и стал Платон, до запуска которого в эксплуатацию оставалось ровно 2 месяца, когда я присоединился к команде разработки в должности DevOps-инженера. К тому времени платформа виртуализации и вычислительная инфраструктура проекта уже были построены командой Александра Варламова, принимавшего также участие в создании подобных решений при построении ЦОД и других проектов из мира телефоммуникаций. Уже до первого собеседования я четко представлял себе масштаб проекта, в котором хочу принимать участие, и Платон оказался именно таким проектом, отвечающим мои амбициозным планам. Собеседование оказалось самым простым за всю мою карьеру ввиду уже имевшегося за моими плечами опыта работы с большей частью технологического стека проекта.
Как произошел ваш карьерный рост внутри проекта?
Мой путь внутри проекта начался в компании "Прогресс Софт", выполнявшей заказ по разработке проекта для ООО "РТ-Инвест Транспортные Системы" в рамках концессионного соглашения между последней и Федеральным дорожным агентством. К дню моего прихода на проект в должности DevOps-инженера до запуска системы оставалось ровно 2 месяца, что накладывало жесткие временные ограничения. Отдельно отмечу, что Платон является системой федерального значения, от функционирования которой зависит стабильность грузоперевозок по всей стране, т.к. в соответствии с законодательством проезд должен осуществляться при наличии либо оплаченной маршрутной карты, описывающей весь маршрут движения транспортного средства, либо исправного бортового устройства, отслеживающего маршрут движения транспорта в реальном времени, не говоря уже о необходимости функционирования систем стационарного и мобильного контроля для выявления нарушений. Проект подразумевает определенный уровень SLA, отклонение от которого может приводить к многомиллионным штрафам. Запуск проекта в промышленную эксплуатацию сопровождался многочисленными исправлениями возникавших проблем "на ходу", которые проявили себя только в реальных условиях. Ввиду резко возросшей нагрузки проект покинули все DevOps-инженеры и на некоторое время я оказался единственным инженером, ответственным за поддержание работоспособности проекта федерального значения. Кадровый вопрос был в итоге решен, но этот период бросил настоящий вызов моей способности управлять своим временем и планировать задачи. Я успешно справился с данной задачей благодаря природной организованности и правильной расстановке приоритетов. Именно в период работы на Платоне я начал свою профессиональную сертификацию в технологиях Red Hat.
Примерно через месяц после запуска проекта мне сделали предложение перейти на должность системного архитектора в сервисную компанию, которой проект передавался на эксплуатацию. В число моих обязанностей входили разработка внутренней технической документации по проекту и проведение тренингов для инженеров удаленного центра мониторинга. На новом месте я оказался единственным специалистом, в деталях знакомым с архитектурой проекта и структурами данных его подсистем. При возникновении любых вопросов и формировании предложений по оптимизации архитектуры проекта обращались именно ко мне. Именно там я встретил Андрея Боброва, на тот момент занимавшего должность начальника отдела телеком, который познакомил меня со своим бывшим однокурсником Артемием Кропачевым. Пример Артемия показал мне, что нет ничего невозможного и усилия стоят того. Таким образом, я также начал работать в этом направлении и позже стал ведущим экспертом по технологиям Red Hat в России и СНГ. Андрей также получил статус RHCA и является наставником других специалистов.
Можете привести примеры интересных задач, с которыми вам пришлось иметь дело за время работы на проекте?
Самая интересная задача заключалась в решении проблемы линейного падения производительности во время горизонтального масштабирования подсистемы проекта, принимающей и обрабатывающей данные от бортовых устройств. Я был единственным, кто обратил внимание на аномалию, что было бы невозможно без моих детальных знаний устройства подсистемы. Решение проблемы пришло быстро и стало возможным благодаря моим знаниям структур данных и алгоритмов работы сервисов подсистемы. Отмечу также, что помимо разработчика, я был единственным сотрудником на проекте, понимающим исходный код микросервисов подсистемы, что придавало мне особую ценность, как специалисту.
Другая проблема требовала быстрого реагирования и заключалась в предотвращении массового выхода из строя более 450 тыс. бортовых устройств после несанкционированного запуска их массового обновления. Кроме того, мной было проведено расследование причин инцидента и были сделаны рекомендации по предотвращению подобного происшествия в будущем.
Как в целом вы можете охарактеризовать полученный на проекте опыт? Был ли он полезен для вас?
Главными технологиями, с которыми я получил глубокий опыт работы, стали RabbitMQ и гиперконвергентная платформа виртуализации Nutanix. Первое решение широко используется в микросервисной архитектуре для реализации концепции слабосвязанных (loosely coupled) микросервисов, на практике же применялась отказоустойчивая конфигурация, распределённая по физическим узлам платформы виртуализации.
Опыт работы с Nutanix оказался очень ценным ввиду малой распространенности этого решения на территории России и СНГ, в противовес западному IT-ландшафту, где оно является мировым лидером среди гиперконвергентных решений, 74% всех продаж которого приходится на федеральные агентства. Слабая распространенность Nutanix обуславливается как высокой стоимостью, так и сравнительной инертностью российского IT-рынка, однако изучение этого решения я считаю хорошей инвестицией в собственную карьеру, т.к. это дает мне преимущество перед остальными специалистами своего класса и делает меня уникальным.
Сама по себе работа на проекте федерального значения также оказалась очень полезным опытом, т.к. она поставила передо мной качественно иные задачи не только технического характера. Участие в проекте такого уровня предусматривает повышенную ответственность и развивает навыки нахождения решения в любых ситуациях, что особенно важно для системного архитектора, отвечающего за выбранную стратегию в масштабах всего проекта.
Кроме того, на этом проекте я получил свой первый опыт тренингов, проводя внутрикорпоративные семинары по использующимся в Платоне технологиям, для чего я самостоятельно формировал методику. Данный опыт впоследствии сильно помог мне при прохождении сертификации на тренера Red Hat (RHCI). Платон стал моим первым крупным проектом, который поставил передо мной интересные задачи и дал опыт, который продолжает окупаться и по сей день.