Правда ли, что будущее CPaaS за «Serverless» технологиями? |
||
МЕНЮ Искусственный интеллект Поиск Регистрация на сайте Помощь проекту ТЕМЫ Новости ИИ Искусственный интеллект Разработка ИИГолосовой помощник Городские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Техническое зрение Чат-боты Авторизация |
2017-12-04 13:50 Две недели назад мы провели вторую конференцию INTERCOM о голосовых и видео коммуникациях. WebRTC, звонки через браузер, machine learning, big data – вся вот эта популярная история. Одним из приглашенных спикеров был Цахи Левент-Леви, более известный как автор bloggeek.me – ультимативного источника информации о WebRTC в современных браузерах. В докладе (кстати, у меня есть видеозапись) Цахи рассказывал про состояние индустрии и что сейчас можно делать с голосом и видео в браузерах. А вернувшись в Израиль написал интересную статью про «Serverless»-технологии при работе с коммуникационными платформами. Адаптированный для Хабра перевод предлагаю под катом.
Когда я проводил исследования для своего первого отчета о платформах с WebRTC API, одной из изучаемых компаний была Voximplant. Они особо выделяли штуку, которую называли «VoxEngine». Как написано на сайте, это «система, которая выполняет ваш JavaScript-код в облаке Voximplant». Это Serverless. Идея мне понравилась, но тогда я о ней особо не задумывался. Просто новая интересная штука. Что такое «Serverless Computing»? Если вы не следили за эволюцией API, то могли пропустить появление «Serverless». Это подход, при котором код, который вы пишете, выполняется в облаке. Напрямую. Не нужно поднимать OS, виртуалку или контейнер. Пишете код и он выполняется. Магия. Если посмотреть на «Что-то-там-aaS», то вы можете нагуглить вот такую картинку:
Как в эту картину вписывается Serverless?
Что мы в результате получаем? Экономию на масштабировании. Вендор, предлагающий PaaS-решение, уже обеспечивает масштабирование, поддержку сервиса и безопасность для вас (и для многих других клиентов). Теоретически он может это делать даже лучше, чем вы сами. Это освобождает ваши ресурсы чтобы реализовывать оптимальные UX-решения для ваших пользователей, сделать приложение лучше и быстрее вывести его на рынок. Дополнительный бонус: код выполняется максимально близко к API платформы, которую использует сервис (serverless обычно используется как дополнительная возможность для платформы, предоставляющей какой-то сервис и API к нему. Например, API работы с голосом, видео и сообщениями. – прим. переводчика). Serverless = Functions Несмотря на популярность названия «Serverless», можно встретить и другое: FaaS, «Functions as a Service», которое нашло свое отражение в таких продуктах как Google Cloud Functions, PubNub Functions и Twilio Function, наверняка есть другие.Самый распространенный пример это, наверное, AWS Lambda; а еще есть Open Source решение Apache OpenWhisk. Многие компании, предоставляющие сервисы с API, начали предлагать Serverless-возможности. Вам больше не нужен собственный сервер, общающийся с их сервисом, достаточно выполнить ваш код в их «XXX Functions» продукте. В ряде случаев «Functions» сервисы доступны бесплатно, но чаще всего вендоры хотят за них оплату по модели «pay per usage». Serverless CPaaS Вернемся к CPaaS (communications platform as a service – прим. переводчика) и посмотрим, что у них с Serverless.Полагаю, сейчас на рынке только два вендора CPaaS предлагают Serverless-решения:
На последней конференции Signal в Лондоне Jeff Lawson упомянул, что «Functions» является самым быстрорастущим продуктом Twilio с момента запуска сервиса. Эта функциональность нужна рынку. CPaaS сейчас довольно сложны, и тем важнее разобраться, как в них применяется serverless. Разобьем CPaaS на несколько уровней API и ряд продуктов: Уровни API
Продукты
В какой-то степени проприетарный уровень API скриптовых языков можно рассматривать как очень грубую форму serverless. Вы описываете нужное поведение как реагирующий на события скрипт и отдаете его платформе с помощью WebHooks. REST API хорошо работают в serverless-архитектуре: вместо того, чтобы делать запросы на авторизацию, безопасность или масштабирование между серверами, их можно делать на том же сервере, на котором они будут выполняться. А еще есть клиентские SDK. Они выполняются на конечных устройствах, поэтому трудно представить, как к ним применима концепция serverless. SDK созданы для взаимодействия с бэкендом CPaaS, так что мы их рассматривать не будем. Так как CPaaS можно сгруппировать по типам используемых API слоев, то можно сделать вот такой вывод: У VoIP есть свой собственный набор решений, частично делающий то же, что и serverless. Обычно это готовые виджеты и iframe'ы для размещения на веб страницах (но это тема для отдельной статьи). С точки зрения вендоров, serverless сейчас становится все более важной технологией. Почему? Потому что это одно из предложений Twilio. Быстрорастущее предложение Twilio. На месте конкурента я бы не хотел отставать. Я могу использовать FaaS-сервис от вендоров IaaS? Очень хотелось поместить эти два акронима в одно предложение :) Все основные IaaS-вендоры (Azure, AWS, Google Cloud) сейчас предлагают serverless в том или ином виде. Зачем serverless в CPaaS? Мы не можем просто подключить IaaS serverless к CPaaS?Можем. Но это будут уже два разных вендора. Использование чего-то вроде AWS Lambda имеет смысл, если вы уже используете другие сервисы AWS. Если вы решаете вопросы коммуникаций, то разумнее использовать serverless CPaaS. Вместе с ним вы получаете уменьшение задержек и лучшую безопасность по сравнению с внешними serverless-решениями. CPaaS становится serverless Если вы вендор CPaaS и задаетесь вопросом «что будет дальше» – добавляйте serverless в список того, что надо срочно сделать и предлагать клиентам. Если вы разработчик и используете CPaaS – посмотрите, как решения serverless помогут вам создавать приложения быстрее.От переводчика Раз в неделю меня спрашивают, зачем мы в Voximplant потратили столько усилий, чтобы JavaScript по управлению коммуникациями выполнялся в нашем облаке. «Не нужен свой сервер», – это, конечно, хорошо. Но, положа руку на сердце: поднять ноду, пайтон или даже php в публичном облаке – это полчаса времени для опытного fullstack разработчика. Оно того стоит? Задержки. Цахи много про них говорит, но не рассматривает как основное преимущество serverless-подхода. По моему опыту, именно отсутствие задержки между вызовами API и реакциями платформы, такими как синтез и распознавание голоса, играет ключевую роль. На конференции многие компании рассказывали и показывали автоматические системы, общающиеся с клиентами и помогающие решать задачи без помощи специалистов колл-центра.JS-код выполняется на том же сервере, который управляет голосовыми и видеопотоками и убирает паузы/задержки во время разговора, делая общение с автоматикой естественной. Особенно чувствительны к задержкам такие штуки как распознавание в реальном времени. Не так давно мы писали на Хабре как собрать потоковое распознавание в несколько строк JS кода. Попробуйте и оцените, насколько быстро оно работает! Источник: habrahabr.ru Комментарии: |
|