IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Dirigeant
    Inscrit en
    Juin 2016
    Messages
    3 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Dirigeant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2016
    Messages : 3 160
    Points : 66 298
    Points
    66 298
    Par défaut Netflix : le langage de programmation Python est derrière chaque film que vous regardez
    Netflix : Python est derrière chaque film que vous regardez,
    voici comment l'entreprise utilise le langage de programmation pour ses services

    Netflix est une entreprise américaine implantée qui propose des films et séries télévisées en flux continu sur Internet. En prévision de la conférence PyCon de la Python Software Foundation à Cleveland, le géant de la diffusion en continu a expliqué en détail comment il utilise le langage open source. Rappelons que Python est un langage de programmation interprété, multiparadigme et multiplateformes. En 2017 déjà, L’Institute of Electrical and Electronics Engineers (IEEE), la plus grande association mondiale de professionnels techniques, classait le langage comme le meilleur en 2017 en dépassant C et Java.

    En début de cette année, Python est sacré langage de programmation de l'année 2018 par l'index TIOBE. Le langage est de plus en plus sollicité dans presque tous les domaines de la programmation allant de la programmation web au développement de l'intelligence artificielle. « De nos jours, c’est le premier langage le plus enseigné dans les universités. Il est numéro un dans le domaine statistique, numéro un en programmation d’IA, numéro un en rédaction de scripts et numéro un en tests de système d’écriture. En outre, Python est également un chef de file de la programmation Web et de l’informatique scientifique, etc. », a écrit TIOBE.

    Nom : python.png
Affichages : 51268
Taille : 28,9 Ko

    Chez Netflix, bon nombre des périphériques composant Open Connect, son réseau de diffusion de contenu, sont principalement gérés par des applications Python, qui effectuent différentes tâches telles que le suivi de l'inventaire des périphériques réseau, de leur état et de leur emplacement. Netflix explique que divers logiciels sont nécessaires à la conception, à la construction et à l'exploitation de leur infrastructure CDN (content delivery network, en français réseau de diffusion de contenu), et un nombre important d'entre eux sont écrits en Python. Les périphériques réseau qui sous-tendent une grande partie du CDN sont principalement gérés par les applications Python.

    Ces applications suivent l’inventaire du réseau. La configuration de ces périphériques est contrôlée par plusieurs autres systèmes, notamment les serveurs d'origine de contenu, l'application de configurations des périphériques et le système de sauvegarde. L'interaction entre périphériques pour la collecte de données opérationnelles et la vérification de l'intégrité de ces données est aussi pilotée par une autre application Python. « Python est depuis longtemps un langage de programmation populaire dans l’espace réseau, car c’est un langage intuitif qui permet aux ingénieurs de résoudre rapidement les problèmes de réseau », déclare Netflix.

    Pour améliorer l’expérience utilisateur, Netflix utilise Python pour la répartition du trafic, les opérations de capacité et de l'efficacité du cloud Netflix. À cet effet, « nous sommes fiers de dire que les outils de notre équipe sont construits principalement en Python », précise Netflix. Le service qui orchestre les basculements régionaux utilise des bibliothèques et extensions comme numpy et scipy pour effectuer une analyse numérique, boto3 (un SDK d'AWS pour Python) pour apporter des modifications à l'infrastructure AWS, RQ (une bibliothèque pour la création et le traitement de tâches en arrière-plan) pour exécuter des charges de travail asynchrones et le tout est géré avec des API Flask. « Nous sommes de gros utilisateurs de Jupyter Notebooks et nteract pour analyser des données opérationnelles et des outils de visualisation de prototypes qui nous aident à détecter les régressions de capacité », ajoute Netflix.

    Nom : 667px-Netflix_2014_logo.svg.png
