Python και Netflix: Τι συμβαίνει όταν κάνετε ροή ταινίας;

Μάθετε τι είναι το Netflix και πώς αυτός ο γίγαντας ροής χρησιμοποιεί την Python σε διάφορα domians όπως λειτουργίες, μηχανική εκμάθηση, ασφάλεια πληροφοριών κ.λπ.

Ο μοναδικός προορισμός για κάθε buff ταινία είναι, φυσικά, το Netflix. Τι γίνεται όμως αν παρακολουθούσατε την αγαπημένη σας ταινία και συνεχίζει να κάνει buffering κάθε τόσο; Απλώς θα τερματίσετε την εφαρμογή και θα επιλέξετε μια άλλη επιλογή. Αλλά, πώς διαχειρίζεται γρήγορα την κίνηση εκατομμυρίων χρηστών; Χάρη σε . Σε αυτό το άρθρο, ας διερευνήσουμε πώς το Netflix χρησιμοποιεί το Python.



Ας ξεκινήσουμε ρίχνοντας μια γρήγορη ματιά στα θέματα που συμπληρώνουν αυτό το άρθρο:



Ας ξεκινήσουμε λοιπόν. :)

Εισαγωγή στο Netflix

Λογότυπο Netflix-Πώς το Netflix χρησιμοποιεί την Python-EdurekaΤο Netflix είναι μια αμερικανική εταιρεία που παρέχει υπηρεσίες Video on Demand (VOD). Με έδρα το Los Gatos της Καλιφόρνια, το Netflix έχει περίπου 148 εκατομμύρια συνδρομητές σε όλο τον κόσμο και ο αριθμός, ωστόσο, συνεχίζει να αυξάνεται κάθε μέρα. Σε μια περίοδο περίπου δύο δεκαετιών, το Netflix έχει αναδειχθεί ως «Βασιλιάς της φυλής» για τις μεγαλύτερες τηλεοπτικές σειρές και ταινίες σε όλο τον κόσμο. Το να είσαι το ταχύτερα αναπτυσσόμενο εμπορικό σήμα της Αμερικής και να έχεις έσοδα 20,5 δισεκατομμυρίων δολαρίων το 2019, αρκεί για να είναι «εντυπωσιακό», με αποτέλεσμα να ενδιαφέρει όλους τους τεχνολογικούς της τομείς.



Με βάση τον ίδιο τομέα ενδιαφέροντος, η Netflix αποκάλυψε πώς χρησιμοποιεί τη πιο δημοφιλή γλώσσα, Πύθων , για την υποδομή του.

Ας προχωρήσουμε λοιπόν για να δούμε πώς στην πραγματικότητα το Netflix χρησιμοποιεί το Python;



εάν δηλώσεις σε ερωτήματα sql

Πώς χρησιμοποιεί το Netflix το Python;

«Χρησιμοποιούμε την Python μέσω του πλήρους κύκλου ζωής περιεχομένου, από το να αποφασίσουμε ποιο περιεχόμενο θα χρηματοδοτήσει μέχρι τη λειτουργία του CDN που εξυπηρετεί το τελικό βίντεο σε 148 εκατομμύρια μέλη» - Μηχανικοί στο Netflix

Σειρά from Διοικητικοί τομείς αξιοπιστίας και Επιστημονικά δεδομένα προς το κ.λπ., το Netflix χρησιμοποιεί το Python για σχεδόν κάθε άκρο της επιχείρησής τους.

Ας ρίξουμε μια πιο βαθιά ματιά στο πώς χρησιμοποιείται σε διάφορους τομείς στο Netflix:

Άνοιγμα σύνδεσης:

Το CDN (Content Delivery Network) που χρησιμοποιεί το Netflix είναι, Open Connect. Το Open connect βασικά εμφανίζεται στην εικόνα όταν κάνετε κλικ στο κουμπί «play». Όλο το περιεχόμενο που παραδίδεται στον τελικό χρήστη φροντίζεται από αυτό το CDN.

Το Open connect απαιτεί διάφορα άλλα συστήματα λογισμικού για το σχεδιασμό, την κατασκευή και τη λειτουργία του, τα οποία με τη σειρά τους είναι γραμμένα στο Python. Όχι μόνο αυτό, οι συσκευές δικτύου που βασίζονται σε αυτό το CDN είναι εφαρμογές Python, δεδομένου ότι η Python είναι εξέχουσα θέση στην επίλυση προβλημάτων δικτύου.

Ομάδα μηχανικής ζήτησης:

