CPaaS sin servidor: cómo Voximplant anticipó esta exageración

Este año estuvimos traduciendo un artículo sólido sobre el concepto Serverless: el autor mostró en sus dedos qué es y por qué. También sabemos y recordamos que nuestros socios europeos han bautizado durante mucho tiempo nuestra plataforma como CPaaS sin servidor ; para confirmar explícitamente esto, nuestro CEO Alexei Aylarov habló en la conferencia API Days en Amsterdam el 16 de octubre. Alexey explicó por qué Serverless CPaaS pronto será omnipresente y cómo resultó que Voximplant, de repente, desde el principio personificó este enfoque. Debajo del corte encontrará una adaptación de texto del discurso, se adjuntan extractos de la presentación. Bienvenido!


Solía ​​ser mejor (c)


Antes de CPaaS, la empresa se vio obligada a realizar muchos trabajos preparatorios: para empezar, era necesario elegir un operador de telecomunicaciones. Luego, debe elegir un backend y crear una infraestructura para todo esto (por ejemplo, tome la PBX y el archivo del software Asterisk / FreeSWITCH). Para ayudar a esta PBX también elevar el backend en el node.js condicional ... Y solo después de eso, decida dónde y cómo se implementará la lógica de negocios, y luego impleméntela, configure el monitoreo y asegúrese de que no se bloquee durante el trabajo. Podría llevar medio año o más lanzar una solución llave en mano.

CPaaS hizo posible omitir los pasos de bajo nivel e inmediatamente comenzar la lógica de negocios: para esto, el cliente necesitaba estudiar la plataforma de comunicación y luego ... infraestructura, implementación, monitoreo. Por un lado, no tiene que pensar en cuál será el backend y buscar un operador de telecomunicaciones. Debido a esto, el tiempo de inicio se reduce sin pérdida de calidad. Por otro lado, queda mucho por hacer por su parte.

Bienvenido sin servidor



Y luego sucedió Serverless. Y aquí debemos centrarnos en el punto clave: ¿por qué menos? Los cálculos tienen que hacerse en alguna parte.
Sin servidor no significa la ausencia de servidores, sino su ausencia en el lado del cliente.
El concepto involucra un grupo de proveedores de cómputo + desarrolladores en el lado del cliente. El cliente no necesita mantener su propia infraestructura, es suficiente para que le pague al proveedor de computación por ... computación :) Es decir, solo hay costos cuando es necesario computarlo; es mucho más rentable que, por ejemplo, pagar el alquiler del servidor 24/7 cuando no hay una necesidad real use estos servidores 24/7. La falta de infraestructura conduce a la segunda ventaja importante del enfoque: no se puede pensar en la escalabilidad, porque El proveedor proporciona escalado automático.

Para los desarrolladores, a menudo toman un marco sin servidor (por ejemplo, Fn Project o sin servidor - oh, ironía), lo que simplifica el desarrollo y el ensamblaje de aplicaciones. Además, el marco puede proporcionar identificadores para eventos; Esto es conveniente porque sin servidor es solo un concepto basado en eventos (ejemplos de telefonía: llegó una llamada, este es un evento, respondió una llamada, este es un evento, etc.).

Agregue funciones sin servidor a CPaaS y obtenga Voximplant condicional. Como resultado, el paso de "infraestructura" desaparece: una empresa estudia un CPaaS sin servidor específico, implementa lógica de negocio en él y monitorea silenciosamente cómo funciona sin preocuparse por comprar bastidores, servidores, encontrar una habitación para una sala de servidores, etc. Por supuesto, este es un caso ideal y cada solución es única: es posible que el cliente necesite algún tipo de hardware de su lado, pero Serverless hace todo lo posible para garantizar que los clientes no tengan esas necesidades.

Mejorando la experiencia del usuario


A veces las plataformas sin servidor hacen lo que se llama Las funciones son intermediarios entre el cliente y otros servicios (concepto FaaS ). Por ejemplo, se puede indicar a las funciones que acepten solicitudes HTTP y den una respuesta, o que interactúen a través de HTTP con servicios de terceros. Los webhooks y las interacciones específicas de telecomunicaciones también se pueden procesar aquí.

Sin embargo, esta capa tiene limitaciones:
  • plazo de ejecución limitado;
  • contexto inmutable (sin estado);
  • el procesamiento de llamadas está divorciado del tiempo de ejecución de la plataforma porque la comunicación se realiza a través de HTTP.

Desde el principio, la arquitectura Voximplant hizo que el tiempo de ejecución fuera accesible para los clientes, por lo que el control de llamadas se realiza utilizando scripts JS, en lugar de HTTP seco. El tiempo de ejecución integrado ofrece varias ventajas:

  • Los scripts de Cloud JS admiten el último estándar de idioma: ECMA2018;
  • los scripts usan la API nativa de la plataforma ;
  • control en tiempo real: el procesamiento de eventos y la ejecución de funciones ocurren instantáneamente;
  • es posible usar un depurador con un descanso y estados;
  • Puede adjuntar cualquier cosa al manejo de errores, incluidas las alertas de voz para una persona. Un ejemplo de manejo de errores basado en eventos:

    function onHttpRequestFailed() { call.say(“Unfortunately, we couldn't process your request, please try again later”, Language.US_ENGLISH_FEMALE) call.addEventListener(CallEvents.PlaybackFinished,(e) => { if (destroy) VoxEngine.terminate() else tryAgain() }) } 

Basado en eventos es especialmente importante porque a) este es un enfoque unificado b) agrega flexibilidad. Cualquier acción puede interpretarse como un evento y procesarse en un script JS basado en la nube: responder la llamada entrante con síntesis de voz, reconocer el correo de voz y colgar, reenviar la llamada a SIP, cortar la notificación de inserción, etc.


Como resultado, nuestra plataforma Serverless reduce la latencia, mejora la experiencia del usuario y, en última instancia, reduce el tiempo de lanzamiento del producto terminado tanto como sea posible: si en la "era anterior a CPaaS'nuyu" esto podría ser seis meses, entonces con Voximplant puede cumplir 1 mes ( incluyendo todas las aprobaciones y reuniones, el tiempo de desarrollo inmediato es aún más corto).

El futuro


Las plataformas de comunicación sin servidor tendrán una demanda cada vez mayor porque la demanda de estos servicios está creciendo, así como la funcionalidad de las propias plataformas. CPaaS sin servidor pronto podrá ofrecer almacenamiento de datos, integración profunda con sistemas externos (nuestro Dialogflow Connector es un buen ejemplo), funcionalidad de servidor web, finalmente :) Las perspectivas son brillantes, solo tiene que seguir la implementación y disfrutar del progreso del concepto Serverless.

Source: https://habr.com/ru/post/es427861/


All Articles