Сергей НУРАЛИЕВ: «Платформенный подход на порядок облегчает создание облачных и мобильных приложений»

Логотип компании
Сергей НУРАЛИЕВ: «Платформенный подход на порядок облегчает создание облачных и мобильных приложений»
Мы уже провели успешное тестирование на 5 тыс. пользователей, одновременно работающих с одной информационной базой.  Сейчас разработали технологию для проведения нагрузочного тестирования на 10 тыс. пользователей и начали проводить тесты...

На вопросы главного редактора IT News Геннадия Белаша отвечает Сергей Нуралиев, руководитель отделения разработки экономических программ компании «1С».

Как в вашей компании решается следующая задача: какие новые фишки появятся в конкретной системе, разрабатываемой «1С»? Ведь предложения о дополнениях «сыплются со всех сторон»?

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

Команда ваших программистов разбита на группы и каждая работает со своим продуктом?

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

Сергей, в чем заключается ваша деятельность, за что вы отвечаете в компании?

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

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

Вы сами пишете код?

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

Как вы относитесь к развитию своей BI-системы?

BI-система – это достаточно абстрактный термин, но, с другой стороны, у нас есть свои механизмы Business Intelligence, есть мощная система компоновки данных, есть свой механизм отображения диаграмм. Мы считаем, что BI-направление необходимо развивать, что мы и планируем. Потребности в BI-системах, особенно в последнее время, стремительно растут, поэтому нам нужно активно двигаться в этом направлении.

Используете ли вы, по договоренности с партнерами, написанные ими части кода для вставки в свои системы? Зачем еще раз что-то программировать, если это уже сделано вашими партнерами?

В принципе мы допускаем такую возможность, если кто-то, необязательно даже наш партнер, что-то разработал и мы согласовали с ним все юридические аспекты. Такое заимствование в очень небольшом объеме имеет место в прикладных решениях, но в «Платформе» мы ни разу не задействовали чужой код. В небольшом объеме задействуем open-source-библиотеки, также имеем опыт привлечения специалистов некоторых фирм по договору для работы над нашими проектами. Эти сотрудники совместно с нами ведут разработку наших продуктов по нашим требованиям.

Ваше совместное предприятие «1С – Рарус» вместе с вашей компаний создали программный продукт «1С:Управление строительной организацией», в разработке также участвовали другие компании. Как распределяются права и как делятся финансовые поступления за проданный продукт между этим компаниями?

При создании совместных продуктов «1С» выступает как организатор процесса разработки. Разрабатывает продукт в основном партнерская фирма, но выпускается он как совместное решение под брендом «1С».

В чем суть платформенного и индустриального подходов в программировании?

В отличие от кустарного подхода, в котором все программируется по месту и нет стандартных процессов и технологий, в индустриальном подходе есть специальные процессы, направленные на поддержку и создание качественных продуктов большими коллективами разработчиков. Здесь имеются системы оформления, хранения и автоматизированного тестирования кода, системы согласования проектных решений, документирования, сборки кода и многие другие системы. Платформенный же подход заключается в том, что, как, например, в нашем случае, очень четко выделены платформа или набор взаимосвязанных фреймворков, на которых строится прикладное решение. В некоторых компаниях есть внутренние инструменты разработки или фреймворки, но границы между прикладными решениями у них размыты. У нас же это очень четко разделено: платформа представляет собой совершенно законченный продукт, который тиражируется, поставляется и на нем другие компании тоже разрабатывают свои продукты. Таким образом, наша «Платформа» является своего рода инструментом создания программного продукта и инструментом его исполнения, то есть продукты «проигрываются» в среде платформы. Причем платформа, это не просто редактор или компилятор, а большая runtime-машина, включающая в себя кластер серверов, генерацию отчетов, пользовательский интерфейс, работу с данными, интеграционные механизмы и многое другое. По сути, приложение работает в среде платформы, которая берет на себя существенную часть технологической нагрузки. Все, что нужно для прикладных решений, мы сначала оформляем как универсальные механизмы платформы, которые и позволяют, как из кубиков, собирать прикладное решение. Такие механизмы могут потом многократно использоваться для разных целей, а не только для тех, для которых они изначально создавались. В результате существенно снижаются сложность, длительность и стоимость разработки прикладных решений. Кроме того, мы на платформе можем создавать кросс-платформенные решения. Механизм пользовательского интерфейса одинаково работает в нативном и в web-клиенте, практически так же он работает и в мобильном приложении.

Как часто выходят новые версии платформы?

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

Работа с базами данных: вы поддерживаете MS SQL, IBM DB2, Oracle, PostgreSQL – что на очереди?

