Infrastructure à grande vitesse : 5 leçons tirées de la construction d'Intercom en Europe

Publié: 2022-05-06

En décembre, nous avons annoncé l'hébergement de données européen, le résultat de l'un des plus grands projets d'infrastructure jamais réalisés par Intercom. Les leçons que nous avons apprises lors de la construction de l'infrastructure sont inestimables alors que nous continuons à développer Intercom à l'échelle mondiale - depuis avril 2022, nous hébergeons également Intercom en Australie.

Jusqu'à présent, Intercom était une application mutualisée hébergée dans une seule région d'AWS. Cependant, nous parlions depuis longtemps avec nos clients et prospects d'un hébergement de données européen, nous savions ce que nous devions livrer et le problème que nous devions résoudre : Intercom, mais avec des données stockées et traitées en Europe.

Ce que nous savions - et ce que nous ne savions pas

Nous avons commencé avec beaucoup de « connus connus » ; problèmes que nous savions devoir résoudre, tels que les déploiements de logiciels multirégionaux. Nous avons également identifié quelques « inconnues connues » ; des problèmes que nous devions résoudre, mais nous ne savions pas encore comment, comme intégrer la nouvelle région dans notre système de facturation. Nous étions également sûrs qu'il y avait beaucoup d'"inconnus inconnus" qui attendaient d'être découverts. Ces inconnues inconnues rendaient difficile l'estimation de la durée du projet ou du nombre de personnes que nous aurions besoin d'y consacrer. La portée était trop large pour être comparée à d'autres projets ou travaux que nous avions entrepris dans le passé, et le chemin vers le succès n'était pas clair.

Une chose que nous avons faite très tôt a été de parler à des équipes d'entreprises similaires qui avaient déjà entrepris ce type de projet. Dans de nombreux cas, ces projets s'étaient avérés être parmi les plus importants que ces entreprises aient jamais entrepris, prenant la majorité de leur équipe d'ingénieurs plus de six mois pour terminer.

"Nous étions réticents à ralentir nos équipes de R&D au milieu d'une pandémie - nous avons donc construit notre plan de projet pour refléter la façon dont nous aimons travailler chez Intercom"

Certaines entreprises sont allées jusqu'à réinventer leur architecture dans le processus. Nous étions réticents à apporter des changements de cette ampleur et à ralentir nos équipes de R&D (en pleine pandémie !), nous avons donc construit notre plan de projet pour refléter la façon dont nous aimons travailler chez Intercom.

Cela signifiait aller vite, malgré l'ampleur du projet. Agir rapidement tout en optimisant à long terme , ainsi que l'utilisation de notre principe "expédier rapidement, expédier tôt, expédier souvent" nous ont aidés non seulement à faire décoller le produit, mais aussi à le livrer à nos clients plus tôt que prévu. pour.

Leçon n°1 : Commencez simplement à construire – vite

Notre dévouement à aller vite nous a amenés à notre première leçon et à la décision qui a vraiment débloqué le début de ce projet. Dans un récent podcast Intercom on Product , notre co-fondateur Des a parlé de ce vieux mème de la courbe en cloche Jedi et de la façon dont il s'applique souvent à la vitesse des startups. La plupart des startups traversent l'étape « installer plus de processus » jusqu'à ce qu'elles réalisent enfin qu'elles ont juste besoin d'aller aussi vite que possible. Utiliser la vitesse et l'agitation allait nous aider à comprendre ces "inconnues inconnues" et à trouver des solutions au fur et à mesure que nous les rencontrions.

Et donc notre ancien CTO et co-fondateur Ciaran Lee a décidé que nous allions juste commencer. Nous allions commencer à construire et aller très, très vite, avec une petite équipe ad-hoc dédiée au projet - avec l'aide qu'il était tout à fait acceptable d'échouer.

"Être autorisé à échouer a transformé notre approche du projet"

Si notre approche ne fonctionnait pas, nous obtiendrions des enseignements précieux qui nous permettraient de planifier quelque chose qui pourrait fonctionner à l'avenir. Dans le meilleur des cas, nous construirions rapidement quelque chose qui fonctionnerait suffisamment bien pour que nous puissions commencer à trouver comment le mettre entre les mains de nos clients. Être autorisé à échouer a transformé notre approche du projet et nous a permis de commencer à avancer. Au lieu d'essayer d'anticiper les problèmes et de regarder vers l'avenir pour garantir le succès dès le départ, nous avons simplement commencé à construire jusqu'à ce que nous rencontrions un problème, puis avons trouvé une solution.

Il est également important de noter que nous ne construisions pas de prototypes qui pourraient ensuite être utilisés comme blocs de construction pour une implémentation complète ultérieure - nous construisions la vraie chose, en découvrant les choses au fur et à mesure. L'élan que nous avons maintenu en conséquence s'est avéré essentiel à la réussite du projet.

Leçon n°2 : Respectez vos principes

Une fois que nous avons commencé à construire, nos principes d'ingénierie nous ont aidés à continuer à avancer rapidement. Il y avait de nombreuses façons de construire Intercom en Europe, y compris en réinventant notre architecture, mais conformément à notre principe " Soyez techniquement conservateur ", nous avons choisi d'adopter la même approche que celle que nous avions utilisée pour développer l'environnement de production existant.

"Nous n'avons pas simplement copié et collé, nous avons plutôt réduit et simplifié"

Nous n'avons introduit pratiquement aucun nouveau logiciel, service ou approche dans notre développement en Europe. Dans le même temps, nous avons considérablement simplifié notre architecture, en prenant des éléments de notre infrastructure américaine et en les réutilisant dans notre nouvel environnement d'une manière beaucoup plus facile à utiliser. Nous ne nous sommes pas contentés de copier-coller, nous avons plutôt réduit et simplifié, en nous alignant sur notre principe « Keep it simple ».

Leçon n°3 : Contournez les règles lorsque vous en avez besoin

Nous devions permettre une grande flexibilité autour de nos processus de planification et de nos structures d'équipe pour que ce projet soit doté en personnel et lancé, en contournant les "règles" tout en veillant à tenir tout le monde informé de ce que nous faisions. Nous avons constitué une équipe de projet ad hoc comprenant des ingénieurs expérimentés issus d'équipes existantes pour commencer à travailler sur le projet.

Bien sûr, il y a eu des conséquences à cette décision : les équipes étaient à moindre capacité ; les membres du projet devaient chevaucher plusieurs standups quotidiens ; et d'autres projets ont dû être dépriorisés. Cela ne pourrait jamais être notre approche par défaut pour tous les projets, mais lorsque nous savions ce que nous devions réaliser et que nous voulions commencer tout de suite, il était logique de contourner respectueusement nos processus en faveur du progrès.

Leçon n° 4 : Gardez le travail aussi local que possible

C'est peut-être la décision la plus importante que nous ayons prise pour faire avancer le projet rapidement. Bien que nous ayons touché toutes les parties d'Intercom dans le cadre du projet, nous avons décidé de ne pas travailler sur plusieurs équipes et de conserver autant de travail que possible au niveau local pour notre équipe de projet ad hoc. En plus d'éviter des processus de planification plus larges, cela signifiait que nous n'avions pas à demander à nos équipes R&D de faciliter le déploiement de nos fonctionnalités en Europe. Nous avons évité d'innombrables réunions, documents et messages Slack en faisant simplement le travail nous-mêmes comme approche par défaut.

"Nous avons assumé la responsabilité du problème et nous nous sommes donné les moyens de progresser sur celui-ci"

Nous avons assumé la responsabilité du problème et nous nous sommes donné les moyens de progresser sur celui-ci, en minimisant le coût global pour Intercom en minimisant les perturbations pour les équipes qui ne travaillent pas sur Project Europe. À plusieurs reprises, nous avons dû demander de l'aide à des personnes compétentes et nous avons causé quelques surprises à certaines équipes, mais dans l'ensemble, cette approche a été couronnée de succès.

Leçon n° 5 : Gardez des échéanciers flexibles

Après avoir construit l'infrastructure et assuré qu'Intercom Europe était opérationnel, nous sommes passés à une autre phase du projet et avons travaillé avec plusieurs équipes d'Intercom pour coordonner le lancement auprès des clients.

Nos bloqueurs de lancement étaient en grande partie nos propres processus internes et plusieurs intégrations orientées client que nous ne considérions pas comme essentielles au lancement. Nous nous sommes donc demandé si nous pouvions simplement lancer sans la capacité de WhatsApp et combler ces lacunes au fur et à mesure ? Qu'est-ce qui nous retenait vraiment ?

"En examinant le calendrier et en évaluant ce qu'il restait à faire, nous avons pensé que nous pourrions reporter le lancement à décembre"

Notre plan de projet avait un lancement en janvier, mais en examinant le calendrier et en évaluant ce qu'il restait à faire, nous avons pensé que nous pourrions le reporter à décembre. Nous avions besoin de l'aide du support client, des ventes, de l'analyse, du marketing, du service juridique, de la R&D et d'autres, mais tout le monde s'est mobilisé pour aller vite.

Nous avons un canal Slack qui montre quand notre équipe de vente conclut des affaires avec des clients utilisant la plate-forme, générant des revenus réels pour Intercom. La récompense de la lutte pour l'adoption dans ces dernières étapes devient claire dans ce canal - elle aggrave la valeur de tout le travail que nous avons fait pour en arriver là. Il aurait été beaucoup plus facile de suivre notre calendrier existant, mais en nous poussant, nous avons réussi à le mettre entre les mains des clients un mois plus tôt que prévu.

Nos apprentissages nous aideront à continuer à avancer plus vite

Cela a été un projet passionnant sur lequel travailler - je suis fier du travail que nous avons accompli et du fait que nous avons minimisé l'impact du projet sur les équipes d'Intercom. Il y a encore beaucoup de travail en cours, mais les enseignements que nous avons tirés de l'expérience ont été inestimables alors que nous construisons notre hébergement australien et que nous continuons à développer des infrastructures dans d'autres juridictions.

En savoir plus sur l'hébergement de données européennes avec Intercom