Концепция «все-в-одном»: ключевые идеи конференции Платформы Эра
Расскажем о платформе в целом. Рассмотрим эволюцию подходов к разработке программных продуктов для бизнеса, разберем технологии быстрой адаптации коробочных продуктов под конкретные задачи и проекты.

Вот уже четверть века мы занимаемся разработкой коробочных программных продуктов в сфере телекоммуникаций. Мы внедряли контакт-центры и отраслевые решения на платах компьютерной телефонии, работали по протоколу H.323, принимали и отправляли факсимильные сообщения, а наши операторы начинали с использования аналоговых, системных и USB-телефонов.
В процессе реализации проектов мы часто сталкивались с двумя факторами:
Во-первых, большинство внедрений колл-центров требовали интеграции с различными информационными системами: начиная от классических CRM, ERP и SD и заканчивая самыми разнообразными самописными корпоративными информационными системами, зачастую не имеющими интеграционных стыков и доступной команды разработки и поддержки.
Во-вторых, односерверные решения на технологиях майкрософт имели очевидные пределы роста. Мы получали запросы как на построение больших систем, так и на переход к открытым технологиям, который стал неизбежным и более чем актуальным в последние годы.
Если со вторым пунктом все было более-менее понятно: достаточно обновить продуктовую линейку на других технологиях и спроектировать новую архитектуру с учетом требований по масштабированию и отказоустойчивости, то с первым ситуация более интересная и требует детального рассмотрения.
Мы, при развитии колл-центрового направления платформы Эра, исходим из того, что контакт-центр - это не только коммуникации и обработка вызовов. Современные стандарты выделяют 16 сопутствующих процессов: начиная от подбора и обучения операторов, планирования графиков их работы, и заканчивая оценкой качества обслуживания и корректирующими мероприятиями.
Перейдем от контакт-центра к коммуникационным процессам, точнее к их голосовой части. Можно также выделить три категории: основу представляет программная телефонная станция или софтсвитч (начиная от маршрутизации и коммутации, заканчивая стенографированием и аналитикой записанных разговоров). Далее отдельным блоком идут защита и безопасность - SBC, сертификаты для шифрования, борьба с попытками взлома. И, наконец, централизованное управление телефонными аппаратами, которые часто представлены в богатом разнообразии производителей и моделей: их надо прошивать, конфигурировать, настраивать функциональные кнопки и справочники контактов, а иногда приходится поддерживать проприетарные отклонения от общепринятых стандартов - например, для полноценной поддержки телефонных аппаратов Avaya.
Вот, например, один из наших молодых модулей - менеджер устройств. Он позволяет централизованно управлять телефонными аппаратами Avaya - начиная от прошивки и базовой конфигурации, заканчивая выписыванием индивидуальных сертификатов для авторизации и дальнейшего шифрования, настройкой персональных профилей и функциональных кнопок и так далее. В дальнейшем здесь же из коробки будут поддержаны аппараты Cisco, а также стандартные Yealink, Grandstream, которые уже сейчас работают через первое поколение нашего автопровижена. Ну и как обычно, добавление новых моделей устройств и конфигураций возможно без внесения изменений в платформу, так как движок абстрактен и состоит из модели шаблонов и наборов параметров, которые отправляются на телефоны нашими штатными HTTP и TFTP серверами.
Можно рассмотреть и еще несколько слоев - например, информационные и коммуникационные процессы и системы. Ведь вокруг корпоративных коммуникаций, частным случаем которых является контактный центр, находятся системы учета клиентов и истории взаимодействий с ними, всевозможные планировщики задач, средства учета заявок и заказов, корпоративная база знаний и так далее.
Мы выделяем три этапа эволюции подходов к построению корпоративных программных продуктов в области автоматизации коммуникационных и информационных процессов. Однако, эти же принципы наверняка применимы и ко многим другим областям.
Первый этап - это отдельные продукты для решения каждой задачи. Разные поставщики, разные технологии, постоянные интеграционные издержки. Хорошо, если один системный интегратор возьмется за внедрение и сопровождение целой связки таких продуктов, а в худшем случае ответственность будет распределена между несколькими интеграторами. Как правило, при таком подходе возникает ряд проблем: дублирование информации - мы вынуждены хранить одно и то же в разных системах, как следствие - противоречивость данных: что-то не сработало в одном из коннекторов, и вот мы имеем три разных адреса или номера телефона одного и того же клиента в трех системах.
Большое количество технологий, половина из которых уже на грани устаревания, сложность обучения новых пользователей - наверняка вы видели мониторы банковских сотрудников, которые в процессе решения одного вопроса вынуждены переключаться между несколькими приложениями, в каждом из которых сотни кнопок и вкладок. Ну и как следствие всего этого - высокая стоимость владения, крайне сложные и затратные изменения.
Второй этап - экосистема. Известны случаи, когда один вендор имеет в своем портфеле несколько продуктов - либо собственной разработки, либо частично выкупленные стартапы. Такой набор продуктов из смежных отраслей часто позиционируется как экосистема, работающая в единой связке. Однако, при детальном рассмотрении вполне может оказаться, что проблемы первого этапа решены лишь частично или только замаскированы.
С чем это связано? У каждого продукта своя история, своя команда разработки, свой технологический стек. Конечно, коннекторы уже давно написаны и отлажены, но дублирование информации, возможные нестыковки и чрезмерное потребление вычислительных ресурсов остаются на плечах пользователей.
Третий этап - платформа все-в-одном
Мы пришли к этой концепции после того, как осознали, что все коммуникационные и информационные системы для бизнеса имеют очень много общего. В основе лежит объектная модель, данные этой модели нужно где-то хранить - и мы выделяем несколько типов хранилищ в зависимости от объемов и нагрузки. Пользователям нужны визуальные инструменты по работе с этими данными - таблицы и деревья, карточки и диаграммы. Идеальный на наш взгляд подход - ни одной лишней кнопки. Руководителям необходимы отчеты и дашборды, как реального времени, так и исторические. Администраторам нужны средства проектирования различных процессов, а также возможность адаптации существующих модулей под требования проекта или даже разработки новых приложений и сервисов. В коммуникационной части к этому добавляется необходимость разработки и отладки конечных автоматов.
Конечно, ко всему перечисленному добавляются высокие требования к масштабированию и отказоустойчивости. В этой части хорошо себя зарекомендовала распределенная микросервисная архитектура, которая позволяет системе комфортно растекаться по доступным вычислительным мощностям и почти моментально восстанавливаться после сбоев различной природы.
После осознания всего этого, мы заложили фундамент информационно-коммуникационной платформы Эра. В основе лежит распределенный по кластеру набор микросервисов слоя платформы, который обеспечивает надежное обслуживание коммуникационных потоков. Над ним находится продуктовый слой - это набор микросервисов для построения бизнес-логики: контакт-центр, учет заявок, база знаний и так далее. При этом продуктовый слой начинается с билдера - это конструктор, который позволяет с чистого листа разработать любую информационную систему (например, тикетную - для учета заявок). И кроме этого, билдер позволяет вносить изменения в коробочные модули платформы - все они имеют открытую конфигурацию и разработаны нами на том же самом билдере.
Ключевые преимущества такого подхода: целостность единой объектной модели, открытая конфигурация, возможность внесения изменений на лету (благодаря технологии Erlang мы можем на живую систему под нагрузкой установить патч, который нивелирует отклонения провайдера связи от RFC, при этом ни один звонок не прервется). Исчерпывающие интерфейсы API позволяют решать любые интеграционные задачи, а единый современный технологический стек снижает порог входа для инженеров.
В рамках концепции все-в-одном мы развиваем не только процессы обслуживания вызовов, но и смежные процессы. В свое время мы начали этот путь с разработки модуля WFM для планирования рабочих смен, в этом году выпустили QM для оценки качества обслуживания, и буквально вчера вышла версия с новыми модулями KMS и LMS для управления знаниями и обучением. Таким образом, мы замкнули ключевые смежные процессы в довольно красивый цикл: администратор KMS и контент-автор наполнили базу знаний, администратор LMS и тьютор обучили операторов, администратор WFM и менеджеры нагрузки и ресурсов оптимизировали графики работы операторов. Далее мы запустили основные процессы обслуживания, которые исторически проработаны достаточно глубоко: омниканальные очереди, входящие и исходящие кампании, всевозможные карточки, дашборды и отчеты. И, наконец, после обслуживания администратор QM сформировал выборки взаимодействий для оценки, аудиторы эту оценку провели, а по результатам запланированы корректирующие мероприятия - дообучение операторов, актуализация базы знаний - и круг замкнулся!
Предлагаем посмотреть конференцию о концепции «все-в-одном» на Платформе Эра - https://vkvideo.ru/video-228158094_456239038
Мы верим, что современное корпоративное программное обеспечение может быть простым, надежным и включать в себя все основные инструменты для успеха. Именно эти принципы мы применяем при разработке платформы Эра.