Alors que de plus en plus d'entreprises se tournent vers le cloud computing, la compétence consistant à savoir comment approvisionner et configurer un serveur physique est de moins en moins pertinente pour la création et le déploiement de logiciels cloud natif. Dans un univers IT de plus en plus complexe axé sur les logiciels, où l'infrastructure informatique n'est souvent ni vue ni entendue, il est impératif de pouvoir approvisionner et gérer cette infrastructure à l'aide de code déclaratif, plutôt que de configurations manuelles ou même de scripts, pour exécuter des applications à l'échelle du cloud.

Fondée en mars 2017 à Seattle, la start-up Pulumi aide les entreprises à mieux orchestrer leurs services cloud et leurs applications SaaS en assurant le déploiement et le contrôle de cette activité sur les infrastructures disponibles, en local ou dans le cloud. « Pulumi est un projet open source (SDK Apache-2.0 license) pour l’Infrastructure as Code, combiné à un produit d'entreprise pour ce que nous appelons l'ingénierie du cloud à l'échelle. Il s'agit de développeurs, d'équipes d'infrastructure et d'experts en sécurité qui collaborent pour mettre en place des logiciels cloud natifs » nous a expliqué - à distance en visioconférence - Joe Duffy, le CEO et co-fondateur de Pulumi (avec Eric Rudder), lors d’un IT Press Tour à Los Altos.  

Les langages supportés par Pulumi se sont étoffés au fil des années. (Crédit S.L.)

Le kit de développement logiciel (SDK) d’infrastructure-as-code de Pulumi permet aux développeurs de fournir et de maintenir l'infrastructure en utilisant le langage de programmation de leur choix, plutôt que de se débattre avec des langages spécifiques à un domaine comme Bicep, ou de gérer des environnements Kubernetes en utilisant YAML. Avec Pulumi, les développeurs peuvent utiliser les langages JavaScript, TypeScript, Python, Go et .NET, notamment C#, VB.NET et F#, pour provisionner de manière déclarative leurs besoins en infrastructure sur AWS, Azure, Google Cloud Platform et Kubernetes. La Cloud Engineering Platform de la start-up fournit aux développeurs des composants multilingues réutilisables dans tous ces langages, ainsi que la gestion des privilèges, les intégrations CI/CD et le policy-as-code. Pulumi a également lancé en 2022 une édition Business Critical de sa plateforme pour les entreprises ayant des besoins très spécifiques.

Le développement des microservices entraine une évolution dans la gestion des infrastructures. (Crédit S.L.)

Les développeurs peuvent utiliser leur éditeur de code habituel tout en tirant parti des techniques d'IaC de Pulumi, qui combine un modèle objet, un runtime d'évaluation et l'état souhaité pour rendre l'infrastructure facile à répliquer sur plusieurs clouds. La start-up souligne que l'approche IaC est devenue plus pertinente avec les capacités du cloud, notamment les microservices, les conteneurs, le serverless et les data stores, qui imprègnent aujourd’hui les architectures des applications. En complément, la jeune pousse a mis en open source CrossCode, une couche de traduction commune entre le langage qu'un développeur souhaite utiliser et le code d'infrastructure déployé. CrossCode est un peu la sauce secrète de Pulumi comme aiment souvent mettre en avant les start-ups (voir illustration ci-dessous).

Parmi ses clients, Pulumi cite Mercedes-Benz, qui avait déjà témoigné à la KubeCon de Valencia en mai dernier. « Le constructeur allemand a une certaine façon de provisionner les clusters Kubernetes : ils peuvent définir un package et ensuite n'importe qui dans l'entreprise peut le partager et le réutiliser et ils peuvent le versionner de sorte que les meilleures pratiques évoluent au fil du temps. Il est possible de versionner, de déployer de nouvelles versions, d'effectuer des audits, de déterminer ceux qui sont sur d'anciennes versions, et l'équipe de sécurité peut analyser cette définition centrale pour se convaincre qu'elle est conforme. Pulumi peut orchestrer tous les déploiements et les activités à travers ces politiques d'application. Beaucoup de gens aujourd'hui doivent bricoler ensemble les outils de différents fournisseurs et compiler des scripts bash pour les faire fonctionner ensemble ».

L'approche de Pulumi vise à aider les développeurs et les équipes d'infrastructure à mieux travailler ensemble. (Crédit S.L.)

Pulumi est nativement multicloud dans le sens où il donne accès à différents fournisseurs de cloud. « Nous voyons beaucoup d'entreprises qui se trompent avec le multicloud en essayant de passer par le plus petit dénominateur commun ; il est important de savoir que Pulumi ne fait pas qu'exposer les capacités de chacun de ces fournisseurs. J'ai mentionné Mercedes, mais ce qu'ils recherchaient vraiment, c'était une solution multicloud. Et ils se sont lancés dans Kubernetes et ils ont déployé des clusters à grande échelle dans le monde entier pour permettre à leurs développeurs de se servir eux-mêmes. Quand un développeur de Mercedes Benz veut un environnement microservices parce qu'il construit un service, il dit juste "hey, donnez-moi un environnement de microservices". Et l'équipe de la plateforme centrale définit ce que cela signifie. Cela peut inclure une base de données, Cosmos dans Azure ou une base de données RDS dans Amazon ou un cluster Kubernetes. Mais les développeurs n'ont pas à penser à une infrastructure de bas niveau. Et pourtant, ils peuvent toujours être productifs, en faisant tourner de nouveaux environnements à la demande ».

Concurrente de Hashicorp (avec son produit Terraform), la start-up revendique plus de 100 000 utilisateurs et 1 500 clients au sein d’une communauté open source florissante : « Notre audience est mondiale, avec beaucoup d'utilisateurs aux États-Unis, en Europe, mais aussi en Amérique Latine, en Asie et en Australie. Et, ce, au sein d’une grande communauté open source, avec beaucoup de contributeurs ». Pulumi emploie déjà une centaine d’employés dans six pays, avec une filiale au Royaume-Uni mise en place l'année dernière. « Nous avons donc des gens en Allemagne, en Belgique, aux Pays-Bas. Et nous venons juste de commencer à nous étendre en Australie ».