Aujourd'hui, nous assistons à un essor du DevOps grâce à l’adoption de l'ingénierie de plateforme offrant de nouveaux services pour une ère plus mature en matière de développement d'applications, et qui fournit une suite d'outils en libre-service pour autonomiser et mettre en avant les développeurs.

L'ingénierie de plateforme opère en coulisses pour offrir un catalogue de services et de composants d'infrastructure facile à utiliser et en libre-service, soutenant ainsi l'expérience quotidienne des développeurs.

Les bonnes pratiques en matière d'ingénierie de plateforme visent à aider les développeurs d'applications à s'intégrer et à développer plus rapidement en leur fournissant tout ce dont ils ont besoin pour expérimenter, coder, tester et déployer.

La plateforme mise à leur disposition s'inspire souvent des services popularisés par le cloud public et de son mode de fonctionnement. Elle est conçue pour offrir un accès instantané non seulement aux derniers outils et logiciels qui sous-tendent l'innovation, mais aussi aux données elles-mêmes, protégées par des garde-fous et des protocoles
de sécurité prédéfinis.

Dans le domaine de l'ingénierie logicielle, le concept de Golden Path vise à offrir aux développeurs un parcours fluide et optimisé via un modèle en libre-service pour les tâches courantes. Cela est rendu possible par les ingénieurs, qui fournissent aux développeurs la plateforme interne la plus simple possible et les outils nécessaires pour innover.

L'ingénierie de plateforme traite le développeur comme son client principal et offre des avantages significatifs pour le développement d'applications grâce à un accès plus facile et plus rapide aux services et aux ressources.

Les plateformes de gestion des données modernes, notamment celles construites sur des environnements conteneurisés comme Kubernetes, jouent un rôle clé dans cette évolution.

Offrir aux développeurs ce dont ils ont besoin

Lorsque le DevOps a émergé à la fin des années 2000, il a introduit des principes clés du développement agile tels que la responsabilité partagée, le retour d'information rapide et l'automatisation des flux de travail. Il exigeait une grande autonomie pour les développeurs et, en contrepartie, leur donnait les outils nécessaires pour être efficaces.

L'automatisation est l'un des principes clés du DevOps, car la rapidité des changements qu'il entraîne est incompatible avec des flux de travail impliquant
une intervention humaine.

Le mode de fonctionnement préféré des développeurs (et de nombreux spécialistes techniques comme les data scientists, les chercheurs en IA, etc.) peut souvent être résumé en trois demandes principales : l’accès instantané aux ressources, les résultats instantanés et libre-service complet.

Utiliser ces éléments comme guide pour concevoir des services destinés aux profils techniques est un excellent moyen de favoriser l'innovation et d'assurer une adoption rapide. Bien que fournir des ressources et des résultats instantanés ne soit pas toujours possible, s'en rapprocher autant que possible augmentera la satisfaction.

Kubernetes et gestion des données

La plateforme idéale pour les développeurs inclut également la gestion des données. Elle peut être construite sur Kubernetes comme moyen d'orchestrer, de déployer, de faire fonctionner et de faire évoluer des applications cloud-native, ainsi que de gérer les services de données nécessaires à ces applications.

Les capacités de gestion des données sont essentielles à l'ingénierie de plateforme, car elles permettent d’effectuer des tests dans des conditions réalistes, par exemple en utilisant une copie instantanée des données de production plutôt qu'un ensemble de données synthétiques.

Idéalement, ces fonctionnalités sont disponibles en libre-service, offrant un accès aux données de manière hautement disponible, fiable, élastique, partagée et sécurisée.

Une plateforme de données moderne, entièrement intégrée à Kubernetes, permet aux développeurs d'accéder facilement à des services de données persistantes. Ces services incluent des fonctionnalités de protection des données telles que la réplication, la sauvegarde et l'archivage.

De plus, elle facilite l'accès aux ensembles de données grâce au clonage instantané, permettant la création et la restauration immédiates de clichés en libre-service. Cela permet aux développeurs d'expérimenter des modifications et de revenir rapidement à des états antérieurs.

Ces plateformes proposent un catalogue de services de données sélectionnés qui vise à simplifier leur déploiement en quelques clics ou via un appel API unique, afin que les développeurs puissent déployer ou faire évoluer ces services de données facilement avec la configuration de stockage et de protection des données optimale.

L'Ingénierie de plateforme permet de suivre le Golden Path

Dans l'ombre, les équipes d'ingénierie de plateforme jouent un rôle crucial en ouvrant la voie du Golden Path pour les développeurs. Grâce à Kubernetes comme fondation d'orchestration, et à l'intégration fluide des conteneurs et des services de données, ces ingénieurs transforment une vision en réalité.

Ils permettent d'atteindre une agilité et une productivité sans précédent, concrétisant ainsi les promesses du DevOps avec une efficacité inégalée. Ce chemin optimisé, tracé avec précision, devient le catalyseur de l'innovation et de la performance dans le développement d'applications.

Par Gabriel Ferreira, Directeur technique France de Pure Storage