Qu'est-ce que le platform engineering ?
Selon moi, le Platform Engineering est une discipline qui se concentre sur la conception, le développement et la gestion de plateformes techniques délivrant un ensemble de services et d’outils qui permettent aux développeurs de construire, déployer et gérer des applications et des services de manière efficace et évolutive.
L’équipe plateforme met alors à disposition un produit interne qui couvre les besoins opérationnels du cycle de vie d’une application, appelé “Internal Developer Platform”.
Cette plateforme englobe une multitude de technologies et d’outils, considérés comme abstraits de telle sorte que cela réduise la charge mentale des développeurs. Grâce à cette représentation abstraite des éléments, les ops peuvent garder le contrôle de leur infrastructure et de leur code, en donnant la possibilité aux développeurs de se servir eux-même, selon leurs besoins.
Quelles sont les différences entre le DevOps et le Platform Engineering ?
Le Platform Engineering et le DevOps sont deux approches différentes mais complémentaires.
Le DevOps considère que chaque équipe de développement est autonome sur la réalisation et la maintenance de son infrastructure de bout en bout, alors que le Platform Engineering abandonne cet idée et préfère mettre à disposition une plateforme clé en main, à la manière d’un PaaS interne.
Cette plateforme peut prendre la forme d’un catalogue de services exposés via une interface web, une API, ou une bibliothèque de modules (par exemple des modules Terraform) qui répondent aux cas d’utilisation les plus courants, comme la création de microservices, de base de données, etc.
Concrètement, voici les différences clé :
DevOps |
Platform Engineering |
Service à la demande ou support consistant souvent à dépiler des tickets pour débloquer l’équipe de développement | L’équipe de développement utilise la plateforme préconçue et se sert dans le catalogue en libre-service |
Chaque équipe implémente l’infrastructure à sa manière | Les équipes utilisent toute la même plateforme interne, l’infrastructure est sous contrôle |
L’équipe doit maîtriser des dizaines de technologies toujours plus complexes | La complexité est masquée derrière la plateforme interne |
A quelles limites observées du DevOps répond le Platform Engineering ?
Très souvent, les équipes n’ont pas la compétence et ni parfois l’envie de s’occuper de l’infrastructure dans les détails. Au-delà de ça, plus l’entreprise a d’équipes de développement, plus l’infrastructure devient disparate du fait d’une multiplication des méthodes et des technologies. Le Platform Engineering vient répondre à ces limites.
Comment implémenter une Internal Developer Platform (IDP) dans son organisation ?
Vous êtes tous convaincus par le Platform Engineering et avez très envie de vous lancer ? C'est déjà un bon début, maintenant découvrez pas à pas comment faire et réussir l'implémentation de votre IDP.
Dans cette vidéo, Robin partage avec vous un retour d'expérience sur la mise en place d’une IdP robuste et évolutive propulsée par la puissance de Kubernetes et son écosystème. Concrètement, apprenez :
- Un peu d'histoire : DevOps vs Platform Engineering
- Platform Engineering : l'ultime solution ?
- Le Platform Engineering peut s'adapter à toutes les structures - exemples
- REX - Conception d'une plateforme évolutive basée sur des contrôleurs Kubernetes : contexte
- REX - Conception d'une plateforme évolutive basée sur des contrôleurs Kubernetes : mise en place
- Pourquoi choisir Kubernetes ?
- Comment implémenter un contrôleur ?
- Bilan du REX
Quand une entreprise doit-elle s’intéresser au Platform Engineering ?
Il est nécessaire de concevoir une telle plateforme pour réduire la charge mentale des équipes de développements qui ont toujours plus de technologies complexes à maîtriser pour bien faire leur métier de base.
Le Platform Engineering améliore donc la productivité des ces équipes en fournissant des outils et des services qui accélèrent les cycles de développement et de déploiement. Cette productivité optimisée contribue par ailleurs à une maîtrise des coûts grâce à une exploitation plus efficace des ressources informatiques.
D’ailleurs, quelles sont les missions principales des Platform Engineers ?
Le plus souvent, les équipes de Platform Engineering assument la responsabilité de la conception, de la mise en place et de la gestion des plateformes techniques qui soutiennent les applications et les services d’une entreprise. Leurs objectifs sont :- Rendre autonomes les équipes de dev avec une plateforme en libre-service.
- Accélérer les livraisons de fonctionnalités en allégeant la charge de travail des équipes.
- Unifier les pratiques liées à l’infrastructure au sein de l’entreprise.
Quels conseils donnerais-tu à une entreprise qui se pose la question de passer au Platform Engineering ?
Le premier conseil que je donnerais à une entreprise, ce serait de commencer par bien définir les différentes équipes (infrastructure, plateforme et développeurs), leurs rôles et leurs responsabilités avant de construire son équipe de Platform Engineers.
Le deuxième serait, lors de la création de l’équipe, de bien considérer l'équipe plateforme comme une feature-team à part entière et de faire appel à un Product Owner dédié à la plateforme, qui doit être considéré comme un produit à destination des équipes de développeurs.
Pour conclure : au vu de ton expérience, cette nouvelle approche est à destination de quel type d’entreprise et pourquoi ?
Le Platform Engineering promet encore une fois de réduire le fossé entre les développeurs et les opérations. L’approche est légèrement différente et nécessite la création d’une équipe dédiée. De ce fait, ce sera surtout adapté aux grosses structures qui ont un certain nombre d’équipes de développement.
Une plus petite structure n’aura pas forcément besoin d’une équipe dédiée, si le nombre de développeurs est raisonnable et qu’elle ne rencontre pas les problèmes que le DevOps classique ne permet de résoudre.
Cette transition nécessite une adoption progressive et des architectures modernes pour en tirer pleinement parti. Vous gagnez donc à être accompagnés par des profils expérimentés dans cette réorganisation.
Robin Graillon
Platform Engineer
@Eleven Labs
Robin a commencé sa carrière en tant que Développeur PHP/Symfony. Intéressé par les pratiques DevOps, il évolue ensuite vers un poste de SRE / Platform Engineer. Aujourd'hui sa mission consiste à fournir aux équipes de développeurs les outils qui vont simplifier leur vie, les rendre autonomes et responsables de leur applicatif.
Envie d’en savoir plus sur le Platform Engineering ?
Organisons un échange !
Demander un rendez-vous