Роман Могилатов – IT-эксперт в построении высоконагруженных систем и предметно-ориентированном проектировании

  • 17 сентября, 08:26
  • 3776
  • 0

Роман Могилатов – техлид компании SoftServe, один из лучших специалистов в области предметно-ориентированного проектирования и разработки программного обеспечения для работы в условиях высоких нагрузок, имеющий уникальный 14-летний опыт работы в отрасли. Роман работал ведущим инженером в продуктовых и сервисных IT-компаниях, участвовал в запуске стартапа Portside, разрабатывал микросервисную платформу для компании Cupid и был ведущим специалистом при разработке решений в сфере кибербезопасности совместно с компанией Cisco.

Кроме работы и партнерства с мировыми IT гигантами Роман также успешно запускает собственные проекты, которые вносят вклад в глобальное развитие IT-индустрии и развивают бренд Украины как передового IT-государства. Самым успешным из таких проектов стал Dependency Injector. Это библиотека с открытым исходным кодом, которая помогает другим программистам разрабатывать более качественный код и значительно ускоряет разработку за счет переиспользования уже готовых компонентов, а также упрощает внедрение автоматического тестирования. Роман стартовал этот проект в 2015 году, а сейчас его скачивают 600 000 раз в месяц, он опередил по популярности все аналогичные решения, в том числе и решение от компании Google. Сегодня Dependency Injector используется в таких компаниях как Amazon, Facebook, Google, Raiffeisen Bank, Visa и Mastercard. Будучи специалистом по разработке высокопроизводительных компонентов, в 2017 году Роман выпустил новую версию Dependency Injector на основе языка программирования Cython, что позволило ускорить работу библиотеки в 50 раз и сократить потребление оперативной памяти в 20 раз на тысячах серверов по всему миру. Благодаря подобным оптимизациям бизнес по всему миру экономит сотни тысяч долларов на счетах за инфраструктуру, а мы, как общество, становимся более энергоэффективными и сохраняем ресурсы нашей планеты.

Другим важным вкладом в развитие IT-индустрии является проект МенторБот. Это телеграм-бот, который помогает тысячам людей, которые хотят освоить профессию в IT, найти ментора. Роман запустил этот проект вместе с партнером в 2019 году в разгар пандемии COVID. Проект был настолько востребован, что получил первую тысячу пользователей в течение часа после официального анонса на сайте DOU. Такой спрос требовал дополнительных проектных решений. Чтобы бот мог уверенно справляться с несколькими десятками тысяч одновременных пользователей, Роман вынес наиболее ресурсоемкие функции в отдельные микросервисы и внедрил оптимизации запросов к базе данных. Ключевым компонентом, который помогает боту справляться с высокими нагрузками, является его асинхронное ядро, которое Роман разработал на базе модулей asyncio, uvloop, aiohttp и aiogram. Стоит также упомянуть, что МенторБот построен на передовой платформе виртуализации Docker и работает на серверах компании Amazon, что соответствует лучшим практикам построения современных высоконагруженных и отказоустойчивых проектов. МенторБот помог тысячам людей в Украине и странах СНГ войти в IT – а дальше в планах у Романа расширять аудиторию МенторБота на рынках Северной и Южной Америки.

Карьеру Роман начинал в компании Spexo в своем родном городе Каменском в 2007 году. Роман работал над созданием ядра платформы Lakod. Эта платформа была построена на принципах кодогенерации и была основным бизнес-драйвером компании Spexo, позволила успешно выйти на лидирующие позиции на рынке решений на базе кодогенерации и создавать проекты от нуля до прототипа за несколько часов без единой строчки кода. Одним из крупнейших проектов Романа в Spexo был проект компании Daytimer, которая является одним из лидеров на рынке США по предоставлению офисной продукции для планирования и учета рабочего времени. Роман руководил командой разработки для создания интернет-магазина последнего поколения на базе платформы Magento, которая позже стала частью компании eBay.

