Python و Netflix: ماذا يحدث عند بث فيلم؟



تعرف على Netflix وكيف يستخدم هذا العملاق المتدفق Python في نطاقاته المختلفة مثل العمليات ، والتعلم الآلي ، وأمن المعلومات ، وما إلى ذلك.

إن الوجهة الشاملة لكل عشاق الأفلام هي ، بالطبع ، Netflix. ولكن ماذا لو كنت تشاهد فيلمك المفضل ويستمر في التخزين المؤقت بين الحين والآخر؟ سوف تقوم فقط بإغلاق التطبيق واختيار خيار آخر. ولكن كيف تدير حركة مرور ملايين المستخدمين بسرعة؟ شكرا ل . في هذه المقالة ، دعنا نستكشف كيف تستخدم Netflix لغة Python.

لنبدأ بإلقاء نظرة سريعة على السمات التي تملأ هذه المقالة:





لذلك دعونا نبدأ. :)

مقدمة إلى Netflix

شعار Netflix-How Netflix ues Python-EdurekaNetflix هي شركة أمريكية تقدم خدمات الفيديو حسب الطلب (VOD). يقع المقر الرئيسي لـ Netflix في لوس جاتوس ، كاليفورنيا ، ولديها حوالي 148 مليون مشترك في جميع أنحاء العالم ، ومع ذلك ، يستمر العدد في النمو كل يوم. في فترة ما يقرب من عقدين من الزمن ، برزت Netflix كـ 'ملك العشيرة' لأكبر مسلسلات وأفلام تلفزيونية في جميع أنحاء العالم. كونها العلامة التجارية الأسرع نموًا في أمريكا ولديها عائدات قدرها 20.5 مليار دولار في عام 2019 ، فهي كافية لتكون 'ملفتة للنظر' ، وبالتالي مثيرة للاهتمام جميعًا في مجالاتها التكنولوجية.



بناءً على نفس مجال الاهتمام ، كشفت Netflix كيف تستخدم اللغة الأكثر شيوعًا ، بايثون ، لبنيتها التحتية.

دعنا الآن ننتقل لنرى كيف يستخدم Netflix لغة Python؟



javascript الحصول على حجم المصفوفة

كيف تستخدم Netflix لغة Python؟

'نحن نستخدم Python خلال دورة حياة المحتوى الكاملة ، بدءًا من تحديد المحتوى الذي يجب تمويله وصولاً إلى تشغيل CDN الذي يقدم الفيديو النهائي إلى 148 مليون عضو' - مهندسون في Netflix

تتراوح وrom المجالات الإدارية إلى الموثوقية و علم البيانات إلى إلخ ، تستخدم Netflix لغة Python تقريبًا في كل جانب من جوانب أعمالها.

الآن دعونا نلقي نظرة أعمق على كيفية القيام بذلك يستخدم في مجالات مختلفة على Netflix:

فتح الاتصال:

CDN (شبكة توصيل المحتوى) التي تستخدمها Netflix هي Open Connect. فتح الاتصال تظهر بشكل أساسي عند النقر فوق الزر 'تشغيل'. يتم الاعتناء بجميع المحتويات التي يتم تسليمها إلى المستخدم النهائي بواسطة CDN.

يتطلب Open connect أنظمة برمجية أخرى متنوعة لتصميمها وإنشائها وتشغيلها والتي تتم كتابتها بدورها بلغة Python. ليس هذا فقط ، فإن أجهزة الشبكة الكامنة وراء CDN هي تطبيقات Python نظرًا لأن Python لها مكانة بارزة في حل مشكلات الشبكة.

فريق هندسة الطلب:

يتولى فريق هندسة الطلب مسؤولية التعامل مع حالات الفشل الإقليمية وإدارة حركة المرور وإدارة عمليات السعة (التي تهتم بالحد الذي يمكن تقديم المحتوى إليه) وكفاءة الأسطول في Netflix cloud. عناصر Python المستخدمة من قبل هذا الفريق هي:

NumPy و SciPy:

و SciPy هي المكتبات المستخدمة في الحوسبة العلمية. تستخدم Netflix مكتبات Python هذه لإجراء تحليل رقمي مما يسمح بإدارة حالات الفشل الإقليمية.

Boto3:

Boto3 هي حزمة تطوير البرامج (SDK) الخاصة بـ لبايثون. يساعد هذا مطوري Python على دمج Python في AWS مما يسمح بالتطوير في البنية التحتية.

RQ (قائمة انتظار Redis):

هذه مكتبة Python تساعد في تتبع المهام الموجودة في قائمة الانتظار وتسمح بتنفيذها مما يسمح بإدارة أحمال العمل غير المتزامنة.

قارورة:

أخيرًا ، تستخدم Netflix واجهة برمجة تطبيقات Flask (مكتبة Python Web Development) لربط جميع الأجزاء السابقة معًا.

يستخدم Netflix ملفات وهو تطبيق ويب مفتوح المصدر يستخدم لتطوير Python مع غير متفاعل (امتداد لـ Jupyter) على نطاق واسع. من المعروف أن Jupyter تحظى بشعبية في تحليل البيانات. إنه يخدم بشكل جيد للغاية في تحليل البيانات التشغيلية والتصور الذي يساعد بدوره في اكتشاف انحدار القدرات.

البنية التحتية لتعلم الآلة:

