TAdviser: Какие технологии могут снизить риск миграции высоконагруженных бизнес-приложений? Обзор возможностей платформы ТУРБО

16.03.2022 | Публикации
Сегодня задача миграции на отечественный софт стоит перед многими предприятиями. Критичным становится вопрос использования систем управления бизнес-процессами — от их работоспособности зависит непрерывность работы и сама возможность обслуживания клиентов. Посмотрим, какие технологии, используемые в решениях на платформе ТУРБО, могут снизить риск миграции высоконагруженных приложений.
Отечественные альтернативы для глобальных систем управления предприятиями существуют, но переход на них сдерживается, в том числе обоснованным недоверием к производительности отечественных продуктов. Для критических процессов важна устойчивость систем к высоким нагрузкам.

Обратим внимание на три ключевые нагрузки, которые являются типичными для систем категорий ERP, EAM и EPM. Это большой объем данных, большое количество пользователей и большие вычислительные задачи. Также рассмотрим, какие технологические решения, используемые в продуктах на платформе ТУРБО, могут снизить риск миграции высоконагруженных приложений.
Большой объем данных
В ERP-системах объемы баз данных определяются многими факторами операционной деятельности бизнеса, структурой и количеством бизнес-юнитов, числом товарных позиций (SKU), объёмом контрагентов и их ежедневных операций, продолжительностью открытого финансового периода. Например, в дистрибуции и рознице порядок этих показателей — миллионы, их десятки и сотни. И это легко выводит рабочие базы в сотни терабайтов.

Что в контексте больших данных требуется от ИТ-систем:

1. Поддержка различных баз данных, возможность перехода на более новые СУБД по мере роста бизнеса. В архитектуре платформы ТУРБО за это отвечает сервер данных, который может работать практически с любыми реляционными СУБД в концепции ORM. Разработчик создает бизнес-логику в объектной модели прикладной задачи, а не на конкретном диалекте SQL. Поэтому ТУРБО поддерживает Oracle, MSSQL, Postgre и любые другие реляционные СУБД.

2. Поддержка централизованных и децентрализованных топологий развертывания продуктивной инсталляции ERP, возможность распределения данных по различным экземплярам. Архитектура ТУРБО — это многозвенный клиент-сервер, разные серверы могут быть по мере необходимости развернуты в частных и публичных облаках, например, ближе к операционной деятельности конкретного бизнес-юнита, и работать со своей выборкой данных.

3. Репликация. Используется для синхронизации нужных данных между нужными экземплярами в случае децентрализованный топологии. Каждый юнит может работать на своем экземпляре с личным набором данных, но эти наборы будут синхронизироваться с централизованными службами с финансами, снабжением, распределительным центром и др. В ТУРБО есть репликация не только данных, но и метаданных, что позволяет синхронизировать данные и централизованно распространять модификации в бизнес-логике по всем структурным подразделениям.
Большое количество пользователей
Количество пользователей в современных ERP может идти на десятки тысяч. Но уровень запросов пользователей таких систем сильно различается. Кто-то пересчитывает себестоимость запасов по всей истории движения всех SKU в открытом периоде. Кто-то считает зарплату на 150 тысяч сотрудников по 50 видам начислений и удержаний. Кто-то заходит в систему раз в неделю, чтобы ввести часы по проектам. Кто-то заходит раз в квартал, чтобы записаться на тренинг или завести авансовый отчет.

Что в контексте большого числа пользователей требуется от ИТ-систем:

1. Многозвенный клиент сервер, балансирование нагрузок по серверам приложений и экземплярам продуктивной системы. Это позволяет распределить нагрузку между серверами, назначая каждой заданной группе пользователей свой сервер или кластер серверов приложений, с которым они будут работать. Отметим, что ТУРБО — это классический многозвенный клиент-сервер, компоненты которого могут быть развернуты как в частных, так и публичных облаках.

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

3. Вынесение на порталы категорий пользователей, нуждающихся в ограниченном функционале. Например, перенести на порталы можно работу с заказами, актуализацию персональных данных и коммерческой информации, обработку данных по затратам часов и материалов по проектам. Партнеры ТУРБО активно используют порталы для ввода данных от «облегченных» категорий пользователей, последующей передачи запросов к серверам приложений ТУРБО в режиме мультиплексора и приему результатов от серверов приложений ТУРБО для последующей визуализации своими средствами.
Большие вычислительные задачи
Примеров сложных вычислительных задач очень много. Помимо уже упомянутого, это и расчет амортизации в компаниях с обширными основными фондами, производственного плана для крупных промышленных предприятий и построение оборотных отчетов на больших массивах транзакций. Система должна быть готова к таким нагрузкам, а разработчик бизнес-логики должен хорошо владеть инструментарием, который позволит минимизировать риски пиковых нагрузок.

Что важно в контексте больших вычислений требуется от ИТ-систем:

1. Использование in-memory обработки данных. Чем быстрее доступ к данным, а в оперативной памяти он именно такой, тем быстрее над ними осуществляются вычисления. Не случайно аналитическая обработка данных активно перемещается именно туда, термин in-memory OLAP уже фактически не требует перевода. Отметим, что ТУРБО пошла именно по этому пути задолго до того, как данный подход стал де-факто стандартом в индустрии.

2. Параллельные вычисления. Развитие многоядерных процессоров и многопроцессорных архитектур серверов позволяет распараллелить вычисления на доступную инфраструктуру. Для этого прикладным разработчикам должны быть доступны легкие в использовании механизмы для применения в бизнес-логике. Например, пересчет себестоимости запасов можно распараллелить на группы складской номенклатуры, расчет зарплаты проводить по структурным подразделениям, а расчет амортизации — по филиалам и различным стандартам учета. В новом поколении платформы ТУРБО реализованы механизмы для реализации параллельных вычислений, что обеспечивает нужный результат в быстродействии.

3. Вынесение вычислений за рамки транзакций. Современные методы работы данных выходят за рамки реляционной модели, что дает возможность выносить вычислительные задачи за пределы серверов данных и приложений. Методов много. Это и граничные, и повсеместные вычисления (edge/pervasive computing), предиктивная аналитика и выявление закономерностей с ML и big data. Чем активнее бизнес-логика выходит за рамки стандартных запросов, чем больше задач выводится в специализированные сервисы, тем система более устойчива и масштабируема к сложным вычислительным задачам. Яркий пример подобного подхода — уникальная модель обработки финансовых или товарных транзакций, совмещающая подходы OLTP и OLAP, с сохранением текущего баланса по аналитическому счету в гиперкубе в оперативной памяти. Это позволяет заметно ускорить проведение любых операций, документов и формирование отчетов. Быстрее осуществляются и операции, затрагивающие большие массивы транзакций в открытых и закрытых периодах.

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

Узнать больше о реализации высоконагруженных приложений на платформе ТУРБО можно здесь.

Также компания-разработчик ТУРБО (Консист Бизнес Групп) запустила горячую линию импортозамещения, по которой можно получить оперативную консультацию по вопросам миграции программного обеспечения, в том числе операционных систем и СУБД, подбору решений для частичной или полной миграции бизнес приложений.