החברה פיתחה פתרונות שונים לשיחות וידאו ואודיו.
אני הצטרפתי ל CTO שרצה לבנות אפליקציית ווב לניתוב שיחות נכנסות לארגון או חברה מסוימת. לדוגמא זה יכול היה להיות מרכז שירות שרצה להגדיר חוקיות משלו לשיחות נכנסות או בנק שרצה לתת תמיכה ללקוחות שלו תוך שמירה על צוות שירות לקוחות קטן ויעיל ככל האפשר. אחד הלקוחות שלנו היו בתי סוהר שהיו צריכים לנתב ולתזמן שיחות וידאו לאסירים עם זמן שיחה מוקבל.
ה CTO שעבדתי איתו היה מומחה בכל מה שקשור לתקשורת והתמצה מעולה בכל הפרטים הקטנים של video/audio codecs והפרוטוקולים הרלוונטיים. אבל זה היה הניסיון הראשון שלו בעולם ה Cloud.
המוצר שבנינו היה מורכב ממספר חלקים. מצד אחד, זה כלל את כל המרכיבים הדרושים לתקשורת חלקה גם עם מספר רב של משתתפים בשיחה. מצד שני, זה כלל את כל הלוגיקה של הלקוח לניתוב השיחות הנכנסות שלו. בנוסף היינו צריכים לספק ללקוחות SDK כך שאפילו אנשים לא טכנולוגיים יוכלו להשתמש בו על מנת לבנות את האלגוריתמים שלהם ולהיות מסוגלים לבדוק אותם בסביבה מבודדת כלשהי.
בסוף הגענו לארכיטקטורה הבאה:
- השתמשנו ב (Twisted(Python ו (Django(Python לחיבור שיחות.
- השתמשנו ב Node.js כדי להריץ את האלגוריתמים של הלקוחות ולתפעל סביבה מבודדת בשביל זה
- השתמשנו ב (CodeMirror(Javascript כדי לתת ללקוחות Javascript SDK שאיתו הם יכולים לכתוב, לדבג ולהריץ את האלגוריתמים שלהם ישר מהדפדפן בסביבה נוחה ומוכרת. זה חסך לנו המון תיעוד וזמן הדרכה על איך להשתמש ב SDK שלנו.