Gestion de la haute disponibilité chez Intercom
Publié: 2022-05-06Intercom est une entreprise axée sur les produits, axée sur la maximisation de l'innovation et de la vitesse de développement des produits.
Cela signifie également que nous nous tenons à des normes opérationnelles élevées : minimiser les coûts, résoudre rapidement les problèmes de qualité qui surviennent dans les produits existants et atténuer les risques de sécurité.
Le fondement de notre santé opérationnelle est la disponibilité. Sans une disponibilité solide comme le roc, rien d'autre n'a d'importance. Pour accomplir notre mission de rendre l'activité Internet personnelle et évolutive pour prendre en charge des clients de plus en plus importants, nous avons investi de manière continue, réfléchie et prudente dans notre personnel, nos systèmes et nos processus afin de maintenir les normes élevées de disponibilité d'Intercom.
"Le secret du succès d'Intercom dans ce domaine est simple : des années de travail culturel, organisationnel et d'ingénierie cohérent, minutieux et à multiples facettes"
Le secret du succès d'Intercom dans ce domaine est simple : des années de travail d'ingénierie culturelle, organisationnelle, système et logicielle cohérent, minutieux et à multiples facettes. C'est pourquoi nos clients, des petites startups aux grandes entreprises complexes, nous font confiance.
Voici comment nous procédons.
La disponibilité est ancrée dans notre culture
Le rôle que chaque employé d'Intercom joue dans le soutien de la disponibilité est ancré profondément dans notre culture. Pour les équipes d'ingénierie, mettre le code en production le plus rapidement possible en petits lots nous permet d'apprendre et d'itérer.
Plutôt que de ralentir nos ingénieurs, nous investissons dans des systèmes et construisons une culture autour de ce que signifie construire rapidement et en toute sécurité. Nous formons nos ingénieurs à ces politiques et processus tout au long de leur carrière chez Intercom, de l'intégration des employés aux évaluations des performances. Ce ne sont pas seulement des modifications de code isolées qui sont expédiées en toute sécurité, l'ensemble de notre processus de livraison de logiciels vise à garantir qu'à chaque étape, nous construisons des produits fiables et évolutifs par défaut.
"Notre ensemble d'outils d'observabilité est de classe mondiale et permet à chaque ingénieur de l'entreprise de comprendre, dans les moindres détails, comment le code qu'il fournit se comporte dans un environnement de production"
Notre ensemble d'outils d'observabilité est de classe mondiale et permet à chaque ingénieur de l'entreprise de comprendre, dans les moindres détails, comment le code qu'il livre se comporte dans un environnement de production. Malgré toutes nos meilleures intentions, cependant, certaines modifications de code causeront inévitablement des problèmes. C'est pourquoi nous investissons également dans des mécanismes qui nous permettent de résoudre les problèmes encore plus rapidement que nous ne les déployons.
Nous construisons des bases techniques solides
Nous construisons exclusivement avec un très petit nombre de technologies dans le cadre de notre pile, soutenus par une équipe d'activation spécifique « technologies de base ». Nous avons développé une expertise approfondie dans ces technologies au fil du temps, et nos choix d'architecture et nos modèles de mise en œuvre sont simples et éprouvés. Cela signifie que nous savons ce que signifie concevoir et construire pour la fiabilité, avec des solutions qui ont fait leurs preuves à grande échelle.
"Nous investissons dans la construction et la maintenance de systèmes et d'outils partagés qui sous-tendent notre capacité à expédier du code en toute sécurité et à récupérer rapidement en cas de problème"
À l'aide de ces technologies de base, nous investissons dans la création et la maintenance de systèmes et d'outils partagés qui sous-tendent notre capacité à expédier du code en toute sécurité et à récupérer rapidement en cas de problème.
Ce type d'automatisation nous donne la possibilité de déployer des modifications sur un petit pourcentage du trafic client, ou sur un ensemble spécifique de clients, afin de comprendre son impact. Nous pouvons facilement activer ou désactiver l'accès de n'importe quel client à une fonctionnalité, ce qui est une capacité utile en cas d'incident. Nous pouvons également récupérer en choisissant simplement d' appuyer sur le bouton pour « revenir » à une version de travail sûre du code – en moins de cinq minutes.

Nous entretenons des relations très étroites avec notre principal fournisseur d'infrastructure cloud, Amazon Web Services (AWS), afin d'évaluer conjointement en permanence la robustesse de notre plate-forme d'infrastructure et de comprendre s'il existe des opportunités d'évolution et de renforcement supplémentaire de notre fiabilité.
Nous gérons les risques et réagissons instantanément lorsque les choses tournent mal
Une partie de la stratégie du programme vise à identifier, hiérarchiser et atténuer les risques qui menaceraient notre disponibilité. Au sein de l'organisation d'ingénierie, nous avons un gestionnaire de programme technique de disponibilité (TPM) dédié qui pilote un programme intercom dédié au renforcement et à la protection continus de notre disponibilité.
"L'équipe du programme travaille avec les responsables de l'ingénierie pour comprendre en profondeur tous les risques auxquels nous sommes confrontés"
L'équipe du programme travaille avec les responsables de l'ingénierie pour bien comprendre tous les risques auxquels nous sommes confrontés. Ces éléments sont ensuite classés par ordre de priorité en tant qu'éléments d'entrée des feuilles de route d'ingénierie, le TPM aidant à garantir que le travail est effectué dans les délais.
Lorsque nous rencontrons un incident affectant nos clients, nos vastes plateformes de surveillance et d'alarme le détectent presque instantanément, et notre processus de réponse aux incidents se met en marche. Nos clients sont véritablement mondiaux, ce qui signifie que nous les soutenons avec une assistance continue 24h/24 et 7j/7 en matière d'ingénierie et de gestion des incidents.
Nos intervenants d'urgence sont en ligne et répondent quelques minutes après avoir été appelés, rejoints par un commandant d'intervention. L'objectif immédiat du commandant est de minimiser l'impact sur les clients, et il coordonne l'ensemble de l'effort, y compris l'identification des problèmes, le triage, les communications et la résolution. Il s'agit d'un processus hautement discipliné et organisé, soutenu par des rôles et des principes de fonctionnement très bien définis.
"Généralement, nous résolvons ces incidents en quelques minutes, en publiant des mises à jour sur notre page d'état tout en travaillant simultanément pour rétablir le service à la normale"
En règle générale, nous résolvons ces incidents en quelques minutes, en publiant des mises à jour sur notre page d'état tout en travaillant simultanément à la restauration du service. La reprise du service normal n'est certainement pas le point final pour nous. Un élément clé de notre processus de gestion des incidents est l'examen des incidents, où nous approfondissons les causes et les facteurs contributifs d'un incident et recherchons des enseignements.
Dans un forum ouvert interne, nous réfléchirons sur ce que nous aurions pu faire mieux et proposerons des actions à court terme ainsi que des changements stratégiques à plus long terme. Cette réunion est l'une des plus bénéfiques pour nous : un rappel qu'être vraiment grand nécessite un dévouement à l'amélioration continue.
Ce que notre souci de la disponibilité signifie pour nos clients
Notre engagement envers le succès de nos clients signifie qu'une disponibilité à toute épreuve est indispensable. Notre approche holistique nous a permis de dépasser considérablement notre objectif de disponibilité de 99,8 % pendant plusieurs années, offrant une plate-forme de croissance à laquelle tous nos clients peuvent faire confiance.
Il s'agit du deuxième d'une série de contenus plongeant dans les investissements d'Intercom dans le soutien aux entreprises. Découvrez les autres articles de la série.