Можно также упомянуть Postgres Pro, коммерческую российскую СУБД на основе PostgreSQL. Кроме того, у нас есть свой файловый движок базы данных для маленьких и легких внедрений. С одной стороны, он применяется для одного-пяти пользователей, а с другой – как движок для автономных рабочих мест, в том числе для корпоративного рынка. Что касается очереди, то пока у нас нет заявленного плана по расширению списка поддерживаемых нами промышленных СУБД. Поддержка СУБД –архисложный процесс. Есть довольно уважаемые системы разработки, которые поддерживают работу с большим количеством разных СУБД, но при этом не обеспечивают переносимости написанных приложений. Можно с помощью их системы написать приложение для одной, для другой, для третьей СУБД, но это не значит, что это приложение будет работать под всеми этими СУБД. Мы же обеспечиваем очень высокий уровень совместимости. Поддержка новой СУБД – это учет сотен нюансов в различных ситуациях.

Читайте также
Одной из самых критичных инженерных систем центра обработки данных (ЦОД) можно назвать систему электроснабжения. На нее вместе с системой бесперебойного питания может приходиться до 25% от общей стоимости. Поэтому, прежде чем приобрести то или иное решение, бизнес тщательно взвешивает не только его преимущества, но и недостатки, а также связанные с ним риски.

В каких ЦОДах хранятся данные клиентов, которые хотят в ваше «облако»?

Данные пользователей нашего облачного сервиса 1CFresh.com хранятся в NORD-4. Насколько мы знаем, это самый крупный в России коммерческий ЦОД.

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

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

Что совсем для вас нового вы делаете для «Почты России», что потом будет использовано для других крупных компаний?

«Почта России» реализовала самый масштабный по количеству автоматизированных рабочих мест проект внедрения «1С:Предприятия», развернув комплексную систему автоматизации финансово-хозяйственной деятельности более чем на 47 тыс. рабочих мест. В ходе этого проекта мы конечно получили ценный опыт, который используем в дальнейшем. Сейчас «Почта России» внедряет систему электронного документооборота, при этом отмечают, что хотят не «классический документооборот в госорганах», а документооборот для поддержки бизнес-процессов. В числе особенностей проекта – поддержка работы с бизнес-объектами, интеграция с ЮЗДО, развитие мобильного приложения, работу в рамках централизованной архитектуры, масштабирование до 160 тыч. пользователей. Для этого проекта мы очень серьезно развиваем «1С:Документооборот КОРП», потом эти наработки войдут в новую тиражную версию продукта. Также в «Почте России» внедряются системы управления недвижимым имуществом (более 55 тысяч объектов недвижимости) и управления автотранспортом.

На кого рассчитан программный продукт «1С Enterprise Development Tools»?

Это наш новый инструмент разработки приложений на нашей текущей платформе, он будет постепенно приходить на замену «Конфигуратору».

С помощью этого инструмента можно создавать плагины?

Для этого у нас есть новая перспективная разработка – технология расширения, она позволяет создавать плагины для различных приложений. Благодаря плагинам можно добавить дополнительную функциональность, не трогая само приложение. Но встает вопрос: как создавать плагины для самого инструмента разработки? Есть разработчики, которые хотят модернизировать сам инструмент разработки. Для «Конфигуратора» нельзя было писать плагины, а инструмент Enterprise Development Tools разработчики могут усовершенствовать под свои нужды с помощью плагинов.

Какие результаты показывает нагрузочное тестирование? Каково максимальное число пользователей, которые смогут работать с вашими системами?

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

Обмен информацией между различными модулями ваших систем осуществляется автоматически – нет ли несогласования форматов данных?

Если под модулями понимать подсистемы в рамках конкретного приложения, то там они обмениваются данными через базу данных и через вызов процедур. Если под модулем понимать разные приложения, то они обмениваются между собой в основном через асинхронный обмен xml, есть также индивидуально написанные обмены между конкретными приложениями. Кроме того, недавно разработан универсальный стандарт Enterprise Data, позволяющий вести обмен не только между нашими приложениями, но и со сторонними. Процесс интеграции приложений нами постоянно развивается.

Сколько времени вы поддерживаете только что вышедшую версию ERP-системы?

Зависит от того, какая цифра в номере версии меняется. Переход на новый релиз (изменения в третьей цифре, например, с версии 2.2.3 на 2.2.4) достаточно простой, если система не кастомизировалась – автоматический (если кастомизировалась, то может понадобиться объединить изменения пользователя с изменениями в новом релизе). С выходом нового релиза прекращается поддержка предыдущего. За год выходит 3-4 релиза. Переход с подредакции на подредакцию ERP (с изменением во второй цифре, например 2.1.* - 2.2.*) - более серьезная процедура, т. к. изменений больше, но для некастомизированной «1C:ERP» такой переход тоже производится автоматически. Подредакции выходят примерно раз в год, и на переход мы даем еще около года с момента выхода новой подредакции, параллельно поддерживая старую подредакцию. Изменения в первой цифре (в номере редакции) были один раз, когда на смену «1С:Управлению производственным предприятием» (УПП) ред. 1.3 выпустили 23 декабря 2013 года. «1С: ERP Управление предприятием 2». При этом «УПП 1.3» мы продолжаем поддерживать, о прекращении поддержки еще не объявляли и предупредим об этом как минимум за три года.

Опубликовано 31.07.2017

Похожие статьи