Чаще всего для проведения клиентских исследований используются SaaS-сервисы (облачные решения): в них мы создаем опросы, распространяем анкеты и анализируем результаты (ну или забираем в свои BI-системы). При этом нам нужно сегментировать респондентов, выделять когорты и другие группы, чтобы исследования были точечными, а для этого нужно собирать и хранить их данные. Да и персонализация в опросах — тоже важная штука.
Где хранить все эти данные? На серверах SaaS-сервиса занедорого или брать on-premise решение, чтобы разместить на своих собственных ресурсах, но за бо́льшие деньги. Постараюсь рассказать про все нюансы и возможности on-premise.
Виды решений их сравнение
Существует четыре основных решения для хранения данных в сервисах онлайн-опросов с использованием сторонних приложений (в нашем случае — сервис онлайн-опросов):
Public cloud — публичное облачное решение, самый распространенный вариант. При такой модели все данные хранятся на многопользовательских серверах приложения-подрядчика. Не требует затрат на инсталляцию, самый недорогой вариант.
Virtual private cloud (VPC) — частное облако, работает чаще всего также как публичное, за исключением того, что под вас выделяется отдельное хранилище и вычислительные ресурсы. Повышенный уровень безопасности и стабильности сервиса.
On-premise — развертывание сервиса в собственной IT-инфраструктуре. В этом случае самой компанией обеспечивается полный контроль над всеми ресурсами приложения.
In-house разработка — модель, при которой весь сервис опросов разрабатывается самой компанией (ну или подрядчиками для компании). Соответственно, сервис может иметь функционал, полностью соответствующий вашим бизнес-процессам, но сроки запуска и стоимость тут кратно выше, чем во всех предыдущих решениях.
Также есть варианты использования гибридного облака, но оно допускает возможность использования вычислительных ресурсов подрядчика, а значит, данные все равно будут передаваться третьей стороне, поэтому тут лучше выбрать VPC, либо public cloud.
Особенности этих четырех решений можно разбить на группы критериев: функциональные возможности, информационная безопасность, стоимость, сложность развертывания и масштабирования проекта. О них подробнее ниже.
Зависит от выбранного тарифа. Выше тариф — шире функционал. Полный набор функций — на максимальных тарифах;Точно такой же, как в публичном облаке. Может входить в максимальные тарифы по умолчанию. Сомнительный формат для недорогих тарифов, так как итоговая стоимость может быть близка к цене топовых;Весь функционал облачного решения;Функционал заточен сугубо на ваши бизнес-процессы и задачи
Данные хранятся на многопользовательс-ких серверах подрядчика. Их безопасность обеспечивается его же силами, а также подкрепляется договором, NDA или пользовательским соглашением. При этом доступ к вашему личному кабинету имеете только вы и ваши коллеги;На тех же самых облачных серверах выделяется отдельное хранилище и ресурсы под вашу компанию. Это обеспечивает повышенную безопасность и стабильность сервиса;Хранилище и ресурсы сервиса расположены на ваших собственных серверах. Вы имеете к ним физический доступ и можете настроить собственные корпоративные правила доступа к нему;То же самое, что в On-Premise решении, но в этом варианте вы можете как угодно менять функционал сервиса
Самый недорогой вариант из всех;Дороже облачного решения, но разница между максимальными тарифами и выбором VPC относительно небольшая. Поэтому чем объемнее тариф, тем выгоднее брать VPC;Обычно в 2–3 раза дороже, чем максимальный объем облачного решения, но бывают еще более дорогие on-premise;Самый дорогой вариант из всех: стоимость разработки будет заметно выше on-premise. Однако может быть удачным решением, если у вас небольшое количество опросов и они похожи между собой. Выгода станет заметно меньше, когда вам потребуется сложная логика
Нет начальных затрат на развертывание. Регистрируетесь, оплачиваете тариф и получаете доступ;Требуются дополнительные затраты и время на инфраструктуру. Развертыванием занимается сам сервис;Требуются и настройки со стороны сервиса, и ваши собственные усилия на развертывание проекта на своих серверах. Если сервис разбит на кластеры, работа ваших IT будет проще. В противном случае им понадобится больше времени.;Развертывание осуществляется только вами.
При необходимости докупаются новые пользователи и другие лимиты. Самый быстрый вариант из всех. Но если у вас большие масштабы сбора ответов или рассылок, с какого-то момента сам подрядчик предложит перейти как минимум на VPC, т. к. у любой системы есть ограничения;Такое же, как в публичном облаке;Можете самостоятельно проводить горизонтальное (добавление новых серверов) и вертикальное (усиление текущего сервера) масштабирование;Такое же, как в on-premise решении
По итогу самыми безопасными являются in-house и on-premise решения. Первые имеет смысл разрабатывать, если у вас простые и однотипные опросы, но в случае, когда вам нужна возможность проводить разноплановые исследования, on-premise становится оптимальным. Поэтому дальше поговорим о нем подробнее.
On-premise как решение проблем с безопасностью
On-premise (он-прем) — это модель развертывания, при которой вся инфраструктура сервиса располагается внутри вашего IT-контура. Такой подход решает ключевые задачи информационной безопасности:
Полный контроль над хранилищем персональных данных и ресурсами сервиса.
Ускорение вычислений и выгрузок, так как сервис опросов будет обращаться к вашему же серверу без необходимости делать запрос в сеть интернет.
Повышенная гибкость в обновлениях, интеграциях с другими внутренними сервисами и разработке кастомных решений только для вас.
Соответствие требованиям законодательства по хранению персональных данных (ФЗ-152 и ГОСТ Р ИСО/МЭК 27 001−2006).
Такую модель применяют в основном средние и крупные компании, имеющие достаточно большие базы респондентов, персональные данных которых надо хранить. Развертывание on-premise позволяет по большей части избежать возможных огромных штрафов за несоответствие требованиям к хранению таких данных.
Основные требования при выборе on-premise решения
При развертывании On-Premise-решения важно учитывать несколько групп требований, о которых подробнее расскажу ниже.
Общие требования (по большей части юридические).
Ведение и анализ журналов событий безопасности.
Контроль доступа, идентификация и аутентификация пользователей.
Механизмы защиты данных.
Способ развертывания проекта в контуре.
Общие требования включают в себя соответствие законодательству и внутренним корпоративным правилам. В первую очередь это ФЗ-152 о персональных данных и ГОСТ Р ИСО/МЭК 27 001−2006. Если планируется использование сервиса за рубежом, то сервис должен также соответствовать европейскому аналогу ФЗ-152 — GDPR (General Data Protection Regulation) и другим международным стандартам в зависимости от региона.
Никита Лиханов
Customer Research Manager in FOQUZ
Выполнение этих требований исследователи пощупать не могут. Сервисы онлайн-опросов должны самостоятельно внутри кода своего продукта обеспечить соответствие всем этим стандартам. При этом можно запросить у них все сертификаты и другие документы.
Часто в требованиях указывают необходимость заключения соглашения о конфиденциальности (NDA), подтверждения сертификаций SOC, TRUST, ISO 27 001/2 и т. д.
Ведение и анализ журналов событий безопасности — логирование, другими словами. Это механизмы, которые позволяют отслеживать все действия пользователей вашей корпоративной сети в системе, а также попытки входа извне. Вот некоторые примеры самых часто требуемых журналов:
Журнал всех действий пользователя, включая успешные и неуспешные попытки аутентификации (проверки пользователя «кто?» и «какие у него доступы?») в сервисе.
Журнал событий в СУБД (базе данных — БД): все попытки входа в БД, добавление и изменение в ней данных пользователей, изменение ролей с группами доступами и т. д.
Другие журналы, в большей степени связанные с технической стороной: журнал операций виртуальной платформы, события в средах виртуализации и т. д.
Никита Лиханов
Customer Research Manager in FOQUZ
Общие для логов требования: срок хранения логов (для персональных данных — годы, для событий ПО — месяцы и т. д.), а также возможность генерировать отчеты по логам.
Контроль доступа, идентификация и аутентификация пользователей включают в себя интеграцию с вашей внутренней системой управления доступами, поддержку технологии единого входа (SSO) в рамках корпоративной сети, создание и распределение групп доступа внутри сервиса, требования к паролю.
Механизмы защиты данных: с on-premise решением вы можете использовать ваши собственные механизмы информационной безопасности: антивирусные системы, протоколы шифрования при передаче данных (HTTPS для web-трафика, SSH для удаленного управления и т. д.), технологии защиты от DDOS-атак (когда на ваш сервер отправляется так много запросов, что они доводят его до отказа).
Способы развертывания проекта в контуре: это требование встречается довольно редко, так как это единоразовая задача, которая почти всегда в случае сервисов опросов выполняется вашими специалистами в среднем за один месяц. Но если вам крайне важны сроки, то это также можно указать.
Никита Лиханов
Customer Research Manager in FOQUZ
Способ развертывания влияет на скорость запуска исследований через этот сервис. Чем легче вашим IT-специалистам развернуть проект, тем быстрее вы сможете запуститься. Для этого сервис должен обеспечить максимально легкую поставку для ваших коллег из IT. Часто это достигается с помощью k8s (подготовить инсталлятор для запуска одной командой в нем позволяет helm) или Docker Compose.
Как техническая часть on-premise влияет на клиентские исследования
Множество требований к on-premise решениям выполняются с помощью различных небольших сервисов «внутри» одного большого. Сама по себе архитектура таких приложений довольно сложная и чаще всего требования к ним выставляются командами разработки и информационной безопасности. Но все-таки исследователям, которые подбирают сервисы онлайн-опросов, важно понимать ключевые особенности, которые будут влиять на исследования.
Для исследователей я выделил пять основных групп сервисов и используемых подходов к разработке, влияние которых может быть ощутимо при работе с опросами. Они расположены в пошаговом порядке на всем пути использования on-premise решения: от развертывания до обновлений, с указанием того, как эти сервисы помогают исследователям.
1. Развертывание on-premise
Как я сказал выше, развертывание влияет только на старт исследований с точки зрения исследователя. Использование контейнерного подхода значительно ускоряет развертывание сервиса. В этом случае ваши разработчики «собирают» проект как лего — по кусочкам. Все настройки сервиса заранее заложены в эти самые контейнеры.
Для этого on-premise должен поддерживать самые популярные сервисы контейнеризации, которые используются по всему миру: Docker Сompose (приложение создания и загрузки контейнеров) и Kubernetes (приложение автоматического запуска контейнеров с необходимым масштабом приложения).
2. Внедрение в ваши процессы
On-premise позволяет значительно снизить ограничения на количество пользователей вашей компании, а также более гибко настроить раздачу прав доступа к исследованиям и отдельным проектам. Это позволяет масштабировать использование сервиса опросов по всей компании с минимальными дополнительными затратами (в большинстве случаев).
Вместе с тем гораздо легче внедрить технологию SAML SSO, интегрированную с вашей внутренней системой СКУД (система контроля и управления доступами). Такая интеграция позволяет автоматически идентифицировать пользователя, выдавать ему определенные права и также автоматически забирать их, если он уходит из компании. Другими словами — более гибкая ролевая модель.
3. Запуск исследований
Если вы проводите исследования на больших группах респондентов (сотни тысяч), либо у вас очень посещаемый сайт (миллионы посещений в месяц), то в определенный момент вы можете столкнуться с тем, что запуск какого-то опроса обваливает сервис, либо заставляет его тормозить. Это происходит чаще всего из-за чрезмерных пиковых нагрузок одномоментно.
Чтобы сервис был стабилен и справлялся с большими объемами рассылок и ответов, используются очереди внутри проекта. Это такие структуры данных, которые позволяют равномерно распределять нагрузку на ваш сервер, обеспечивая стабильность в пиковые моменты с помощью автомасштабирования.
Поэтому использование таких сервисов реализации очередей как RabbitMQ в сервисе опросов позволяет исследователю:
запускать массовые рассылки приглашений к опросу;
проводить исследования, в которых одномоментно в прохождение анкеты могут попасть более 10 000 респондентов;
запускать виджеты (модальные окна с опросами) на сайтах с высокой посещаемостью.
Никита Лиханов
Customer Research Manager in FOQUZ
Обычно это умеют делать сами сервисы и в облачном формате. Однако стоит учитывать, что при атаке на сервис «лягут» все аккаунты в нем.
Для сбора и визуализации метрик производительности системы часто используют сервис Prometheus. Как правило она идет в связке с аналитической системой Grafana.
4. Отслеживание показателей
Показатели могут быть совсем разные, остановлюсь на самых важных для исследователя: ошибки в прохождении анкеты и события безопасности.
Самое главное при проведении исследования — стабильность прохождения (когда респондент дает ответы). Ошибки в прохождении критичны для сервиса опросов (по сравнению с ошибками в том же личном кабинете), а значит, должны правиться быстрее. Из-за них респондент может отказаться от заполнения анкеты, а вы сами (а не сервис) получите волну негатива.
Для оперативного отслеживания ошибок часто используют сервис Sentry, который позволяет отслеживать все кейсы еще до того, как респондент скажет (или даже узнает) о них.
Логирование событий безопасности позволяет обеспечить сохранность персональных данных и контролировать доступы к вашим собственным исследованиям. Для этого в on-premise решениях используются Fluent-bit, Kibana, Elasticsearch — для централизованного логирования и анализа событий.
5. Обновление сервиса влияет на стабильность всей системы
Бывают минорные обновления — баг-фиксы, которые имеют самые низкие риски появления сторонних ошибок, и мажорные — обновления, когда добавляется новый функционал, который в любом сервисе (даже Google) может привести к каким-либо ошибкам.
Чтобы обеспечить надежность вашего решения с точки зрения on-premise, важнее узнать у подрядчика, какие методологии обновления он использует. Вот некоторые из них:
Rolling Update — поочередное обновление контейнеров без остановки системы.
Blue-Green Deployment — развертывание новой версии сервиса параллельно с работающей.
Rainbow Deployment — многовариантное тестирование перед внедрением.
Канареечные релизы — тестирование обновлений на ограниченной группе пользователей.
Система ФОКУЗ в on-premise решении включает надежные и проверенные сервисы, которые позволяют легко развертывать проект, внедрять в свои процессы, масштабировать его и анализировать показатели.
Попробуем применить информацию со схемы выше:
Многие сервисы, которые есть в on-premise ФОКУЗ, работают очередями. Например, с помощью, RabbitMQ, а значит, нагрузка на сервер распределяется более равномерно и позволяет повысить стабильность сервиса
On-premise поддерживает контейнерный подход, а значит, развертывание проекта не займет много времени, плюс это позволяет использовать стратегию канареечных релизов, rolling update и т. д.
Внедрите в свой IT-контур on-premise решение ФОКУЗ Pro, чтобы обеспечить повышенную безопасность данных, простоту развертывания и масштабирования, а также внедрения в ваши собственные процессы.