- PagerDuty /
- Blog /
- Meilleures pratiques et informations /
- Gestion des incidents pour les médias et le divertissement
Blog
Gestion des incidents pour les médias et le divertissement
Dans le monde du divertissement, la création d'applications d'entreprise implique de nombreux défis, tels que la compatibilité avec de nombreux appareils et des fichiers volumineux comme des vidéos HD, ainsi que la diffusion de médias en continu vers des millions d'utilisateurs simultanément. Mais les applications de divertissement d'aujourd'hui ne sont possibles que grâce à une approche moderne de la distribution de logiciels. DevOps apporte une plus grande efficacité dans l’ensemble du pipeline de développement.
Bien entendu, DevOps ne résout pas tous les problèmes. Le nombre de problèmes augmente avec la fréquence des versions et le nombre d'appareils pris en charge. Pour relever ce défi, les organisations ont besoin d'une gestion des incidents. La gestion des incidents ne concerne pas uniquement les problèmes de production, mais toutes les étapes du cycle de vie de l'application.
Voyons comment certaines des principales sociétés de divertissement sont les pionnières de l’approche DevOps et intègrent la gestion des incidents à chaque étape de leurs opérations.
Les microservices sont plus complexes
Netflix est un fervent partisan de l’approche DevOps, ce qui signifie naturellement qu’ils ont adopté l’architecture des microservices. Le principal avantage des microservices cité par Netflix est la rapidité et la fiabilité. Ses développeurs peuvent travailler de manière indépendante et produire des versions beaucoup plus fréquemment. De plus, comme ils sont capables de résoudre la plupart des problèmes sans l’intervention d’une équipe externe, ils peuvent intégrer la fiabilité au système.
Cela dit, les microservices présentent leurs propres défis uniques. Avec le nombre de services (et les services qui doivent communiquer entre eux), les pannes sont courantes. Il est difficile de gérer les dépendances, en particulier lorsqu'il s'agit de suivre les changements de version avec les dépendances. L'une des solutions que Netflix essaie est de suivre un « modèle monorepo ”, où le code source de l'organisation se trouve dans un référentiel unique. Cela apporte de la cohérence entre les équipes et les services.
Cependant, le défi consiste à donner aux équipes la flexibilité nécessaire pour innover de manière unique. Pour y parvenir, Netflix tente de fournir un retour d'information plus rapide aux éditeurs de services. Cela permettrait d'informer Netflix des services en aval qui ont échoué en raison d'une version, ce qui donnerait plus de responsabilité au propriétaire du code pour résoudre les problèmes plus rapidement. Netflix admet qu'il n'a pas tout compris, mais il prend néanmoins en compte tous les aspects du modèle de microservices lorsqu'il conçoit des solutions qui fonctionnent pour chaque équipe et pour l'organisation dans son ensemble.
Concevoir pour la sécurité
SoundCloud dispose d'une application pour Xbox One, mais l'expérience de connexion est très compliquée, car il est difficile de saisir du texte à l'aide d'une manette Xbox One. Pour surmonter ce défi, SoundCloud a utilisé une processus d'authentification–généré un jeton sur un autre appareil comme un smartphone et permettant à la Xbox One d'accorder l'accès à l'utilisateur si ce jeton est activé. Cette méthode est similaire à l'authentification à deux facteurs et est également utilisée par Google pour connecter ses applications sur les téléviseurs intelligents et les appareils Chromecast.
SoundCloud a dû prendre des mesures pour garantir que le processus soit à toute épreuve et non sujet aux attaques. Cela impliquait notamment d'utiliser un langage clairement reconnaissable, ainsi que des avertissements si le jeton saisi semblait suspect.
Lors de la création d'applications de divertissement, de nombreux détails doivent être pris en compte, tels que le type d'appareil, les fonctionnalités et la création de fonctionnalités sécurisées et faciles à utiliser. Lorsque vous exécutez des applications sur ces appareils, il est facile de les rendre orphelines, car elles ne constituent pas la priorité absolue. Cependant, si votre application est conçue pour un appareil ou une plateforme, vous devrez aller jusqu'au bout pour vous assurer qu'elle est entièrement compatible. C'est ce que SoundCloud démontre avec son application Xbox One.
Assurance qualité proactive
Pour en revenir à Netflix, ils sont l'un des contributeurs les plus prolifiques de la communauté open source. En ce qui concerne l'expérience utilisateur sur ses applications, Netflix crée des solutions uniques et les met en open source pour que le reste du monde puisse les utiliser. Un exemple récent est Simone , un outil de test simulé sur différents types d'appareils.
Netflix propose des applications sur de nombreux nouveaux appareils, comme les téléviseurs intelligents et les appareils mobiles. Ses applications doivent donc être certifiées pour fonctionner avec chacun d'entre eux. Cela se traduit par de nombreuses tâches répétitives pour vérifier les problèmes de compatibilité entre l'application et l'appareil. Netflix utilise Simone pour exécuter diverses simulations spécifiques à chaque appareil sur lequel l'application est testée. Il automatise la configuration, le déploiement et l'exécution des simulations.
La qualité est essentielle au succès d'une application de divertissement. Et pour garantir la qualité, vous avez besoin d'un processus d'assurance qualité mature. Qu'il s'agisse d'un outil personnalisé comme Simone ou d'un outil plus générique comme Selenium ou Appium, il est essentiel de tester vos applications sur les appareils et les plateformes sur lesquels elles s'exécutent. L'assurance qualité et la gestion des incidents vont de pair, car le meilleur moment pour détecter un bug est le plus tôt possible, avant qu'il n'entre en production. Vous préférez avoir un processus qui empêche de manière proactive les incidents de se produire plutôt que d'être obligé de les combattre après la sortie.
Sorties en fin de vie
Jetons un œil à Spotify, qui s'appuie fortement sur les conteneurs Docker et utilise son propre orchestrateur de conteneurs Hélios pour gérer ces conteneurs. Cependant, plus Spotify dépendait de Docker, plus les problèmes liés aux conteneurs Docker affectaient l'expérience utilisateur, en particulier lors de la mise à jour de Docker d'une ancienne version vers une version plus récente.
Spotify a constaté que de nombreux conteneurs conservaient encore leurs ports d'origine de la version précédente et que le trafic n'était pas acheminé vers ces conteneurs. La solution de Spotify Le projet consistait à créer un outil appelé Tsunami qui pourrait mettre en œuvre des déploiements progressifs sur une période de deux semaines. Au cours de cette phase, Tsunami a indiqué à tous les conteneurs Docker la version de Docker qu'ils devaient exécuter. Tsunami a mis en œuvre le déploiement auprès d'un sous-ensemble d'utilisateurs et, au fur et à mesure que des erreurs étaient détectées, l'équipe les a facilement gérées au cours de cette période de deux semaines.
Tsunami a rendu les déploiements beaucoup moins stressants et a amélioré l'expérience utilisateur en période de changement. Avec la livraison continue, les versions sont beaucoup plus fréquentes, ce qui rend d'autant plus important de limiter les dommages qu'elles peuvent causer. La suppression progressive au fil du temps est un excellent moyen de garantir une haute disponibilité pendant les versions. Au cours de cette phase, la gestion des incidents jouera un rôle clé, car la transition doit être surveillée et traitée. Les incidents doivent être résolus rapidement pour que la transition soit réussie.
La création d'applications dans le domaine du divertissement est pleine de défis et d'obstacles à chaque étape. Cependant, en adoptant une Approche DevOps et en développant un flux de travail de gestion des incidents solide, vous pouvez offrir une expérience utilisateur exceptionnelle et profiter du processus autant que vos utilisateurs finaux apprécient l'utilisation de votre application.