Aller au contenu principal
Retour au blogue

Productivité et plus

Créer de la valeur pour nos clients grâce à l'ingénierie de plateforme

Alizée Gottardo
20 oct. 2022 ∙ 7 mins
Équipe de Nantes Osedea en train de travailler au bureau

Qu'est-ce que «l'ingénierie de plateforme» ?

L'ingénierie de plateforme est la discipline qui consiste à concevoir et construire des ensembles d'outils de programmation (appelés toolchains) et des flux de travail (séquences d'étapes nécessaires pour accomplir une tâche) pour les développeurs. Essentiellement, les ingénieurs de plateforme écrivent du code pour faciliter la connexion entre le matériel et les logiciels, de manière à ce que tout fonctionne. Cela permet aux entreprises de développement de logiciels à l'ère du cloud natif de disposer de fonctionnalités libre-service.

Comment l'ingénierie de plateforme permet de créer de la valeur pour le client

L'ingénierie de plateforme est en plein essor, notamment pour les entreprises de développement de logiciels en pleine croissance telle que la nôtre. Nous avons créé notre équipe d'ingénierie de plateforme en avril 2020 pour accélérer la livraison et alléger la charge de notre équipe DevOps. La principale mission de cette équipe consiste à standardiser nos pratiques afin d'améliorer la fiabilité, la qualité et la sécurité. Elle vise également à faciliter le quotidien des développeurs par la mise en place de processus, d’outils et de méthodologies soutenant le cycle de développement logiciel.

Nos développeurs se concentrent sur les fonctionnalités les plus utiles pour le client et leurs utilisateurs finaux. Nos ingénieurs de plateforme les aident à rester sur la bonne voie en créant des automatisations pour autant de tâches que possible, notamment les tâches répétitives ou qui ne sont pas directement liées au domaine du projet.

Même si c'est un travail en coulisses, nous savons que notre travail d'ingénierie de plateforme bénéficie chaque projet sans alourdir les autres développeurs avec des tâches qui ne sont pas liées au domaine.

- Evan, membre de l'équipe d'ingénierie de plateforme

Qu'est-ce que cela signifie pour le client ? Une livraison accélérée, un produit de qualité supérieure et un retour sur investissement plus rapide.

Vous le construisez, vous le gérez

Initialement formulé en 2006 par Werner Vogels, le directeur technique d'Amazon, le principe du « vous le construisez, vous le gérez » est devenu l'un des piliers du mouvement DevOps. Nous adhérons à ce principe et, ce faisant, chaque développeur de notre entreprise pratique (ou du moins travaille en vue de pratiquer) un développement « full cycle ». Cela signifie qu'un développeur doit être capable (par lui-même) de mettre en place ou d'ajuster l'infrastructure pour une fonctionnalité. De cette façon, nos développeurs sont autonomes et responsables de ce qu'ils produisent.

Cependant, cette méthode comporte aussi son lot de défis car elle nécessite que les développeurs modifient leur manière de penser (passer du développement du code à la configuration des services/infrastructures cloud) et qu’ils acquièrent des connaissances sur chaque service cloud afin de déterminer lequel conviendra le mieux aux besoins de leur application. Se familiariser avec l'infrastructure est beaucoup plus facile lorsque le développeur dispose d'un encadrement et d'outils prêts à l'emploi.

\

Objectifs de l'ingénierie de plateforme

En pratique, l'équipe d'ingénierie de plateforme a plusieurs objectifs :

  • Fournir et maintenir des outils permettant de configurer, déployer, gérer et maintenir l'infrastructure
  • Tester de nouvelles technologies, découvrir de meilleures alternatives et de nouveaux domaines d'amélioration.
  • Former les développeurs aux sujets liés au DevOps et aux outils internes qu'ils ont mis en place.
  • Participer à la conception d’architectures d'infrastructure pour des projets plus complexes, en agissant en tant que consultants temporaires.

Les éléments essentiels à considérer pour une ingénierie de plateforme réussie

Les ingénieurs de plateforme font preuve d'un travail acharné, d'un dévouement et d'une véritable passion pour l'infrastructure. Ils sont animés par le désir d'améliorer l'entreprise dans son ensemble, en soutenant leurs collègues dans le travail et en suivant l'évolution des projets de nos clients.

Contrairement à d'autres entreprises de développement de logiciels, les développeurs chez Osedea ne sont pas rattachés à une équipe spécifique. Ils travaillent sur des projets clients et peuvent faire partie de plusieurs équipes transversales. Dans ces cas, ils disposent de temps dédié à leur équipe et d'une charge de travail adaptée, répartissant leur temps entre les projets internes et le travail qu’ils effectuent pour les clients.

Nos succès et nos étapes importantes

Depuis le printemps 2020, notre équipe d'ingénierie de plateforme a franchi plusieurs étapes importantes et a célébré plusieurs succès.

Modules Terraform spécifiques à Osedea

Un projet majeur sur lequel notre équipe a travaillé a été la mise en œuvre de modules Terraform pour l’entreprise. Terraform est un outil logiciel open-source d'infrastructure en tant que code qui vous permet de créer, modifier et améliorer en toute sécurité et de manière prévisible l'infrastructure. Avoir nos propres modules Terraform nous permet de créer des services d'infrastructure avec des paramètres prédéfinis qui sont souvent utilisés pour ne pas avoir à réinventer la roue pour chaque nouveau projet. De nouveaux modules sont régulièrement créés et les modules existants sont maintenus à jour.

Infrastructures sur mesure

L'équipe d'ingénierie de plateforme travaille également sur des solutions personnalisées pour des problèmes uniques, en aidant à identifier le problème et en proposant et mettant en œuvre des solutions. Par exemple, l'équipe a aidé à mettre en place le service AWS Step Functions pour un projet qui utilisait auparavant les fonctions AWS Lambda et qui ne répondaient plus aux besoins complexes du projet en termes de flux de travail. Dans un autre projet, l'équipe a co-conçu l'infrastructure d'une application utilisant le service Azure OCR et des fonctions sans serveur pour traiter et analyser des documents administratifs.

Succès quotidiens

L'équipe d'ingénierie de plateforme célèbre même les petites victoires, comme aider un développeur junior à configurer son infrastructure pour la première fois. Cela signifie que l'apprentissage des opérations et de l'infrastructure chez Osedea est en constante croissance et que nos développeurs juniors seront capables de transmettre ces connaissances à leurs coéquipiers à l'avenir.

Les améliorations en cours

  • En accord avec notre objectif de rendre l’ensemble de nos développeurs « full cycle », l'équipe d'ingénierie de plateforme s'efforce en permanence de familiariser tout le monde avec l'infrastructure. Deux ateliers sont prévus cette année pour améliorer les compétences de l'équipe. Nous sommes actuellement en train de créer de nouveaux modules Terraform permettant de rapidement configurer les services Azure pour l'ensemble de l'organisation. L'objectif est de les présenter à l'équipe avec une documentation et des exemples pour faciliter la création de services Azure.
  • Parallèlement, les membres de l'équipe d'ingénierie de plateforme continuent de perfectionner leurs propres compétences. Chacun d'entre eux est tenu de passer les certifications AWS et/ou Azure Cloud Architect afin que les développeurs aient plus d'options lors du choix de fournisseurs.
  • En règle générale, l'équipe veille à attribuer des tâches aux membres qui ne sont pas encore experts dans le domaine afin que chacun puisse s'améliorer.

Qu’est-ce qu’il y a de passionnant à faire partie de cette équipe ?

En fin de compte, faire partie de l'équipe d'ingénierie de plateforme est un excellent moyen de travailler sur les dernières technologies. L'équipe essaie constamment des outils émergents pour voir s'ils sont de meilleures alternatives à ce que nous utilisons. Les membres de l'équipe présentent leurs dernières découvertes lors de nos sessions internes Lunch & Learn et lors d'événements publics. Par exemple, notre ingénieur en plateforme Bradley Campbell a donné une excellente présentation lors de la journée CDK 2022 sur l'organisation du code avec CDKTF.

Nous pouvons objectivement dire que les membres de notre équipe d'ingénierie de plateforme sont régulièrement félicités pour leur soutien sur les projets internes qu'ils mettent en œuvre et pour les efforts qu’ils déploient.

Sur quoi travaillons-nous actuellement ?

Comme mentionné précédemment, nous avons investi dès le début dans CDKTF (Cloud Development Kit for Terraform), qui permet d'utiliser des langages de programmation familiers pour définir et mettre en place l'infrastructure. Nous sommes déjà impressionnés par ses capacités.

En plus d'AWS, nous commençons à utiliser Azure plus fréquemment. Nous acquérons progressivement une solide connaissance à ce sujet et nous prévoyons développer nos propres outils internes pour faciliter sa gestion.

Parmi nos prochains ateliers, il y en aura un dédié à Terraform et à la familiarisation de l'équipe avec l'utilisation des modules spécifiques à Osedea. Et parce que l'équipe est toujours curieuse et désireuse d'essayer de nouvelles choses, nos ingénieurs en plateforme ont désormais l'habitude de tenir leurs réunions en réalité virtuelle avec Horizon (la plateforme de réunions virtuelles de Meta) toutes les deux semaines.

Si vous souhaitez accélérer les délais de livraison, améliorer la qualité de votre produit et obtenir un retour sur investissement plus rapide, contactez-nous pour votre prochain projet !

Réunion en réalité virtuelle chez Osedea
Réunion en réalité virtuelle chez Osedea