Blog

Gestion des incidents pour les médias et le divertissement

par Twain Taylor 26 juin 2018 | 6 minutes de lecture

Dans le monde du divertissement, la création d'applications d'entreprise présente de nombreux défis, comme la compatibilité avec de nombreux appareils et des fichiers volumineux comme les vidéos HD, ainsi que la diffusion multimédia en continu à des millions d'utilisateurs simultanément. Mais les applications de divertissement actuelles ne sont possibles que grâce à une approche moderne de la distribution logicielle. DevOps apporte une plus grande efficacité dans l'ensemble du pipeline de développement.

Bien sûr, DevOps ne résout pas tous les problèmes. Leur nombre 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. 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 explique naturellement l'adoption de l'architecture microservices. Les principaux avantages des microservices cités par Netflix sont la rapidité et la fiabilité. Ses développeurs peuvent travailler de manière autonome et produire des versions beaucoup plus fréquemment. De plus, comme ils peuvent résoudre la plupart des problèmes sans intervention d'une équipe externe, ils peuvent accroître la fiabilité du système.

Cela dit, les microservices présentent des défis spécifiques. Compte tenu du nombre de services, et de la nécessité pour ces services de communiquer entre eux, les pannes sont fréquentes. Gérer les dépendances est un véritable défi, notamment pour suivre les changements de version. Netflix s'efforce notamment de suivre une stratégie de « dépendance ». modèle monorepo ”, où le code source de l'organisation est regroupé dans un référentiel unique. Cela assure 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 s'efforce de fournir un retour d'information plus rapide aux éditeurs de services. Cela permettrait d'indiquer à Netflix les services en aval défaillants suite à une mise à jour, renforçant ainsi la responsabilité du propriétaire du code pour corriger les problèmes plus rapidement. Netflix admet ne pas avoir tout compris, mais prend néanmoins en compte tous les aspects du modèle de microservices pour concevoir des solutions adaptées à chaque équipe et à l'organisation dans son ensemble.

Concevoir pour la sécurité

SoundCloud propose une application pour Xbox One, mais la connexion était très complexe, car il était difficile de saisir du texte avec une manette Xbox One. Pour surmonter ce problème, SoundCloud a utilisé une processus d'authentification–généré Un jeton sur un autre appareil, comme un smartphone, permettant à la Xbox One d'accorder l'accès à l'utilisateur si ce jeton est activé. Cette méthode, similaire à l'authentification à deux facteurs, est également utilisée par Google pour connecter ses applications aux téléviseurs intelligents et aux appareils Chromecast.

SoundCloud a dû prendre des mesures pour garantir la sécurité du processus et le protéger des attaques. Cela incluait l'utilisation d'un langage clair et reconnaissable, ainsi que des avertissements si le jeton saisi semblait suspect.

Lors de la création d'applications de divertissement, de nombreux détails sont à prendre en compte, comme le type d'appareil, les fonctionnalités et la sécurité et la simplicité d'utilisation des fonctionnalités. L'exécution d'applications sur ces appareils peut facilement les rendre orphelines, car elles ne constituent pas la priorité absolue. Cependant, si votre application est conçue pour un appareil ou une plateforme spécifique, vous devrez tout mettre en œuvre pour garantir sa compatibilité totale. C'est ce que SoundCloud démontre avec son application Xbox One.

AQ proactive

Pour en revenir à Netflix, l'entreprise compte parmi les contributeurs les plus prolifiques de la communauté open source. En matière d'expérience utilisateur sur ses applications, Netflix crée des solutions uniques et les met en open source pour le reste du monde. Un exemple récent : 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. Ces applications doivent être certifiées pour fonctionner avec tous ces appareils. Cela implique 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. Ce logiciel automatise la configuration, le déploiement et l'exécution des simulations.

La qualité est essentielle au succès d'une application de divertissement. Pour garantir cette qualité, un processus d'assurance qualité éprouvé est nécessaire. Qu'il s'agisse d'un outil personnalisé comme Simone ou d'un outil plus générique comme Selenium ou Appium, tester vos applications sur les appareils et plateformes sur lesquels elles fonctionnent est essentiel. L'assurance qualité et la gestion des incidents sont indissociables, car le meilleur moment pour détecter un bug est tôt, avant qu'il n'entre en production. Il est préférable d'avoir un processus qui prévient proactivement les incidents plutôt que d'être obligé de les résoudre après la sortie.

Sorties progressivement abandonnées

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, notamment lors de la mise à jour de Docker d'une ancienne version vers une nouvelle.

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 L'objectif était de développer un outil appelé Tsunami, capable de déployer progressivement le projet sur une période de deux semaines. Durant cette phase, Tsunami a indiqué à tous les conteneurs Docker la version de Docker à utiliser. Tsunami a déployé le déploiement auprès d'un sous-ensemble d'utilisateurs, et les erreurs détectées ont été facilement gérées par l'équipe pendant ces 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 des versions est un excellent moyen de garantir une haute disponibilité lors des versions. Durant 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 secteur du divertissement est semée d'embûches et de défis à 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.