LMi-MAG 7 Juin 2021 - Flipbook - Page 29
décuplé, et l’architecture monolithique a considérablement ralenti la livraison de nouvelles fonctionnalités »,
reconnait le responsable. Au final, il constate, « la gestion
des problèmes de production est devenue une corvée
coûteuse qui a imposé une dette technique à tous les développeurs car le code de l’infrastructure était mélangé
au code de l’application ». Il était donc nécessaire de
remplacer l’ancien système.
tente et peuvent fonctionner sur des dizaines de milliers
de conteneurs différents. Cosmos dispose ainsi de trois
sous-systèmes : Optimus qui va gérer la couche API,
Plato pour s’occuper de la couche workflow et Stratum
pour la couche serverless et les appels aux fonctions
de calcul intensif. Pour conclure, Franck San Miguel
indique dans le blog, « nous avons trouvé que les microservices déclenchant des flux de travail orchestrant
des ressources serverless » sont un paradigme puissant.
Un service Cosmos type
Les trois strates des services Cosmos
RELEASE AUTOMATION,
DÉPLOIEMENT AUTOMATIQUE
D’APPLICATIONS,
IMPLÉMENTATION DEVOPS
Le blog donne quelques
indications sur les services attendus par la
p l a t e fo r m e C o s m o s .
Cahier des charges
Premier élément important, Franck San Miguel
précise qu’un « service
Cosmos n’est pas un microservice, mais il y a des
similitudes ». Pour lui,
cutt.ly/automation-devops
un microservice classique se définit comme
« une API avec un business logic stateless qui est automatiquement dimensionnée en fonction de la charge
de la demande, elle fournit des contrats solides avec
ses pairs tout en séparant les données d’application et
les dépendances binaires des autres systèmes ». Dans
le cadre de service Cosmos, « il garde les contrats solides, et la séparation des données et des dépendances
d’un microservice, mais en ajoutant à plusieurs étapes
des ressources serverless asynchrones de workflow et
de calcul intensif », observe le développeur.
Dans le détail, il souligne que, dans un service Cosmos,
« les clients envoient des requêtes à une API de service
d’encodage vidéo. Un ensemble de règles orchestrent les
différentes étapes des workflow et plusieurs fonctions
serverless alimentent des algorithmes spécifiques. Ces
fonctions sont encapsulées sous forme d’images Docker
et apportent leurs propres dépendances dédiées aux
médias (par exemple des paquets Debian). Elles sont
mises à l’échelle en fonction de la taille ou de la file d’at-
Netflix a commencé à travailler sur Cosmos en 2018,
l’a utilisé en production dès 2019 et y a recours maintenant pour environ 40 services. En 2021, la migration de
Reloaded vers Cosmos va être accélérée.
APPROFONDIR
ÉCOUTER EN LIGNE
Podcast
cutt.ly/netflix-podcast
LIRE EN LIGNE
Article
cutt.ly/netflix-article
29