06
Дек

Unified communications

Написал Максим Крентовский в Идеи

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

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

В унифицированные коммуникации заносят обычно следующие протоколы и сервисы:

  • SMTP/IMAP (обмен почтовыми сообщениями, файлами, контактными данными, календарными данными)
  • XMPP/Jabber (обмен короткими сообщениями в реальном времени, как между двумя абонентами, так и в массовых конференциях)
  • SIP/RTP (голосовое общение, телеконференции, видеовызовы, внешние VoIP-звонки, переадресация на мобильные в случае отстутствия сотрудника на месте)
  • WebDAV/FTP/SMB/HTTP file storage (возможность публикации и обменом файлами в общем доступе для совместной работы)
  • iCAL (календари и персональные планировщики, интегрированные с системой учета задач)
  • LDAP (единое сетевое хранилище для структурированных данных, справочников, сертификатов, средств авторизации)
  • IPSec (средство для локальной сетевой интеграции в случае удаленной/распределенной работы, VPN)

В общем случае этот набор наверняка покроет большую часть потребностей типовой компании, активно использующей ИТ. При наличии централизованного средства управления и контроля и готового образа для систем виртуализации система достаточна проста и удобна для использования в условиях облачной инфраструктуры, ну и вообще в рамках концепции SaaS. Опционально может быть добавлена интеграция с популярными социальными сетями и сервисами (порой такая интеграция может быть весьма полезной), но это, на мой взгляд, не является ключевым свойством UC.

Как это может быть реализовано. Архитектурно я представляю себе как минимум два пути для реализации:

  • первый: по аналогии с Zimbra (а, возможно, даже и на его базе) подобрать хороший опенсорсный софт, как то Asteris, postfix, dspam, openldap, nginx, openssl и т.п., приделать к ним красивую и простую систему управления и запустить в бой. В резульатате получится большая и тяжелая среда, которую обновлять придется только целиком и за раз (как это делает Zimbra), но при этом не придется реализовывать большое количество функционала и не ловить те нюансы, которые уже отработаны разработчиками этого ПО. Но — лоскутное одеяло.
  • второй: реализовать все на Erlang-е, что позволить распределять и масштабировать инфраструктуру не только за счет подъема барьеров для виртуальной машины, но и горизонтально. Кроме того, если приглядется к некоторым хорошим программным системам, например к postfix, то можно увидеть, что их архитектура весьма традиционная для ПО на Эрланге. Основная сложность здесь состоит в том, что отлаженых продуктов и библиотек для Эрланга значительно меньше количественно, и их интеграция будет представлять немалый труд, чем в предыдущем случае. Кроме того, усложнится сама архитектрура, поскульку потребуется ради унификации и удаления дублирующих функций хорошо наперед продумать нюансы будущего решения.

На данный момент я бы рискнул и выбрал второй вариант — более трудзатратный, но более интересный и гораздо более простой в дальнейшей эксплуатации и развертывании.

Комментирование недоступно.
Максим Крентовский
системный архитектор
E-mail / GTalk: mkrentovskiy@gmail.com
Skype: mkrentovskiy