Архитектура системы обработки данных: как выбрать между on-premise, on-cloud и гибридным вариантом?

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!



С усложнением бизнес-задач в компаниях усложняются и требования к корпоративной системе аналитики. С одной стороны, она должна быть удобной, как для обычных пользователей, так и для техперсонала. А с другой — безопасной и функциональной. Получится ли в этом случае быть одновременно и умным, и красивым? Попробуем разобраться.

В современных реалиях используются, в основном, 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, облако, гибрид), так и упущенные возможности из-за фокусировки на одном из вариантов.

На что имеет смысл обращать внимание в первую очередь: на балансировку нагрузки, безопасность данных и оптимизацию машино-часов (скорость вычислений, рендеринг визуализаций и т.д.)

Что вы приобретёте (помимо, собственно, какого-то конкретного архитектурного решения): экономию на разработке и поддержке, а также положительный пользовательский опыт.
Источник: https://habr.com/ru/company/itsumma/blog/594419/


Интересные статьи

Интересные статьи

Все больше ABAP разработчиков используют в разработке различные CDS. Внутри CDS можно выбирать данные из таблиц и выполнять некоторые манипуляции с выборками через AMDP-методы и виртуальные элементы. ...
Вчера я выложила первую часть видео с конференции BeeTech, которую мы проводили в апреле. Сегодня — доклады двух оставшихся стримов. Здесь от построения QA-отде...
Всем приветы. А вы писали новый сервер с нуля? Какие технологии использовали? А рассматривали какие-либо варианты кроме старого доброго REST ? А что есть еще что-то ? ...
Всем привет! Меня зовут Александра Зенченко, я Lead Software Engineer в ЕРАМ. Занимаюсь разработкой решений, которые помогают нашим клиентам повышать эффективность работы и, в основном, в...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев. Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...