Как выбрать оптимальную целевую архитектуру IT-решений
Валерий Лямо делится опытом по подбору программных продуктов в проектах комплексной автоматизации на базе 1С
С 2018 года возглавляет направление практики по управлению корпоративными сервисами и информационными технологиями ALP Group.
Что такое архитектура в IT
В моем понимании, IT-архитектура вообще — это описание структуры некой модели, состоящей из элементов и взаимосвязей между ними. В свою очередь, архитектура информационных систем предприятия — это совокупность программных продуктов (программного обеспечения), интерфейсов взаимодействия между ними, а также совокупность программно-аппаратных средств, методик и стандартов, обеспечивающих эффективное функционирование приложений как единого целого.
В проектах комплексной автоматизации, когда автоматизируется сразу большое количество разных бизнес-процессов в компании, проектирование архитектуры — ответственный этап, от которого может зависеть успех или провал всего проекта. Вариантов продуктов и их сочетаний — множество, и задача опытного IT-архитектора — собрать идеальную устойчивую и гармоничную структуру, которая пройдет испытание временем и не создаст бизнесу проблем в будущем.
Приведу один пример. Представим, что нам нужно автоматизировать бухгалтерию в промышленной компании. Кажется, есть смысл пойти по пути наименьшего сопротивления и вести все расчеты прямо в ERP-системе, где ведется учет производства. Но что, если речь идет о полноценном холдинге, где разные дочерние компании занимаются разными направлениями деятельности? Тогда мы можем выделить одну большую бухгалтерскую базу и вести расчеты в специально предназначенной для этого кастомной системе. Но удобно ли смешивать всю бухгалтерию по группе компаний? И что делать, если топ-менеджеры хотят видеть максимально детализированный бухгалтерский учет по всем бизнес-процессам? Разумно ли использовать для каждой функции отдельные автоматизированные решения?
Задача выбора целевой архитектуры оказывается уже не такой простой, как могло показаться на первый взгляд.
Пять шагов на пути к оптимальной архитектуре
1. Собираем вводные данные
Чтобы правильно определить целевую архитектуру, для начала необходимо выяснить:
- как выглядит текущая архитектура;
- какие недостатки и проблемы вызвали необходимость внедрения/модернизации/реинжиниринга IT-ландшафта;
- как устроены текущие бизнес-процессы в компании;
- как выглядит общая бизнес-стратегия заказчика;
- какие требования и ожидания есть у всех ключевых подразделений заказчика, включая спецификации по информационной безопасности.
2. Анализируем данные и отвечаем на вопросы
После получения информации из первого шага нам необходимо понять:
- Является ли внедряемое решение новым этапом развития автоматизации или речь идет о замене устаревшего решения?
- Если это замена, то вся ли текущая архитектура требует перевнедрения или только какая-то ее часть?
- Если речь о новом витке автоматизации, то как внедряемое решение или комплекс решений впишется в общую IT-архитектуру заказчика?
- Что произойдет с текущими интеграционными потоками?
- Есть ли необходимость в перестроении каких-либо бизнес-процессов или бизнес-логики?
3. Подбираем решения
Далее пытаемся подобрать программный продукт или комплекс программных продуктов, максимально удовлетворяющий требованиям и ожиданиям заказчика. При этом нужно понимать, что не всегда функциональность какого-то блока единой системы может полноценно «покрывать» предъявляемые требования и что зачастую есть специализированные программные продукты с более богатой функциональностью, которая в большей степени подойдет заказчику.
Параллельно с этим мы не должны забывать про показатели доступности, отказоустойчивости, катастрофоустойчивости и быстродействия как системы в целом, так и отдельных ее подсистем, блоков и сервисов: не всегда единый программный продукт, разрабатываемый вендором как максимально универсальная настраиваемая система, может соответствовать предъявляемым требованиям по указанным параметрам.
4. Продумываем интеграции
После выбора максимально подходящего продукта или комплекса программных продуктов определяемся с их местом в интеграционной схеме, корректными потоками данных и необходимыми интеграционными механизмами.
5. Тестируем выбранную архитектуру
Собираем тестовый стенд прототипа системы на базе существующих продуктов от вендора с минимально возможной кастомизацией и настройками, которые приближают типовые решения к требованиям, бизнес-процессам и методикам заказчика. Проводим демонстрацию функциональности на заранее подготовленных бизнес-кейсах. Если заказчик доволен, то выполняем нагрузочное тестирование системы, а затем определяем функциональные разрывы для необходимых доработок. При таком подходе мы до начала ведения непосредственной разработки понимаем, будет ли выбранная архитектура соответствовать всем ожиданиям заказчика.
Грамотно спроектированная IT-архитектура обеспечивает масштабируемость, надежность и эффективность всей системы. Важно помнить, что процесс подбора цифровых решений требует комплексного подхода и учета специфики бизнес-задач компании. Использование передовых технологий и стандартов, а также постоянное обновление и оптимизация архитектуры позволят быть на шаг впереди конкурентов и успешно реализовывать цифровые стратегии в долгосрочной перспективе.