In diesem Jahr haben wir
einen soliden Artikel über das Konzept ohne Server übersetzt: Der Autor hat an seinen Fingern gezeigt, was es ist und warum. Wir wissen und erinnern uns auch daran, dass unsere europäischen Partner unsere Plattform seit langem als Serverless
CPaaS getauft haben. Um dies ausdrücklich zu bestätigen, sprach unser CEO Alexei Aylarov auf der
API Days- Konferenz am 16. Oktober in Amsterdam. Alexey erklärte, warum Serverless CPaaS bald allgegenwärtig sein wird und wie sich herausstellte, dass Voximplant - plötzlich - von Anfang an diesen Ansatz verkörperte. Unter dem Schnitt finden Sie eine Textanpassung der Rede, Auszüge aus der Präsentation sind beigefügt. Willkommen!
Früher war es besser (c)
Vor CPaaS war das Unternehmen gezwungen, viele Vorarbeiten zu leisten: Zunächst musste ein Telekommunikationsbetreiber ausgewählt werden. Dann sollten Sie ein Backend auswählen und eine Infrastruktur für all dies erstellen (z. B. die PBX und die Datei der Asterisk / FreeSWITCH-Software). Um diese TK-Anlage zu unterstützen, wird auch das Backend für den bedingten Knoten.js angehoben. Entscheiden Sie erst danach, wo und wie die Geschäftslogik implementiert wird, und stellen Sie sie dann bereit. Konfigurieren Sie die Überwachung und stellen Sie sicher, dass sie während der Arbeit nicht abstürzt. Die Einführung einer schlüsselfertigen Lösung kann ein halbes Jahr oder länger dauern.

CPaaS ermöglichte es, die Schritte auf niedriger Ebene zu überspringen und sofort mit der Geschäftslogik zu beginnen: Dazu musste der Client die Kommunikationsplattform untersuchen und dann ... Infrastruktur, Bereitstellung, Überwachung. Einerseits müssen Sie nicht über das Backend nachdenken und nach einem Telekommunikationsbetreiber suchen. Dadurch wird die Startzeit ohne Qualitätsverlust reduziert. Auf der anderen Seite bleibt noch viel zu tun.
Willkommen Serverless
Und dann passierte Serverless. Und hier müssen wir uns auf den entscheidenden Punkt konzentrieren - warum weniger? Die Berechnungen müssen irgendwo durchgeführt werden.
Serverlos bedeutet nicht das Fehlen von Servern, sondern deren Abwesenheit auf der Clientseite.
Das Konzept beinhaltet eine Reihe von Rechenanbietern + Entwicklern auf der Clientseite. Der Client muss keine eigene Infrastruktur unterhalten, es reicht aus, den Computeranbieter für ... Computing zu bezahlen :) Das heißt, es entstehen nur Kosten, wenn ein Computerbedarf besteht - es ist viel rentabler als beispielsweise die Servermiete rund um die Uhr zu bezahlen, wenn kein wirklicher Bedarf besteht Verwenden Sie diese Server rund um die Uhr. Der Mangel an Infrastruktur führt zu dem zweiten wichtigen Vorteil des Ansatzes: Sie können nicht über Skalierbarkeit nachdenken, weil Anbieter bietet automatische Skalierung.
Für Entwickler verwenden sie meistens ein serverloses Framework (z. B.
Fn Project oder
serverless - oh, Ironie), das die Entwicklung und Zusammenstellung von Anwendungen vereinfacht. Das Framework kann auch Handles für Ereignisse bereitstellen. Dies ist praktisch, da Serverless nur ein ereignisbasiertes Konzept ist (Beispiele aus der Telefonie: Ein Anruf kam - dies ist ein Ereignis, hat einen Anruf beantwortet - dies ist ein Ereignis usw.).
Fügen Sie CPaaS Funktionen ohne Server hinzu und erhalten Sie ein bedingtes Voximplantat. Infolgedessen verschwindet der Schritt „Infrastruktur“ - ein Unternehmen untersucht ein bestimmtes serverloses CPaaS, implementiert Geschäftslogik darauf und überwacht leise, wie es funktioniert, ohne sich Gedanken über den Kauf von Racks, Servern, die Suche nach einem Raum für einen Serverraum usw. machen zu müssen. Dies ist natürlich ein idealer Fall und jede Lösung ist einzigartig: Es ist möglich, dass der Client Hardware auf seiner Seite benötigt, aber Serverless unternimmt alle Anstrengungen, um sicherzustellen, dass die Clients diese Anforderungen nicht erfüllen.
Verbesserung der Benutzererfahrung
Manchmal tun Serverless-Plattformen so genannte Funktionen sind Vermittler zwischen dem Kunden und anderen Diensten (
FaaS- Konzept). Beispielsweise können Funktionen angewiesen werden, HTTP-Anforderungen anzunehmen und eine Antwort zu geben oder über HTTP mit Diensten von Drittanbietern zu interagieren. Hier können auch Webhooks und telekommunikationsspezifische Interaktionen verarbeitet werden.
Diese Ebene weist jedoch Einschränkungen auf:
- begrenzte Vorlaufzeit;
- unveränderlicher Kontext (staatenlos);
- Die Anrufverarbeitung ist von der Plattformlaufzeit getrennt, da die Kommunikation über HTTP erfolgt.
Von Anfang an machte die Voximplant-Architektur die Laufzeit für Clients zugänglich, sodass die Anrufsteuerung mithilfe von JS-Skripten anstelle von trockenem HTTP erfolgt. Die integrierte Laufzeit bietet mehrere Vorteile:
- Cloud JS-Skripte unterstützen den neuesten Sprachstandard - ECMA2018;
- Skripte verwenden die native Plattform-API .
- Echtzeitsteuerung: Ereignisverarbeitung und Ausführung von Funktionen erfolgen sofort;
- Es ist möglich, einen Debugger mit einer Unterbrechung und Zuständen zu verwenden.
- Sie können der Fehlerbehandlung alles hinzufügen, einschließlich Sprachwarnungen für eine Person. Ein Beispiel für eine ereignisbasierte Fehlerbehandlung:
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() }) }
Ereignisbasiert ist besonders wichtig, weil a) dies ein einheitlicher Ansatz ist, b) Flexibilität bietet. Jede Aktion kann als Ereignis interpretiert und in einem Cloud-basierten JS-Skript verarbeitet werden: Beantworten Sie den eingehenden Anruf mit Sprachsynthese, erkennen Sie Voicemail und legen Sie auf, leiten Sie den Anruf an SIP weiter, unterbrechen Sie die Push-Benachrichtigung usw.
Infolgedessen reduziert unsere Serverless-Plattform die Latenz, verbessert die Benutzererfahrung und reduziert letztendlich die Startzeit des fertigen Produkts so weit wie möglich: Wenn es in der „Pre-CPaaS'nuyu-Ära“ sechs Monate dauern könnte, können Sie mit Voximplant
1 Monat ( Einschließlich aller Genehmigungen und Besprechungen ist die unmittelbare Entwicklungszeit noch kürzer.
Die Zukunft
Serverlose Kommunikationsplattformen werden zunehmend gefragt sein, da die Nachfrage nach diesen Diensten sowie die Funktionalität der Plattformen selbst zunimmt. Serverless CPaaS wird in Kürze in der Lage sein, Datenspeicherung, umfassende Integration in externe Systeme (unser
Dialogflow Connector ist ein gutes Beispiel), Webserver-Funktionalität und schließlich :) Die Aussichten sind gut, Sie müssen nur die Implementierung verfolgen und den Fortschritt des Serverless-Konzepts genießen.