Η ομάδα Demand Engineering είναι υπεύθυνη για τον χειρισμό των περιφερειακών αποτυχιών, διαχείρισης κυκλοφορίας, διαχείρισης λειτουργιών χωρητικότητας του cloud Netflix (φροντίζοντας το όριο μέχρι το οποίο μπορεί να γίνει χρήση του περιεχομένου) και της απόδοσης στόλου. Τα στοιχεία της Python που χρησιμοποιεί αυτή η ομάδα είναι:

NumPy και SciPy:

και SciPy είναι οι βιβλιοθήκες που χρησιμοποιούνται για την επιστημονική πληροφορική. Το Netflix χρησιμοποιεί αυτές τις βιβλιοθήκες Python για να πραγματοποιήσει αριθμητική ανάλυση, επιτρέποντας έτσι τη διαχείριση των περιφερειακών αποτυχιών.

Boto3:

Το Boto3 είναι το κιτ ανάπτυξης λογισμικού (SDK) της για την Python. Αυτό βοηθά τους προγραμματιστές της Python να ενσωματώσουν το Python στο AWS επιτρέποντας έτσι την ανάπτυξη της υποδομής.

RQ (ουρά Redis):

Πρόκειται για μια βιβλιοθήκη Python που βοηθά στην παρακολούθηση των εργασιών που υπάρχουν στην ουρά και επιτρέπει την εκτέλεσή τους επιτρέποντας έτσι τη διαχείριση των ασύγχρονων φόρτων εργασίας.

Φλάσκα:

Τέλος, το Netflix χρησιμοποιεί το Flask (Python Web Development library) API για τη σύνδεση όλων των προηγούμενων τμημάτων.

Το Netflix χρησιμοποιεί που είναι μια εφαρμογή ιστού ανοιχτού κώδικα, που χρησιμοποιείται για την ανάπτυξη Python μαζί με διασκεδάζω (επέκταση για το Jupyter) σε μεγάλη κλίμακα. Το Jupyter είναι γνωστό ότι είναι δημοφιλές για την ανάλυση δεδομένων. Εξυπηρετεί πολύ καλά στην επιχειρησιακή ανάλυση δεδομένων και οπτικοποίηση που με τη σειρά τους βοηθούν στην ανίχνευση παλινδρόμησης χωρητικότητας.

Υποδομή μηχανικής εκμάθησης:

κυμαίνεται από τη δημιουργία αλγορίθμων εξατομίκευσης έως τον εντοπισμό των περιπτώσεων χρήσης. Οι αλγόριθμοι εξατομίκευσης βοηθούν στην εκπαίδευση των μοντέλων Machine Learning σύμφωνα με τα πρότυπα του Netflix. Παρέχει εξατομικευμένες προτάσεις, περιλήψεις σε καθημερινή βάση, γενιές ετικετών κ.λπ.

Οι βιβλιοθήκες που απαιτούνται για να μάθουν Βαθιά νευρωνικά δίκτυα είναι TensorFlow , Σκληρός , και Pytorch ενώ XGBoost και LightGBM για δέντρα βαθμίδωσης ενισχυμένης απόφασης.Έχουν επίσης αναπτύξει αρκετές βιβλιοθήκες υψηλότερου επιπέδου που βοηθούν στο συνδυασμό με τους τομείς εργασίας, όπως καταγραφή γεγονότων, εξαγωγή χαρακτηριστικών, δημοσίευση κ.λπ. Εκτός από όλα αυτά, το Netflix χρησιμοποιεί επίσης MetaFlow για τη δημιουργία έργων μηχανικής μάθησης.

'Το Metaflow ωθεί τα όρια της Python: Αξιοποιούμε καλά παραλληλισμένους και βελτιστοποιημένους κώδικες Python για να πάρουμε δεδομένα στα 10Gbps, να χειριστούμε εκατοντάδες εκατομμύρια σημεία δεδομένων στη μνήμη και να ενορχηστρώσουμε υπολογισμούς σε δεκάδες χιλιάδες πυρήνες CPU' - Netflix

υπερφόρτωση λειτουργίας στο παράδειγμα c ++

Μεγάλα δεδομένα:

ο Η ομάδα είναι υπεύθυνη για την εκτέλεση των αγωγών ETL (απόσπασμα, μετασχηματισμός, φόρτωση) και Adhoc. Ένα μεγάλο μέρος αυτής της ενορχήστρωσης είναι γραμμένο στο Python. Αυτή η ομάδα χρησιμοποιεί ένα χρονοδιάγραμμα που τρέχει σε Jupyter Notebooks με χαρτοποιία για να παράγει τύπους εργασίας με πρότυπα, για παράδειγμα, , Σύντομα κ.λπ.

