ПО
ИТ / Статьи
импортозамещение ПО экспертная колонка
20.9.2023

Высоконагруженная софт-перестройка

Как нагруженным ИТ-системам сохранить эффективность при переходе на отечественные решения

Уход зарубежного ПО однозначно повлиял на железо, а вот что же изменилось в работе высоконагруженных ИT-систем и изменилось ли вообще? Как теперь структурируются бизнес-процессы компаний с учетом новых вводных? И самое главное: что пришлось добавить компаниям в свою работу, а что убрать, чтобы адаптироваться к импортонезависимому ПО? Разобраться в этих аспектах читателям RSpectr помогли руководитель практики ИТ и сервисов ALP Group Валерий Лямо и руководитель корпоративных практик ALP Group Александр Казеннов.

РЕШЕНИЯ ДЛЯ ЗАГРУЖЕННЫХ ИT-СИСТЕМ

На данный момент в ИT-среде высоконагруженными принято считать системы, которые обрабатывают большое количество запросов за единицу времени – условно от 10 тыс. операций в секунду. И к которым предъявляются высокие требования по доступности и стабильности – практически 24/7. Количество пользователей здесь не имеет значения.

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

Именно поэтому обработка запроса в ChatGPT, как многие успели заметить, не мгновенная. Системе нужно время, чтобы принять запрос, посмотреть по своим базам, как на него ответить, выстроить взаимосвязи и выдать информацию наружу.

С ЧЕМ СТОЛКНУЛСЯ БИЗНЕС

Некоторые компании были готовы к текущей ситуации и уже заранее перешли на импортонезависимое ПО или разработали свое. Например, «Яндекс» создал свою систему управления баз данными ClickHouse. Те, кто хранил данные в облаках, испытали сложности, но, как правило, крупные корпорации хранят данные на своих серверах или же в своих частных облаках.

Особенно сильно пострадали те компании, которые годами вкладывались в ПО от мировых гигантов Oracle и SAP, так как официально вендоры ограничили или прекратили техподдержку, а также свели на нет возможность получения обновлений и продления лицензий (различные обходные пути мы в расчет не берем).

Поэтому все встали перед одним-единственным выбором: переходить на импортонезависимое ПО и менять стек технологий до того, как истечет срок действующих лицензий и будет выключен «рубильник», как это случилось на некоторых предприятиях с иностранным участием.

У многих компаний софтовые проблемы дополнились проблемами с железом: например, перестали работать серверы от IBM или Oracle, которые ушли из России, а оперативно купить замену было невозможно. Или даже если они работали, то что с ними делать, если они заточены только под продукты теперь уже не дружественных компаний?

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

Переходы были многоэтапные: сначала меняли железо, оставляя софт, затем меняли софт

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

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

ИЗМЕНЕНИЯ В БИЗНЕС-ПРОЦЕССАХ

У отечественного ПО отличный от иностранного интерфейс и возможности, но на 70% оно точно подходит для закрытия необходимых задач. Да, к нему нужно привыкнуть и простить какие-то моменты, понять, что здесь будут другие шрифты, цвета и кнопочки, некоторые функции реализованы по-другому. Часто корпоративные клиенты хотят, чтобы все было так, как они привыкли, но увы, придется переучиваться. И мы не будем повторять все, что вы уже читали и слышали за этот год: отечественному ПО предстоит пройти серьезный путь, но также стоит признать, что заданная ситуацией скорость придает развитию фантастический темп.

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

  • Нагрузочные тесты стали нашей реальностью. Больше никто не думает, что это излишняя трата денег. Компании понимают, что при запуске релизов функциональное и нагрузочное тестирования необходимы. Тестирование позволяет понять, как система справляется с нагрузкой, где и что плохо работает, какие есть узкие места.
  • Появилась необходимость обращать внимание на качество и оптимальность кода. Раньше Microsoft прощал использование неоптимального кода за счет своего оптимизатора, а вот, например, PostgreSQL такие вещи не прощает.
  • Компании начали следить за кросс-платформенностью решений. При переходе на российское ПО некоторый функционал, из-за того, что не была предусмотрена кросс-платформенность, перестал работать. Поэтому сейчас весь стек рассматривается таким образом, чтобы он работал на разных платформах.

НЮАНСЫ РАБОТЫ ВЫСОКОНАГРУЖЕННОЙ ИТ-СИСТЕМЫ

В текущих условиях обязательно нужно составлять и прорабатывать карту рисков и просчитывать: что может случиться, если, например, ляжет этот сервис? А если лягут все? Что мы будем делать, если Microsoft резко выключит все операционные системы?

Нужно закладывать самые нестандартные, но тем не менее возможные нештатные ситуации

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

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

ЭТАПЫ ПРОЕКТИРОВАНИЯ ВЫСОКОНАГРУЖЕННОЙ ИТ-СИСТЕМЫ

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

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

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

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

У системы должен быть высокий уровень доступности и минимальные простои, поэтому необходимо спроектировать отказоустойчивость системы – дублирование критически важных компонентов.

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

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

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

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

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

Изображение: RSpectr, Adobe Stock

Еще по теме

Почему буксует импортозамещение электронных компонентов

Почему рынок коммерческих дата-центров нуждается в регулировании

Что ждет начинающего тестировщика в 2024 году

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

Какие угрозы несет интернет тел человечеству

Успеют ли банки заменить импортный софт и оборудование до 2025 года

Зачем компании вкладывают деньги в ИТ-состязания?

Импортозамещение и внутренняя разработка ПО в страховании

Почему рынок информационных технологий РФ возвращается к классической дистрибуции

Что сделано и не сделано в цифровизации России за 2023 год

Как заботу о вычислениях переложить на вендоров и почему не все к этому готовы

Когда российский бизнес начнет замещать импортное ИТ-оборудование

Чего добились за два года активного импортозамещения ПО

Как искусственный интеллект меняет банковскую систему РФ

Как проходит цифровая трансформация отечественного госсектора