في هذا العام كنا
نترجم مقالة صلبة حول مفهوم Serverless: أظهر المؤلف على أصابعه ما هو ولماذا. نحن نعلم أيضًا ونتذكر أن شركائنا الأوروبيين قاموا منذ فترة طويلة بتعميد نظامنا على أنه
Serverless CPaaS - من أجل تأكيد ذلك صراحة ، تحدث الرئيس التنفيذي لدينا أليكسي أيلاروف في مؤتمر
أيام API في أمستردام في 16 أكتوبر. شرح أليكسي لماذا سيصبح خادم CPaaS في كل مكان قريبًا ، وكيف اتضح أن Voximplant - فجأة - منذ البداية جسد هذا النهج. تحت القطع ستجد تعديلًا للنص للكلمة ، يتم إرفاق مقتطفات من العرض التقديمي. مرحبًا!
كان عليه أن يكون أفضل (ج)
قبل CPaaS ، اضطرت الشركة للقيام بالكثير من الأعمال التحضيرية: بالنسبة للمبتدئين ، كان علينا اختيار مشغل اتصالات. ثم يجب عليك اختيار الواجهة الخلفية وإنشاء بنية أساسية لكل هذا (على سبيل المثال ، خذ برنامج PBX Asterisk / FreeSWITCH وملف). لمساعدة PBX هذا أيضًا في رفع الواجهة الخلفية على node.js الشرطية ... وفقط بعد ذلك تقرر أين وكيف سيتم تنفيذ منطق الأعمال ، ثم نشره ، وتكوين المراقبة والتأكد من عدم تعطلها أثناء العمل. قد يستغرق الأمر نصف عام أو أكثر لإطلاق حل تسليم المفتاح.
جعلت CPaaS من الممكن تخطي الخطوات ذات المستوى المنخفض والبدء الفوري لمنطق الأعمال: لهذا ، كان العميل بحاجة إلى دراسة منصة الاتصالات ، ثم ... البنية التحتية والنشر والمراقبة. من ناحية ، ليس عليك التفكير في ما ستكون عليه الواجهة الخلفية والبحث عن مشغل اتصالات. ونتيجة لذلك ، يتم تقليل وقت بدء التشغيل دون فقدان الجودة. من ناحية أخرى ، لا يزال هناك الكثير الذي يتعين القيام به إلى جانبها.
مرحبا بخادم
ثم حدث Serverless. وهنا نحتاج إلى التركيز على النقطة الرئيسية - لماذا أقل؟ الحسابات يجب أن تتم في مكان ما.
لا يعني الخادم عدم وجود خوادم على الإطلاق ، ولكن غيابها على جانب العميل.
ينطوي المفهوم على مجموعة من مزودي الحوسبة + أجهزة التطوير على جانب العميل. لا يحتاج العميل إلى الحفاظ على بنيته التحتية الخاصة به ، ويكفي له أن يدفع لموفر الحوسبة مقابل ... الحوسبة :) أي ، هناك تكاليف فقط عندما تكون هناك حاجة إلى الحوسبة - إنها أكثر ربحية بكثير ، على سبيل المثال ، الدفع مقابل إيجار الخادم 24/7 عندما لا تكون هناك حاجة حقيقية استخدام هذه الخوادم 24/7. يؤدي نقص البنية التحتية إلى الميزة المهمة الثانية للنهج: لا يمكنك التفكير في قابلية التوسع ، لأنه يوفر مزود autoscaling.
بالنسبة إلى مطوري البرامج ، غالبًا ما يأخذون إطارًا بدون خادم (على سبيل المثال ،
مشروع Fn أو
خادم بدون خادم - يا للسخرية) ، مما يبسط تطوير التطبيقات وتجميعها. أيضا ، يمكن أن يوفر الإطار مقابض للأحداث. هذا مناسب لأن الخادم بدون خادم هو مجرد مفهوم قائم على الحدث (أمثلة من الاتصالات الهاتفية: جاءت مكالمة - هذا حدث ، رد على مكالمة - هذا حدث ، وما إلى ذلك).
أضف ميزات Serverless إلى CPaaS واحصل على Voximplant مشروط. ونتيجة لذلك ، تختفي خطوة "البنية التحتية" - يدرس نشاط تجاري CPaaS معين بدون خادم ، وينفذ منطق الأعمال عليه ويراقب بهدوء كيفية عمله دون القلق بشأن شراء الرفوف ، والخوادم ، والعثور على غرفة لغرفة الخادم ، وما إلى ذلك. بالطبع ، هذه حالة مثالية وكل حل فريد من نوعه: من الممكن أن يحتاج العميل إلى نوع من الأجهزة من جانبه ، لكن Serverless يبذل كل جهد لضمان أن العملاء ليس لديهم مثل هذه الاحتياجات.
تحسين تجربة المستخدم
في بعض الأحيان تقوم المنصات بدون خادم بعمل ما يسمى الوظائف هي وسيط بين العميل والخدمات الأخرى (مفهوم
FaaS ). على سبيل المثال ، يمكن توجيه الوظائف بقبول طلبات HTTP وتقديم استجابة أو التفاعل عبر HTTP مع خدمات الطرف الثالث. يمكن أيضًا معالجة الخطافات الإلكترونية والتفاعلات الخاصة بالاتصالات هنا.
ومع ذلك ، فإن هذه الطبقة لها قيود:
- مهلة محدودة ؛
- سياق غير قابل للتغيير (عديم الجنسية) ؛
- يتم فصل معالجة المكالمات عن وقت تشغيل النظام الأساسي لأن الاتصال عبر HTTP.
منذ البداية ، جعلت بنية Voximplant وقت التشغيل متاحًا للعملاء ، لذلك يتم التحكم في المكالمات باستخدام البرامج النصية JS ، بدلاً من HTTP الجاف. يوفر وقت التشغيل المتكامل العديد من المزايا:
- تدعم نصوص Cloud JS أحدث معايير اللغة - ECMA2018 ؛
- تستخدم النصوص البرمجية واجهة برمجة تطبيقات النظام الأساسي الأصلي ؛
- التحكم في الوقت الحقيقي: تحدث معالجة الحدث وتنفيذ الوظائف على الفور ؛
- من الممكن استخدام مصحح أخطاء مع استراحة وحالات ؛
- يمكنك إرفاق أي شيء بمعالجة الخطأ ، بما في ذلك التنبيهات الصوتية لشخص ما. مثال على معالجة الأخطاء المستندة إلى الأحداث:
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() }) }
يعتمد الحدث على أهمية خاصة لأن أ) هذا نهج موحد ب) يضيف المرونة. يمكن تفسير أي إجراء على أنه حدث ومعالجته في نص JS مبني على السحابة: الرد على المكالمة الواردة مع تركيب الصوت ، والتعرف على البريد الصوتي وقطع الاتصال ، وإعادة توجيه المكالمة إلى SIP ، وقطع إشعار الدفع ، إلخ.
ونتيجة لذلك ، تقلل منصتنا بدون خادم وقت الاستجابة ، وتحسن تجربة المستخدم ، وفي النهاية ، تقلل من وقت إطلاق المنتج النهائي قدر الإمكان: إذا كان في "فترة ما قبل CPaaS'nuyu" ، يمكن أن يكون هذا ستة أشهر ، ثم مع Voximplant يمكنك
مقابلة شهر واحد ( بما في ذلك جميع الموافقات والاجتماعات ، فإن وقت التطوير الفوري أقصر).
المستقبل
سيزداد الطلب على منصات الاتصالات القائمة على الخوادم بسبب تزايد الطلب على هذه الخدمات ، بالإضافة إلى وظائف المنصات نفسها. ستتمكن CPaaS بدون خادم قريبًا من توفير تخزين البيانات ، والتكامل العميق مع الأنظمة الخارجية (
يعد Dialogflow Connector مثالاً جيدًا) ، ووظيفة خادم الويب ، أخيرًا :) الاحتمالات مشرقة ، عليك فقط متابعة التنفيذ والاستمتاع بتقدم مفهوم Serverless.