Роман всегда увлекался масштабными и высоконагруженными решениями, и так в 2013 году принял предложение компании Cupid стать ведущим разработчиком серверной части в отделе передовых разработок Cupid Labs. Платформа компании Cupid представляла собой крупное монолитное высоконагруженное приложение, которое обслуживало 50 миллионов пользователей по всему миру. Ввиду высоких нагрузок и постоянно растущего спроса на продукты компании Cupid, платформа нуждалась в проведении оптимизации и рефакторинге. Благодаря профессиональной работе и экспертным знаниям Романа уже через 3 месяца компания запустила первый микросервис на базе языка программирования Python, асинхронного фреймворка Twisted, брокера сообщений RabbitMQ и высокопроизводительной базы данных Apache Cassandra. После запуска этот сервис обслуживал более 2 миллионов событий в день и прекрасно справлялся с этой нагрузкой. Работа Романа над этим микросервисом и его запуск был для компании Cupid технологическим прорывом – решений такого уровня в компании до этого не было. В течение нескольких последующих лет Роман и команда, которую он координировал, разработала полнофункциональную платформу на базе микросервисной архитектуры, построив собственное асинхронное ядро на базе языка программирования Python и фреймворка Twisted.

В 2015 году Роман присоединился в качестве технического лидера к компании SoftServe, где участвовал в разработке и оптимизации проектов компании совместно с Cisco Talos Intelligence Group. Первым крупным проектом Романа была настройка синхронизации многопоточного сервиса телеметрии высоконагруженного REST API компании Talos – работающий корректно при нормальных условиях, сервис телеметрии начинал давать сбои под высокой нагрузкой. Благодаря экспертизе Романа при работе с высоконагруженными системами, он разработал модель оптимизации на базе принципа буферизации, которая кроме устранения неполадок позволила увеличить производительность сервиса на 30%. Это позволило Cisco Talos Intelligence Group сократить расходы на содержание десятков серверов, которые теперь могли заниматься другой работой или находиться в резерве.

Другим важным карьерным шагом для Романа было участие в создании стартапа Portside. Этот стартап, родом из силиконовой долины, фокусируется на проблемах частной авиации. Portside – это система финансового и операционного менеджмента для владельцев частных самолетов и менеджмента компаний. Компания Portside пригласила Романа в качестве эксперта для принятия фундаментальных архитектурных решений в самом начале проекта. Роман был первым инженером серверной части и спроектировал всю систему с нуля, а также установил высокие стандарты качества на предстоящем проекте. Основным архитектурным вызовом было то, что ввиду своей специфики система должна была работать с большим количеством валют, временных зон, единиц измерения расстояния, объема и скорости. Применяя принципы предметно-ориентированного проектирования, Роман спроектировал систему конвертации и группировки данных на лету, которая позволила проводить необходимые вычисления в реальном времени и отлично справлялась с положенными на нее нагрузками. В основу платформы Portside лег язык программирования Python, фреймворки Django, REST Framework, Celery (Backend workers), база данных Postgres, брокер сообщений RabbitMQ, виртуализация на базе Docker и инфраструктура на Amazon Web Services. Сейчас Portside успешная развивающаяся компания, которая обслуживает сотни клиентов и тысячи самолетов в США, Европе и других странах по всему миру.

Сегодня Роман – техлид в компании SoftServe в США. В 2018 году компания SoftServe пригласила Романа переехать в США для работы над наиболее критически важными проектами компании. Проекты, над которыми сейчас работает Роман, относятся к сфере кибербезопасности. Одним из последних проектов Романа является Cisco SNIF (Secure Network Intelligence Feed) и интеграция платформы Cisco SNA (Secure Network Analytics, ранее известная как Cisco Stealthwatch) с базами данных Cisco Talos Intelligence Group. Проект SNIF и его интеграция с Talos помогает защищать клиентов компании Cisco от более чем 20 миллионов различных угроз, включая вирусы-шифровальщики, ботнеты типа command & control, входящих или исходящих соединений с Tor (его еще называют даркнетом) и богон сетями.

Роман считает развитие своих проектов и работу в сфере кибербезопасности своей миссией – через свою деятельность IT-эксперта он участвует в мировой борьбе с киберпреступностью, помогает другим разработчикам и компаниям создавать более качественный код, а молодым специалистам – получить свою первую работу и построить успешную карьеру в IT.

История Романа – один из примеров того, как украинские инженеры становятся экспертами мирового уровня и развивают IT-индустрию в глобальном масштабе.


0 комментариев
Сортировка:
Добавить комментарий

IT Новости

Смотреть все