• На уровне учетной составляющей требуется эффективное выполнение групповых операций над большими объемами данных, надежное долговременное хранение информации, высокая скорость записи вновь поступающих данных.
• На уровне частной учетной составляющей (аналитический учет) требуется гибкая настройка продукта (группы продуктов), адресное формирование настроек, гибкая работа пользовательских интерфейсов, клиентами которых являются в первую очередь сотрудники организации, отвечающие за развитие продуктов (владельцы продуктов и смежные им роли). Также обязательным требованием рассматриваемой составляющей является надежное и долговременное хранение информации.
• Настройка бизнес-процессов нуждается в высокой гибкости, кроме того, специфика инструментов, обеспечивающих гибкую алгоритмизацию проводимых операций, предъявляет требование наличия компонентов, обеспечивающих дополнительную производительность.
• Автоматизация фронтальной составляющей немыслима без применения технологий, обеспечивающих высокую клиентскую привлекательность продукта, адаптивность создаваемых интерфейсов, невысокую нагрузку на устройства, посредством которых осуществляется взаимодействие с продуктом, а также высокую производительность, которая является обязательной составляющей современного клиентского пути.
Как видно из перечисленного списка, требования, предъявляемые при автоматизации различных составляющих продукта, пересекаются по принципу кругов Эйлера. Но мы имеем все преимущества, которые предоставляет нам концепция открытого кода. И здесь необходимо учитывать, что многие из тех задач, которые мы планируем решить при автоматизации соответствующего продукта, уже решались ранее (пусть и частным, а не платформенным образом). И современный архитектор, являясь лидером технологических изменений, обязан это учитывать.
Итак, требование к надежному и долговременному хранению информации, предъявляемое составляющими синтетического и аналитического учета, выполняется путем использования современных технологий хранения, обеспечивающих эластичное масштабирование. Более того, в случае если соответствующие технологии предоставляют возможность сегментации (раздельного и независимого хранения и управления массивами данных), то мы можем использовать общую технологическую базу при хранении соответствующей информации как для учетной, так и для частной учетной составляющих. Примерами подобных технологий, которые могут использоваться для решения указанной задачи, могут служить Apache Cassandra и Apache Hadoop, являющиеся продуктами с открытым исходным кодом. Указанные продукты используются технологическими гигантами и их клиентами и партнерами и доказали свою состоятельность. Для групповых операций может использоваться связанная технология – например, Apache Spark, также представляющая собой продукт с открытым исходным кодом. Более того, Apache Spark предоставляет возможности бесшовной интеграции с тем же Apache Hadoop, существенно снижая трудозатраты команд разработки.
Обеспечение высокой скорости записи возможно при использовании технологий как распределенного хранения, так и потоковой интеграции; примерами последних могут выступать Apache Kafka или Apache Pulsar. Указанные технологии обеспечивают высокую скорость записи и множество доступных смежных технологий, отлаженных сообществом разработчиков и готовых к применению. Отметим, что интеграция может быть вертикальной (с точки зрения Рисунка 4) и пронизывать все составляющие автоматизации продукта сквозным образом. Также Apache Kafka и Apache Pulsar (в меньшей степени) поддерживают бесшовную интеграцию (с использованием открытых компонентов) с современными технологиями долговременного хранения информации. Нельзя не отметить, что приведенные технологии потоковой интеграции представляют собой продукты с открытым исходным кодом.