تتراوح من إنشاء خوارزميات التخصيص إلى معرفة حالات الاستخدام. تساعد خوارزميات التخصيص في تدريب نماذج التعلم الآلي وفقًا لمعايير Netflix. يقدم توصيات شخصية ، ومخططات على أساس يومي ، وأجيال تسمية ، وما إلى ذلك.

المكتبات المطلوبة للتعلم الشبكات العصبية العميقة هي TensorFlow ، الصعب و و بيتورتش بينما XGBoost و LightGBM لأشجار القرار المعزز بالتدرج.لقد طوروا أيضًا عددًا غير قليل من المكتبات عالية المستوى التي تساعد في الدمج مع مجالات العمل مثل تسجيل الحقائق ، واستخراج الميزات ، والنشر ، وما إلى ذلك. بصرف النظر عن كل هذا ، تستخدم Netflix أيضًا ميتافلو لإنشاء مشاريع التعلم الآلي.

'Metaflow تدفع حدود Python: نحن نستفيد من كود Python المتوازي جيدًا والمحسن لجلب البيانات بسرعة 10 جيجابت في الثانية ، والتعامل مع مئات الملايين من نقاط البيانات في الذاكرة ، وتنسيق الحساب على عشرات الآلاف من نوى وحدة المعالجة المركزية' - Netflix

البيانات الكبيرة:

ال الفريق مسؤول عن تنفيذ ETL (استخراج وتحويل وتحميل) وخطوط أنابيب Adhoc. تمت كتابة جزء كبير من هذا التنسيق بلغة بايثون. يستخدم هذا الفريق جدولة يتم تشغيلها على Jupyter Notebooks مع Paperill لإنتاج أنواع الوظائف مع القوالب ، على سبيل المثال ، ، قريبًا ، إلخ.

بالإضافة إلى ذلك ، أنشأ الفريق أيضًا منصة مدفوعة بالأحداث مبنية بالكامل على Python. لقد أنشأوا عددًا من الأحداث ودمجوها في حدث واحد مما يسمح لـ Netflix بتصفية الأحداث والتفاعل معها وتوجيهها. بيجيني هي أيضًا جزء من هذه البنية التحتية التي تتعامل مع Genie (خدمة تنفيذ المهام المميزة).

التجريب العلمي:

هذه منصة أنشأها فريق التجارب العلمية للسماح بذلك اختبار A / B مع بعض التجارب الأخرى. هنا ، يمكن للعلماء والمهندسين تقديم ابتكارات جديدة في البيانات والإحصاءات والتصور.

بايثون يتم تنفيذه هنا المقاييس الريبو الذي يقوم على PyPika ويسمح بكتابة استعلامات ذات معلمات قابلة لإعادة الاستخدام. بالنسبة لقطاع الإحصاء ، PyArrow و RPy2 يتم استخدامها لحساب الإحصائيات في Python أو R. مؤامرة يساعد في التصورات.

ترميز الفيديو / هندسة الوسائط السحابية:

هذا الفريق مسؤول عن مهام الترميز وإعادة ترميز كتالوج Netflix. يتم استخدام Python تقريبًا في 50 مشروعًا مثل VMAF (دمج تقييم الفيديو متعدد الطرق) و MezzFS (نظام ملفات الميزانين) ، حلول الرؤية الحاسوبية (يتعامل مع الصور) باستخدام آرتشر ، إلخ.

الرسوم المتحركة من Netflix و NVFX:

تشكل Python الأساس لجميع الرسوم المتحركة والمؤثرات المرئية (VFX) في Netflix. تتم جميع اتحادات المايا ونيوك على بايثون.

هو (أمن المعلومات):

تستخدم Netflix أنظمة IS المدعومة من Python للمعالجة التلقائية ، والأتمتة الأمنية ، وتصنيف المخاطر ، وما إلى ذلك. إن أكثر مشاريع Python مفتوحة المصدر النشطة لهذا الفريق هي قرد الأمن . يستخدم Netflix أيضًا ملفات بارك الله فيكم (خدمة Lambda سريعة الزوال SSH من باستيون) لتحمي SSH (Secure Shell) الموارد. ريبوكيد يستخدم لمنح سابقا يتم تخصيص الأذونات وشهادات TLS من خلال Lemur. تعتمد هاتان المهمتان بشكل أساسي على Python.

المراقبة والمعالجة التلقائية:

يُعرف هذا الفريق باسم فريق Insight Engineering. يبنون وينفذون الأدواتللحصول على الرؤى التشغيلية والتشخيصات والمعالجة التلقائية والتعديل. بالنسبة لمعظم خدماته ، يستخدم هذا الفريق Python ، على سبيل المثال ، مكتبة عميل Spectator Python. تستخدم هذه المكتبة لتسجيل السلاسل الزمنية ذات الأبعاد. إلى جانب هذه المكتبات ، تم تصميم منتجات مثل Winston و Bolt أيضًا على أطر عمل Python و Gunicorn و Flask-RestPlus.

تلخيصًا لكل ذلك ، يمكن للمرء بسهولة أن يدعي أن Python هي القوة الدافعة لـ Netflix. بهذا نكون قد وصلنا إلى نهاية هذه المدونة حول 'كيف يستخدم Netflix لغة Python؟'. آمل أن تكون واضحًا في كل ما تمت مناقشته.

للحصول على معرفة متعمقة حول Python مع تطبيقاتها المختلفة ، يمكنك التسجيل في البث المباشر مع دعم على مدار الساعة طوال أيام الأسبوع وإمكانية الوصول مدى الحياة.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'كيف تستخدم Python Netflix' وسنعاود الاتصال بك في أقرب وقت ممكن.