Архитектура системы обработки данных: как выбрать между on-premise, on-cloud и гибридным вариантом?
С усложнением бизнес-задач в компаниях усложняются и требования к корпоративной системе аналитики. С одной стороны, она должна быть удобной, как для обычных пользователей, так и для техперсонала. А с другой — безопасной и функциональной. Получится ли в этом случае быть одновременно и умным, и красивым? Попробуем разобраться.
В современных реалиях используются, в основном, 2 подхода к организации корпоративных информационных систем — это on-premise решения и on-cloud продукты. Рассмотрим каждый из них по отдельности и увидим, что получается, если объединить их.
Локальное (on-premise) программное обеспечение
Здесь всё прозрачно — вендор предоставляет лицензию на определенный набор рабочих мест. Все расходы (и риски) по взаимодействию ПО с источниками данных бизнес берет на себя. Вендор осуществляет регулярную техподдержку продукта (обновление, консультации пользователей и пр.).
При таком подходе бизнес получает коробочное решение для построения аналитической системы, а также определенные гарантии сохранности своих данных (за счет локального развертывания). Но вопросы аппаратного обеспечения и внутренней поддержки, да и возможных интеграционных работ, — исключительно его забота.
Пример 1: Data Gateway от Microsoft
Продукт служит интеграционной шиной между интерактивными отчетами в среде Microsoft PowerBI и источниками данных конкретного бизнес-пользователя. Используя язык M и функции DAX, решение обрабатывает запросы к источникам данных, при необходимости обогащает их и отправляет данные в наборы (хранилище отчетных показателей на стороне PowerBI Service), по которым бизнес-пользователи создают отчеты. Продукт устанавливается на конкретную физическую машину по принципу «один шлюз — одна учётная запись». Подойдёт для организации централизованной обработки бизнес-данных из локальных или удалённых источников.
Пример 2: сервер отчетов PowerBI
Решение служит для консолидации бизнес-данных на локальной машине или же VDS и построения множественных интерактивных отчетов. Подходит для организации корпоративного хранилища данных и локального или же сетевого доступа к нему.
On-cloud и SaaS-решения
Такие продукты размещаются и функционируют на аппаратных мощностях вендора.
Очевидные плюсы — простота обновления и поддержки (для вендора), а также экономия временных и аппаратных ресурсов бизнеса. При этом необходимо учитывать возможный риск утечки данных и утери бизнесом контроля над ними.
Пример: PowerBI Services — веб-интерфейс для работы с интерактивными отчетами
Базовая функциональность доступна бесплатно, расширенные возможности — в рамках подписки. Решение позволяет публиковать отчеты в облаке Microsoft и обмениваться ими, управлять обновлением данных. Кроме того, имеется возможность внедрять опубликованные в облаке отчёты в сервисы клиента посредством создания ссылок и iframe-компонентов (кодов внедрения). Такой вариант подходит для случаев, когда пользователи хотят показывать отчёты исключительно внутри своего сервиса или системы (CRM, ERP и пр.) — из соображений безопасности и/или сохранности данных.
Гибридная архитектура
Этот подход (например, решения Atlassian, New Relic и пр.) предлагает использование двухуровневой концепции — проектирования бизнес-логики на стороне вендора и построения инфраструктуры хранения и обработки данных на стороне клиента.
При таком раскладе вендор не имеет прямого доступа к данным клиента, его бизнес-логика служит лишь для взаимодействия с ними (операции вычислений, обновления, удаления и пр.), а также мониторинга состояния данных (объема, целостности и пр.). Она может быть как универсальной (работающей с множеством клиентских учётных записей), так и индивидуальной (работающей изолированно с одной учётной записью).
Уровень хранения и обработки данных реализуется полностью на стороне клиента, а его взаимодействие с бизнес-логикой вендора может осуществляться с помощью тонкого клиента или API интерфейса. Некоторые вендоры реализуют прямое взаимодействие с данными клиента, либо используют сервисы управления учётными данными для облачных систем хранения данных.
Итак, гибридный подход предоставляет бизнесу гибкость SaaS-решения в сочетании с полным контролем данных on-premise продуктов и ограничивает хранение данных только клиентскими серверами и облачными хранилищами. Сторона же вендора предоставляет инструменты для обработки и визуализации данных.
Пример: функциональность потоковых наборов данных PowerBI
Набор данных представляет собой JSON-строку, которая наполняется структурированными клиентскими данными для последующей визуализации. Доступно как хранение (т.е. накопление статистики с возможностью исторического анализа), так и демонстрация (т.е. разовый забор структурированных данных). В режиме хранения вместимость набора данных составляет 200 000 строк — этого достаточно при решении задач ежемесячной аналитики на небольших объемах данных. Но чтобы использовать это решение, бизнесу вначале необходимо реализовать логику для нарезки JSON соответствующей структуры и отправки данных на URL обработчика набора в PowerBI.
Выгоды от гибридизации архитектуры
- Финансовые и временные — выражаются в сокращении расходов и трудозатрат при проектировании и развертывании программного обеспечения для работы с данными.
- Инфраструктурные — повышается безопасность (особенно актуально для медицинских и финтех-проектов) за счёт распределения нагрузки, ограничения взаимодействия вендора с данными работой с агрегированными величинами, логами и мета-данными, а также предоставления клиенту полного контроля над его данными.
Что в итоге
При проектировании или выборе ПО для работы с бизнес-данными нужно оценивать как преимущества выбора одной из архитектур (on-prem, облако, гибрид), так и упущенные возможности из-за фокусировки на одном из вариантов.
На что имеет смысл обращать внимание в первую очередь: на балансировку нагрузки, безопасность данных и оптимизацию машино-часов (скорость вычислений, рендеринг визуализаций и т.д.)
Что вы приобретёте (помимо, собственно, какого-то конкретного архитектурного решения): экономию на разработке и поддержке, а также положительный пользовательский опыт.