Affichages : 27569
Taille : 4,9 Ko

    L'équipe en charge du noyau de Netflix utilise Python pour les travaux d’alerte et d’analyse statistique et s'appuie sur de nombreuses bibliothèques statistiques et mathématiques comme numpy, Scipy, ruptures, panda, pour automatiser l'analyse des signaux connexes lorsque les systèmes d'alerte indiquent des problèmes. L'équipe de maintenance et de surveillance en charge de la création et de l’exploitation des outils d’information opérationnelle, d’alerte, de diagnostic et de correction automatique, prend désormais en charge les clients Python pour la plupart de leurs services à l'exemple de Spectator (une bibliothèque d'instruments de code permettant d'enregistrer des métriques de séries temporelles dimensionnelles).

    L’équipe en charge de la sécurité de l’information utilise Python pour atteindre un grand nombre d’objectifs de Netflix : automatisation de la sécurité, classification des risques, correction automatique et identification des vulnérabilités. Cette équipe utilise Python pour protéger les ressources SSH avec Bless, pour faciliter le réglage des autorisations IAM à l'aide de Repokid. Elle utilise aussi Python pour générer des certificats TLS avec Lemur.

    « Nous utilisons de manière intensive Python dans notre infrastructure plus large d'apprentissage automatique pour former certains des modèles d'algorithmes aux aspects clés de l'expérience Netflix : des algorithmes de recommandation à la personnalisation des illustrations, en passant par les algorithmes marketing. Par exemple, certains algorithmes utilisent TensorFlow, Keras et PyTorch pour apprendre par les réseaux de neurones profonds, XGBoost et LightGBM pour apprendre les arbres de décision optimisés par gradient ou la pile scientifique plus large en Python (par exemple, numpy, scipy, sklearn, matplotlib, pandas, cvxpy). Parce que nous essayons constamment de nouvelles approches, nous utilisons des blocs-notes Jupyter pour mener bon nombre de nos expériences. Nous avons également mis au point un certain nombre de bibliothèques de niveau supérieur pour les intégrer au reste de notre écosystème (par exemple, accès aux données, consignation des faits et extraction des fonctionnalités, évaluation et publication des modèles) ».

    Outre la personnalisation, Netflix dit qu'il applique l'apprentissage automatique à des centaines de cas d'utilisation dans toute l'entreprise. Beaucoup de ces applications sont alimentées par Metaflow, un framework Python qui facilite l’exécution de projets ML depuis le stade du prototype jusqu’à la production. Pour Netflix, Metaflow repousse les limites de Python. «Nous exploitons du code Python bien parallélisé et optimisé pour extraire des données à 10 Gb/s, gérer des centaines de millions de points de données en mémoire et orchestrer des calculs sur des dizaines de milliers de cœurs de processeur », explique l'entreprise.

    L'équipe qui s’occupe de l’encodage (et du réencodage) du catalogue Netflix, ainsi que de la valorisation de l’apprentissage automatique pour mieux comprendre ce catalogue utilise Python pour environ 50 projets tels que vmaf et mezzfs, « nous construisons des solutions de vision par ordinateur utilisant une plateforme de carte multimédia appelée Archer, et nous utilisons Python pour de nombreux projets internes. Nous avons également ouvert quelques outils pour faciliter le développement / la distribution de projets Python, tels que setupmeta et pickley ».

    Source : Medium

    Et vous ?

    Qu'en pensez-vous ?
    Utilisez-vous aussi Python pour certain de vos projets ? Quelles sont les raisons de ce choix ?

    Voir aussi

    Python est sacré langage de programmation de l'année 2018 par l'index TIOBE, deviendra-t-il le langage le plus utilisé des programmeurs ?

    IEEE : Python devient le meilleur langage en 2017 en dépassant C et Java, découvrez le classement complet selon divers critères

    Python va supprimer les termes "master/slave" de sa documentation et sa base de code pour des raisons de diversité et leur connotation à l'esclavage

    Un ingénieur en informatique de Netflix gagne plus de 300 000$ par année, pourquoi cette entreprise paie-t-elle plus que Google et Facebook ?

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afrique Du Sud

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 56
    Points : 108
    Points
    108
    Par défaut
    En lisant cette article on se dirait que Netflix c'est du Python.

  3. #3
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 266
    Points : 6 688
    Points
    6 688
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Bill Fassinou Voir le message
    En début de cette année, Python est sacré langage de programmation de l'année 2018 par l'index TIOBE. Le langage est de plus en plus sollicité dans presque tous les domaines de la programmation allant de la programmation web au développement de l'intelligence artificielle. « De nos jours, c’est le premier langage le plus enseigné dans les universités. Il est numéro un dans le domaine statistique, numéro un en programmation d’IA, numéro un en rédaction de scripts et numéro un en tests de système d’écriture. En outre, Python est également un chef de file de la programmation Web et de l’informatique scientifique, etc. », a écrit TIOBE.
    Je me permets de réagir ici dans le but de tempérer un peu ce panégyrique à la gloire du Python. Il faut savoir que derrière tous les modules stars du langage (numpy, scipy, XGBoost, etc.), et sans lesquels le Python ne serait pas réellement utilisable, se cache en fait du code compilé, écrit généralement en C, et parfois en C++.

    Python est un excellent langage, je l'utilise régulièrement, et je fais souvent en sorte que les logiciels sur lesquels je travaille soient ouverts au scripting pyhton. Mais certains ont tendance à présenter Python comme le langage ultime qui va supplanter tous les autres, et c'est contre cette illusion que je dénonce ici. Sans l'utilisation des langages compilés, et notamment le C, le python serait beaucoup trop lent pour faire de l'AI, du data mining et autre.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 28
    Points : 52
    Points
    52
    Par défaut
    "Mais certains ont tendance à présenter Python comme le langage ultime qui va supplanter tous les autres, et c'est contre cette illusion que je dénonce ici. Sans l'utilisation des langages compilés, et notamment le C, le python serait beaucoup trop lent pour faire de l'AI, du data mining et autre."

    Certes le C ou le C++ apporte un gain de puissance sur le langage python, mais le nombre de lignes qu'il te faut pour faire la même chose qu'en python est largement 10 à 20 fois supérieur. D'ailleurs les langages C/C++ sont souvent à la base de plein d'autres langages, voire aussi le compilateur C lui même écrit en C. Quand à sa lenteur, quand on code mal c'est lent, mais tu serai surpris de voir ce que l'on peut faire en pure python, je l'utilise professionnellement pour parser en temps réelle des logs, qui crache sur réseau a un débit soutenu, j'extrais, colorise, change le contenu en dynamique, et affiche, tout cela en temps réelle sans ralentissement. Ceci n'est possible cependant qu'après profiling du code python et optimisation. Si j'avais dû le coder en C ou c++, il m'aurait fallu un temps considérable en dev, et le résultat n'aurait probablement pas était plus performant, et pour optimiser du code C/C++, il te faut des outils costaud, pas toujours simple à mettre en oeuvre. Sans compter la portabilité, le même script tourne sans recompilation sur windows, osx, linux, raspberry. L'origine de la lenteur de python se situe souvent entre la chaise et le clavier.

  5. #5
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 832
    Points : 2 393
    Points
    2 393
    Par défaut On dirait une pub WINDEV en plus fort : code 20x plus rapidement en python
    Citation Envoyé par remi_inconnu Voir le message
    "Mais certains ont tendance à présenter Python comme le langage ultime qui va supplanter tous les autres, et c'est contre cette illusion que je dénonce ici. Sans l'utilisation des langages compilés, et notamment le C, le python serait beaucoup trop lent pour faire de l'AI, du data mining et autre."

    Certes le C ou le C++ apporte un gain de puissance sur le langage python, mais le nombre de lignes qu'il te faut pour faire la même chose qu'en python est largement 10 à 20 fois supérieur.
    Je veux bien croire, puisque j'en fait aussi, que l'on gagne un peu en ligne de code. Sachant que les IDE mettent les {}...et en utilisant C++14 ou C++17 on a des syntaxes qui sont très compactes mais on gagne, aller je suis large, 40% de lignes en moins. On gagne surtout sur la compilation.
    D'ailleurs les langages C/C++ sont souvent à la base de plein d'autres langages, voire aussi le compilateur C lui même écrit en C. Quand à sa lenteur, quand on code mal c'est lent, mais tu serai surpris de voir ce que l'on peut faire en pure python, je l'utilise professionnellement pour parser en temps réelle des logs, qui crache sur réseau a un débit soutenu, j'extrais, colorise, change le contenu en dynamique, et affiche, tout cela en temps réelle sans ralentissement. Ceci n'est possible cependant qu'après profiling du code python et optimisation. Si j'avais dû le coder en C ou c++, il m'aurait fallu un temps considérable en dev, et le résultat n'aurait probablement pas était plus performant, et pour optimiser du code C/C++, il te faut des outils costaud, pas toujours simple à mettre en oeuvre. Sans compter la portabilité, le même script tourne sans recompilation sur windows, osx, linux, raspberry. L'origine de la lenteur de python se situe souvent entre la chaise et le clavier.
    Sauf que le code C++ aurait été bien plus rapide, et n'aurait pas demandé de faire du profiling système.
    Sur la comparaison de différents algorithmes faits en python pur, https://programmation.developpez.com...es-plus-verts/ python est 71 fois plus lent que le C.

    Idem sur des benchmarks de framework en python (Django, Flask...) qui ne peuvent pas fournir 5% de réponses à des requêtes réseaux que les meilleurs frameworks faits en C.
    Le python est "cool" quand tous les éléments consommateurs de ressources sont faits en un langage compilé sinon ça rame.

    Je dis cela, et pourtant j'adore le python.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par remi_inconnu Voir le message
    ..Certes le C ou le C++ apporte un gain de puissance sur le langage python, mais le nombre de lignes qu'il te faut pour faire la même chose qu'en python est largement 10 à 20 fois supérieur...
    je ne connais pas Python, mais peux-tu m'expliquer ce qui permet à Python d'être 10 à 20 fois moins long que le C ? Je précise mon hypothèse de départ, Python possède un certain nombre de fonctions (j'imagine) qui n'ont pas forcément un équivalent direct en C...mais si je possède une bibliothèque C qui propose les mêmes fonctions - ce qui doit être disponible si Python est lui-même écrit en C - en quoi le code sera-t-il plus court ?

    Merci

  7. #7
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    832
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 832
    Points : 2 393
    Points
    2 393
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    je ne connais pas Python, mais peux-tu m'expliquer ce qui permet à Python d'être 10 à 20 fois moins long que le C ? Je précise mon hypothèse de départ, Python possède un certain nombre de fonctions (j'imagine) qui n'ont pas forcément un équivalent direct en C...mais si je possède une bibliothèque C qui propose les mêmes fonctions - ce qui doit être disponible si Python est lui-même écrit en C - en quoi le code sera-t-il plus court ?

    Merci
    Je suis d'accord avec toi On ne fait pas beaucoup moins de lignes en python qu'en C+14 / C++17. Là ou il y a un peu de gains c'est que c'est interprété donc on peut tester plus facilement quelques lignes de codes rapidement. Après j'aimerais bien voir si quelqu'un utilise cling (interpréteur C/C++) pour éviter une compilation et ainsi avoir l'avantage d'un langage de script.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Août 2003
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2003
    Messages : 76
    Points : 87
    Points
    87
    Par défaut
    Ce que vous dites est vrai*: si vous utilisez de bonnes bibliothèques en C, vous pourrez écrire votre application avec un nombre de lignes de code beaucoup plus réduit… mais quand même pas aussi réduit qu’en Python car Python possède aussi des raccourcis syntaxiques très pratiques (à commencer par… les valeurs par défaut pour les arguments de fonctions, que je n’ai pas quand je fais du C).

    Mon opinion sur le succès de Python est que ce langage est simplement très bien géré par la fondation Python, en particulier en ce qui concerne sa bibliothèque standard et son évolution. Il y a moins de choix de bibliothèques non standard, mais ce qui existe est d’assez bonne qualité*: les choix deviennent plus faciles. Oui, le langage lui-même est sympathique et bien fichu, mais il existe d’autres langages sympathiques et bien fichus sur le même créneau, et qui n’ont pas le même succès, selon moi parce que leurs écosystèmes sont moins abordables et plus fragmentés*: on a l’embarras du choix (on passe en revue les bibliothèques existantes, on leur trouve des défauts et des qualités qu’il faut pondérer, on finit par commencer à faire sa propre bibliothèque…).

    Bien sûr, ce n’est pas la seule chose*: il y a évidemment une part de chance dans le succès actuel de Python.

    @r0d*: oui, tu as entièrement raison. Cependant, on peut aussi dire que le Python pur repose sur du C (en fin de compte, le code machine exécuté est quasi-toujours issu de GCC et consorts*: la distribution standard de Python est elle-même programmée en C).
    Le Python "pur" (c’est à dire sans bibliothèque externe en C autre que la bibliothèque standard) est certes très souvent lent par rapport à du C (et alloue des quantités de mémoire invraisemblables à fonctionnalité égale), mais justement, faire comme si les bibliothèques externes en C n’existaient pas n’a pas beaucoup de sens en pratique*: personne ne songerait à recoder TensorFlow ou Numpy en Python pur (en tout cas, pas pour mettre ce code en production ). Par contre, beaucoup de programmeurs utilisent TensorFlow avec Python et la "lenteur" de Python devient assez négligeable.

    @remi_inconnu*: on peut faire pas mal de choses impressionnantes en Python pur, c’est vrai. Cependant, si on gère des milliers d’objets en mémoire (sur lesquels on boucle, on fait des filtres ou des transformations), on arrive facilement aux limites des classes en Python sur des ordinateurs un peu âgés, alors qu’en C (avec des structures classiques) ou en C++ (avec des classes), le même applicatif tournera sans qu’on ait besoin de racheter de RAM ou de changer de CPU. Si je préfère quand même faire ces programmes en Python, c’est parce que c’est souvent plus pratique à développer. Ça m’est déjà arrivé d’avoir ce problème de performance et, à l’époque, j’avais résolu ça en remplaçant mes instances de classe par des tuples ne contenant que des types de base (aujourd’hui, j’utiliserais sûrement des namedtuples à la place).

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/02/2009, 15h57
  2. [Printemps du cinema] Les films que vous avez aimez
    Par DavidDeTroyes dans le forum Films & TV
    Réponses: 17
    Dernier message: 22/03/2007, 16h38
  3. [Vos débuts] Quel est le premier langage que vous ayez appris ?
    Par Commodore dans le forum La taverne du Club : Humour et divers
    Réponses: 171
    Dernier message: 02/02/2007, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo