Nebulaworks a remplacé 3 de ses outils par GitLab et a ainsi permis à ses clients de gagner en rapidité et en agilité
Vous souhaitez découvrir ce que GitLab Ultimate peut offrir à votre équipe ?
En adoptant GitLab, Nebulaworks a allégé la maintenance de l'outil, réduit les frais généraux et mis en place une méthode de gestion de l'intégration continue.
Cette entreprise de conseil en ingénierie a adopté GitLab pour la gestion du code source (SCM), l'intégration et la livraison continues (CI/CD) et la gestion des tickets. Elle a par ailleurs pu renforcer ses liens avec l'équipe marketing.
Des conseils d'ingénieurs pour des ingénieurs
Nebulaworks est une entreprise de conseil en ingénierie logicielle qui fournit à ses clients des solutions innovantes pour les processus de développement et de livraison. Elle est fière de travailler avec ses clients pour créer des équipes d'ingénieurs très performantes où les membres sont incités à collaborer ouvertement, encouragés à acquérir de nouvelles connaissances et compétences, et épanouis par la résolution simple de problèmes complexes.
Nebulaworks a été fondée en 2014 par deux ingénieurs ayant constaté la nécessité de remettre en question le statu quo du développement de logiciels et de la prestation de services d'exploitation informatique au sein des grandes entreprises. Contrairement à de nombreuses entreprises de conseil et d'intégrateurs de systèmes globaux de l'époque, Nebulaworks a été conçue pour résoudre les défis complexes de l'ingénieur informatique de l'entreprise. Somme toute, une entreprise de conseil et d'intégration de systèmes créée pour des ingénieurs par des ingénieurs.
Trois outils de trop
Nebulaworks était à la recherche d'une plateforme offrant des dépôts distants pour permettre aux équipes de collaborer, quel que soit l'endroit où elles se trouvent. L'équipe de développement utilisait auparavant une instance auto-gérée d'un dépôt Git et un logiciel séparé avec tableaux pour le suivi des tickets. Son objectif ? Augmenter sa productivité et concentrer ses efforts d'ingénierie sur le développement qui aurait un impact sur l'entreprise, plutôt que de s'occuper des tâches administratives quotidiennes pour maintenir le système en ligne.
Entre frais généraux d'administration et surcroît de travail pour les ingénieurs qui utilisaient le système, son service d'intégration continue auto-géré soutenu par Kubernetes constituait une solution peu idéale.
Nebulaworks a maintenu un total de trois outils internes pendant plusieurs années. La gestion et la maintenance de ces outils représentaient un travail à temps plein pour un ingénieur, réduisant ainsi le temps consacré à l'ingénierie logicielle. La dispersion des données et des autorisations d'utilisation entraînait en outre de nombreux changements de contexte. Résultat ? Une perte de temps et des inefficacités.
Une plateforme, plusieurs fonctionnalités
Avant de renouveler la licence des trois outils internes auto-gérés existants, Rob Hernandez, Chief Technology Officer, et son équipe ont cherché à découvrir d'autres plateformes. C'est en répliquant en miroir un projet existant, en l'adaptant pour que la partie CI soit testée, puis y en intégrant toutes les structures de gestion des tickets et d'administration qu'ils ont alors testé GitLab. Le niveau d'organisation de GitLab et sa capacité à hiérarchiser les différents projets se sont démarqués de la concurrence.
« Pouvoir faire remonter tous les tickets au plus haut niveau du groupe GitLab était vraiment idéal. Nous n'aurions jamais pu le faire avec notre service Git auto-géré actuel », déclare M. Hernandez. « L'utilisation de l'outil dans le cadre de la démonstration était très intéressante. Nous avons réalisé qu'avec la hiérarchie, nous pouvions avoir des sous-groupes, et que nous pouvions répartir ces sous-groupes selon la manière dont nous organisons les projets pour un client donné. »
GitLab a permis à l'équipe de disposer d'une plateforme unique pour l'intégration CI, la gestion du code, la collaboration et la gestion des tickets, et ce, sans avoir à utiliser d'autres outils. Nebulaworks était alors à même d'offrir à ses clients une expérience de collaboration et de transparence. Favoriser une relation transparente permet de diminuer les coûts pour l'ensemble des parties en permettant une résolution plus rapide des tickets, et de réduire les risques en instaurant la confiance et en permettant aux deux parties de planifier et d'exécuter en conséquence. Avec GitLab, Nebulaworks a pu se concentrer sur les produits à livrer plutôt que sur les mises à jour et la maintenance de la chaîne d'outils.
CI, gestion du code et succès client
GitLab élimine les silos en tant que plateforme centralisée de collaboration, permettant ainsi à l'entreprise de progresser plus rapidement. L'équipe dispose désormais d'un workflow simplifié, y compris pour les tickets relatifs au code, d'une visibilité de bout en bout, d'un système de CI facilement intégré, et n'a plus besoin de passer d'un outil à l'autre en fonction du contexte.
Nebulaworks a entièrement remplacé sa pile Git interne auto-gérée par GitLab. « Nous sommes allés jusqu'à définir toutes nos ressources dans GitLab (dépôts, groupes, autorisations, etc.) à l'aide de Terraform. GitLab est ainsi modifié comme n'importe quelle autre portion de code : il suffit de soumettre une MR, de l'appliquer et de la fusionner », explique M. Hernandez. « C'est génial de voir les nouvelles recrues ajouter leurs autorisations dès le premier jour via une MR. Personne ne peut modifier quoi que ce soit au sein de notre groupe GitLab Nebulaworks autrement, et c'est très bien ainsi. ».
Nebulaworks a choisi GitLab Gold, car les fonctionnalités SaaS ont permis à l'équipe d'éteindre certaines machines sur site et de bénéficier des avantages d'une offre hébergée. GitLab alimente leurs déploiements sur Amazon Web Services (AWS), en particulier leurs charges de travail de conteneurs s'exécutant au-dessus des clusters Amazon EKS.
En passant au SaaS, l'équipe est en mesure d'optimiser son rendement et sa réactivité en tirant parti de l'infrastructure GitLab, et de se concentrer sur la fourniture de meilleurs produits aux clients. « Nous ne nous préoccupons pas des correctifs de sécurité ou de la mise à niveau vers de nouvelles versions pour de nouvelles fonctionnalités. C'est GitLab qui s'en charge », déclare M. Hernandez. « Nous nous concentrons à présent sur l'habilitation de notre équipe d'ingénierie dans son ensemble, pour tous les services et fonctionnalités dont nous avons besoin. GitLab nous permet de nous concentrer sur cette tâche plutôt que sur la maintenance ».
Comme l'équipe d'ingénieurs travaille avec de nombreux outils différents pour des clients différents, elle doit se concentrer sur l'énoncé des travaux. L'équipe mesure le succès en fonction de ce qui est livré et du temps qu'il faut pour le faire, ce qui nécessite un outil fiable qui peut fonctionner avec une variété d'autres outils. « Avec GitLab, nous livrons des clients toutes les deux semaines. Il s'agit là d'un besoin commercial. Telle est la façon dont nous souhaitons travailler. En toute simplicité et plus sereinement. Nous testons correctement les produits, nous les laissons mûrir tout au long des étapes de développement et de staging, avant qu'elles ne passent en production », déclare M. Hernandez.
L'équipe d'ingénierie de Nebulaworks n'est pas la seule à utiliser GitLab. Pour améliorer la coordination entre le marketing et le groupe d'ingénierie, l'équipe de marketing de contenu collabore dans GitLab. L'entreprise avait prévu de créer du contenu pour le bureau d'études et GitLab a fourni un moyen simple de travailler en étroite collaboration avec l'équipe d'ingénieurs pour créer du contenu de qualité. Les deux équipes utilisent les tickets et les tableaux GitLab pour communiquer, et le contenu est ajouté au site web dans les merge requests.
« Lorsque nous avons décidé d'investir dans le marketing de contenu, nous savions que nous devions trouver une solution qui permettrait au marketing et à l'ingénierie de travailler ensemble de manière transparente. La simplicité des fonctionnalités de GitLab nous a permis d'atteindre cet objectif », affirme Anne Lin, Marketing and Brand Manager. « L'équipe marketing a rapidement adopté le workflow de l'équipe technique en tirant parti de la gestion des tickets, des tableaux Kanboard et des merge requests pour collaborer à la production de contenu. En exploitant le même workflow de travail, les deux équipes ont pu instaurer la confiance et améliorer la visibilité de leur travail respectif ».
L'utilisation de GitLab permet aux équipes de travailler de manière asynchrone. Le télétravail est au choix de l'employé chez Nebulaworks. L'entreprise ayant pleinement adopté ce mode de travail, les employés peuvent collaborer facilement. « Nous n'avons pas perdu le rythme. Que ce soit dans notre collaboration avec les clients ou dans la gestion des projets, notre flux de travail est resté inchangé », déclare Patrick Collins, VP et Sales and Customer Success. « La mise en place de ce processus a été un véritable succès. Nous sommes passés d'une équipe majoritairement au bureau à une équipe entièrement à distance. »
À la date de publication, toutes les informations et les personnes mentionnées dans l'étude de cas sont exactes.