Εκτός από αυτό, η ομάδα δημιούργησε επίσης μια πλατφόρμα που βασίζεται σε εκδηλώσεις, η οποία είναι χτισμένη εξ ολοκλήρου στο Python. Έχουν δημιουργήσει μια σειρά εκδηλώσεων και το έχουν συνδυάσει σε ένα που επιτρέπει στο Netflix να φιλτράρει, να αντιδρά και να δρομολογεί συμβάντα. Πυγκένι είναι επίσης ένα μέρος αυτής της υποδομής που διασυνδέεται με την Genie (επιλεγμένη υπηρεσία εκτέλεσης εργασίας).

Επιστημονικός πειραματισμός:

Αυτή είναι μια πλατφόρμα που δημιουργήθηκε από την επιστημονική ομάδα πειραματισμού για να επιτρέψει Δοκιμή A / B μαζί με άλλους πειραματισμούς. Εδώ, επιστήμονες και μηχανικοί μπορούν να παρουσιάσουν νέες καινοτομίες σε δεδομένα, στατιστικές και οπτικοποίηση.

Ο Πύθων που εφαρμόζεται εδώ είναι Repo μετρήσεων το οποίο βασίζεται PyPika και επιτρέπει τη σύνταξη επαναχρησιμοποιήσιμων παραμετροποιημένων ερωτημάτων. Για τον τομέα των στατιστικών, PyArrow και RPy2 χρησιμοποιούνται για τον υπολογισμό στατιστικών είτε σε Python είτε σε R. Σχετικά βοηθά στις απεικονίσεις.

Κωδικοποίηση βίντεο / Μηχανική Cloud Media:

Αυτή η ομάδα είναι υπεύθυνη για εργασίες κωδικοποίησης και εκ νέου κωδικοποίησης για τον κατάλογο Netflix. Το Python χρησιμοποιείται για περίπου 50 έργα όπως VMAF (Video Multi-Method Assessment Fusion) και MezzFS (Mezzanine File System), Λύσεις Computer Vision (ασχολείται με εικόνες) χρησιμοποιώντας Τοξότης , και τα λοιπά.

Netflix Animation και NVFX:

Η Python αποτελεί τη βάση για όλα τα κινούμενα σχέδια και τα οπτικά εφέ (VFX) στο Netflix. Όλα τα συνδικάτα Maya και Nuke γίνονται στην Python.

IS (Ασφάλεια πληροφοριών):

Το Netflix χρησιμοποιεί συστήματα IS που υποστηρίζονται από Python για αυτόματη αποκατάσταση, αυτοματισμό ασφαλείας, ταξινόμηση κινδύνου κ.λπ. Το πιο ενεργό έργο ανοιχτού κώδικα Python αυτής της ομάδας είναι Μαϊμού ασφαλείας . Το Netflix χρησιμοποιεί επίσης ΕΥΛΟΓΩ (Υπηρεσία Lambda Ephemeral SSH του Bastion) προστατεύω SSH Πόροι (Secure Shell). RepoKid χρησιμοποιείται για τη χορήγηση ΗΔΗ Τα δικαιώματα και τα πιστοποιητικά TLS κατανέμονται μέσω του Lemur. Και οι δύο αυτές εργασίες βασίζονται κυρίως στην Python.

Παρακολούθηση και αυτόματη αποκατάσταση:

Αυτή η ομάδα είναι γνωστή ως ομάδα Insight Engineering. Κατασκευάζουν και εκτελούν εργαλείαγια επιχειρησιακές πληροφορίες, διαγνωστικά, αυτόματη αποκατάσταση και αλλαγή. Για τις περισσότερες από τις υπηρεσίες της, αυτή η ομάδα χρησιμοποιεί το Python, για παράδειγμα, τη βιβλιοθήκη πελατών του Spectator Python. Αυτή η βιβλιοθήκη χρησιμοποιείται για την εγγραφή διαστάσεων χρονοσειρών. Μαζί με αυτές τις βιβλιοθήκες, προϊόντα όπως το Winston και το Bolt είναι επίσης ενσωματωμένα σε πλαίσια Python που είναι , Gunicorn και Flask-RestPlus.

Συνοψίζοντας όλα, μπορεί κανείς εύκολα να ισχυριστεί ότι η Python είναι η κινητήρια δύναμη του Netflix. Με αυτό, φτάσαμε στο τέλος αυτού του ιστολογίου για το 'Πώς χρησιμοποιεί το Netflix το Python;'. Ελπίζω να ξεκαθαρίσετε όλα αυτά που συζητήθηκαν.

Για να μάθετε σε βάθος την Python μαζί με τις διάφορες εφαρμογές της, μπορείτε να εγγραφείτε ζωντανά με υποστήριξη 24/7 και πρόσβαση σε όλη τη διάρκεια ζωής.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου 'Πώς χρησιμοποιεί η Python το Netflix' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.