Serverless CPaaS - bagaimana Voximplant mengantisipasi hype ini

Tahun ini kami menerjemahkan artikel yang solid tentang konsep Serverless: penulis menunjukkan dengan jari apa itu dan mengapa. Kami juga tahu dan ingat bahwa mitra Eropa kami telah lama membaptis platform kami sebagai Servera CPaaS - untuk mengkonfirmasi hal ini secara eksplisit, CEO kami Alexei Aylarov berbicara pada konferensi API Days di Amsterdam pada 16 Oktober. Alexey menjelaskan mengapa Serverless CPaaS akan segera ada di mana-mana dan bagaimana ternyata Voximplant - tiba-tiba - sejak awal mempersonifikasikan pendekatan ini. Di bawah potongan Anda akan menemukan adaptasi teks dari pidato, kutipan dari presentasi terlampir. Selamat datang!


Dulu lebih baik (c)


Sebelum CPaaS, bisnis terpaksa melakukan banyak pekerjaan persiapan: untuk memulai, perlu untuk memilih operator telekomunikasi. Maka Anda harus memilih backend dan membuat infrastruktur untuk semua ini (misalnya, ambil PBX dan file perangkat lunak Asterisk / FreeSWITCH). Untuk membantu PBX ini, juga meningkatkan backend pada conditional node.js ... Dan hanya setelah itu memutuskan di mana dan bagaimana logika bisnis akan diimplementasikan, dan kemudian menyebarkannya, mengkonfigurasi pemantauan dan memastikan bahwa itu tidak crash selama pekerjaan. Diperlukan waktu setengah tahun atau lebih untuk meluncurkan solusi turnkey.

CPaaS memungkinkan untuk melewati langkah-langkah tingkat rendah dan segera memulai logika bisnis: untuk ini, klien perlu mempelajari platform komunikasi, dan kemudian ... infrastruktur, penyebaran, pemantauan. Di satu sisi, Anda tidak perlu memikirkan apa yang akan menjadi backend dan mencari operator telekomunikasi. Karena ini, waktu startup berkurang tanpa kehilangan kualitas. Di sisi lain, masih banyak yang harus dilakukan di sisinya.

Selamat Datang Tanpa Server



Dan kemudian Serverless terjadi. Dan di sini kita perlu fokus pada poin kunci - mengapa kurang? Perhitungan harus dilakukan di suatu tempat.
Serverless berarti bukan tidak adanya server sama sekali, tetapi tidak adanya mereka di sisi klien.
Konsep ini melibatkan sekelompok penyedia komputasi + devops di sisi klien. Klien tidak perlu memelihara infrastrukturnya sendiri, itu sudah cukup baginya untuk membayar penyedia komputasi untuk ... komputasi :) Yaitu, ada biaya hanya ketika ada kebutuhan untuk komputasi - itu jauh lebih menguntungkan daripada, misalnya, membayar sewa server 24/7 ketika tidak ada kebutuhan nyata gunakan server ini 24/7. Kurangnya infrastruktur mengarah pada keuntungan penting kedua dari pendekatan: Anda tidak dapat berpikir tentang skalabilitas, karena penyedia menyediakan autoscaling.

Untuk devs, mereka paling sering mengambil kerangka tanpa server (misalnya, Fn Project atau serverless - oh, ironi), yang menyederhanakan pengembangan dan perakitan aplikasi. Juga, kerangka kerja dapat menyediakan pegangan untuk acara; ini nyaman karena serverless hanyalah konsep berbasis peristiwa (contoh dari telepon: panggilan datang - ini acara, menjawab panggilan - ini acara, dll.).

Tambahkan fitur Serverless ke CPaaS dan dapatkan Voximplant bersyarat. Akibatnya, langkah "infrastruktur" menghilang - sebuah bisnis mempelajari CPaaS Serverless yang spesifik, mengimplementasikan logika bisnis di atasnya dan diam-diam memantau cara kerjanya tanpa khawatir membeli rak, server, menemukan ruang untuk ruang server, dll. Tentu saja, ini adalah kasus yang ideal dan setiap solusi unik: ada kemungkinan bahwa klien mungkin memerlukan beberapa jenis perangkat keras di pihak mereka, tetapi Serverless berusaha keras untuk memastikan bahwa klien tidak memiliki kebutuhan seperti itu.

Meningkatkan pengalaman pengguna


Terkadang platform Serverless melakukan hal yang disebut Fungsi adalah perantara antara klien dan layanan lainnya (konsep FaaS ). Misalnya, Fungsi dapat diperintahkan untuk menerima permintaan HTTP dan memberikan respons, atau berinteraksi melalui HTTP dengan layanan pihak ketiga. Webhooks dan interaksi khusus telekomunikasi juga dapat diproses di sini.

Namun, lapisan ini memiliki batasan:
  • lead time terbatas;
  • konteks abadi (stateless);
  • pemrosesan panggilan dipisahkan dari runtime platform karena komunikasi melebihi HTTP.

Sejak awal, arsitektur Voximplant membuat runtime dapat diakses oleh klien, sehingga kontrol panggilan dilakukan menggunakan skrip JS, daripada HTTP kering. Runtime terintegrasi memberikan beberapa keuntungan:

  • Script Cloud JS mendukung standar bahasa terbaru - ECMA2018;
  • skrip menggunakan API platform asli ;
  • kontrol waktu nyata: pemrosesan acara dan eksekusi fungsi terjadi secara instan;
  • Anda dapat menggunakan debugger dengan istirahat dan menyatakan;
  • Anda dapat melampirkan apa saja pada penanganan kesalahan, termasuk peringatan suara untuk seseorang. Contoh penanganan kesalahan berbasis peristiwa:

    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() }) } 

Berbasis acara sangat penting karena a) ini adalah pendekatan terpadu b) menambah fleksibilitas. Tindakan apa pun dapat diartikan sebagai peristiwa dan diproses dalam skrip JS berbasis cloud: jawab panggilan masuk dengan sintesis suara, kenali pesan suara dan tutup telepon, teruskan panggilan ke SIP, potong pemberitahuan push, dll.


Akibatnya, platform Serverless kami mengurangi latensi, meningkatkan pengalaman pengguna dan, pada akhirnya, mengurangi waktu peluncuran produk jadi sebanyak mungkin: jika dalam "era pra-CPaaS'nuyu" ini bisa enam bulan, maka dengan Voximplant Anda dapat bertemu 1 bulan ( termasuk semua persetujuan dan pertemuan, waktu pengembangan langsung bahkan lebih pendek).

Masa depan


Platform komunikasi berbasis server akan semakin diminati karena permintaan untuk layanan ini semakin meningkat, serta fungsionalitas platform itu sendiri. Serverless CPaaS akan segera dapat menawarkan penyimpanan data, integrasi mendalam dengan sistem eksternal ( Konektor Dialogflow kami adalah contoh yang baik), fungsionalitas server web, akhirnya :) Prospeknya cerah, Anda hanya perlu mengikuti implementasi dan menikmati kemajuan konsep Serverless.

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


All Articles