IТ-специалист Анатолий Макаров рассказал о роли изобретательства в мире ПО

Программист рассказал, какую роль играет изобретательство в мире разработки ПО, зачем заниматься научной деятельностью и насколько это важно.

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

Многим Анатолий известен как эксперт высокого уровня, который  участвовал в реализации технически сложных идей, высоконагруженных и распределенных систем для компаний из СНГ, Европы и США, в числе которых Red Hat, IBM, Discover, Ростелеком AT Consulting и др. Прошел путь от разработки до управления командой. Но пока еще не многие знают, что с недавнего времени Анатолий делает большие успехи в области изобретательства и научной деятельности. Создает, описывает и патентует идеи, которые в ближайшем будущем сыграют большую роль в эволюции современных IoT-платформ.

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

Чем ты сейчас занимаешься, в каких проектах задействован?

Последние 2 года я работаю в США в компании Digital IQ на крупных проектах миграции в роли старшего архитектора ПО. Последний проект – это проектирование и построение системы миграции данных для крупного банка Discover. Много интересных идей, кстати, появилось в процессе, есть планы реализовать что-то в виде  отдельного продукта в будущем. Если коротко о компании, то это команда высококлассных специалистов. Мы являемся партнерами Red Hat и уже известны и реализовали много успешных проектов для разных компаний, таких как Credit Swiss, Walmart, Verizon, Anthem и др.

Мы знаем и много слышали о тебе и твоих проектах в качестве профессионального архитектора. Можешь рассказать, с чего начался твой путь в изобретательстве.

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

Расскажите подробнее об этих проблемах.

Все просто. Распределенные системы, например, электросети, с большим числом датчиков, сенсоров и других измерительных приборов генерируют большое число временных рядов, в связи с чем возникает потребность в автоматической интеллектуальной обработке большого объема данных. Подобная обработка может использовать модели машинного обучения для извлечения новых знаний или построения прогнозов. Таким образом, вам необходим высокопроизводительный кластер, способный обрабатывать порядка сотни ТБ потоковых данных, максимально утилизирующий все имеющиеся ресурсы и масштабирующий горизонтально – это может оказаться для вас большой головной болью и, что более существенно, стоить вам немалых денег.

А в чем недостатки существующих систем?

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

Какие пути решения?

Это то, что я описал в своей идеи. Результат состоит в оптимизации использования технических ресурсов обслуживающих серверов путем высвобождения малоиспользуемых и нагружения новых ресурсов при росте нагрузки. Система выступает в роли кластерного ПО и шины передачи данных одновременно. Каждый узел, входящий в систему, имеет одинаковый набор функциональностей, что позволяет сохранить полную функциональность при частичной потере кластера – нескольких вычислительных узлов. Горизонтальное масштабирование выполняется автоматически, выделяя и высвобождая ресурс, ы в зависимости от текущего профиля нагрузки конкретных функций и загруженности вычислительных узлов, обеспечивая требуемый уровень производительности.

Звучит многообещающе.

Да, надеюсь, это найдет применение в виде конкретной платформы. Я сейчас работаю над одним из вариантов имплементации моей идеи. Сейчас все свое свободное время я посвящаю популяризации и развитию свободной и открытой версии решения. Уже сейчас можно переиспользовать мои наработки для построения подобных систем.

Чем вам интересно изобретательство?

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

Какими чертами должен, по вашему мнению, обладать современный архитектор-изобретатель, рационализатор?

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

Да, мы уже встречались с тобой на крупной IТ-конференции. Ты там выступал со своим докладом о бессерверных вычислениях. А чем это тебе помогает?

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

К каким проблемам надо быть готовым?

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

Посоветуйте, как развить свои изобретательские, рационализаторские способности?

Необходимы формирование «изобретательского взгляда», уверенность в том, что поставленную проблему обязательно решишь, настойчивость, отключение самокритики, стремление докопаться до сути. Развитие изобретательских способностей невозможно без постоянной работы над решением научно-технических задач в той области, где ты работаешь.

Почему ты открыто публикуешь свои идеи и делишься знаниями и исходными кодами с сообществом?

Я всегда интересовался ПО с открытым кодом и во многих случаях принимаю решения использовать такие решения в производственных системах. Так, например, в своих рабочих проектах я успешно применяю решения PostgreSQL, Cassandra, OpenShift, Docker, Kubernetes от компании Google и являюсь экспертом по многим продуктам компании Red Hat и их открытым веткам – Ceph, Gluster, Ansible. Сейчас интерес и просто применение таких инструментов сменился полноценным участием в создании открытого кода и собственными разработками.

Сегодня компании с собственным штатом R&D занимаются развитием открытых продуктов, открывают собственный код. Такой подход позволяет быстрее выявлять недочеты, получать ценные замечания и комментарии со стороны – это непосредственно влияет на качество продуктов.

На рынке очень много открытых решений, которые становятся стандартом отрасли. Одним из маркеров надежности продукта является его членство в Linux Foundation, Apache Foundation или если на него обращает внимание компания Red Hat. Поэтому важно, наоборот, идти навстречу сообществу и быть открытым. Это стратегически правильное решение.

Что посоветуешь тем, кто решится начать такой же путь?

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

09:14
22

красный зелёный голубой