Avec Heroku, il y a toujours un « mais ». Durant 15 ans, les développeurs parlaient de la plateforme comme de quelque chose de « magique », comme l'étalon-or de l'expérience du développeur, comme la manne tombée du ciel dans le désert. Mais... malgré son impact, le mythe autour de Heroku semble toujours dépasser la réalité. Je ne veux pas dire que son impact n'a pas été substantiel, notamment pour ce qui est des services et produits inspirés par ce projet. Mais c’est bien Kubernetes et non Heroku qui s’est imposée comme solution par défaut pour créer et mettre à l'échelle des applications… Certains se plaisent à dire que Heroku était simplement en avance sur son temps. Possible. Ou que le prix de cette expérience magique pour le développeur était trop restreint pour fonctionner dans le désordre moderne de l’IT d'entreprise.

Un âge d'or de l'expérience du développeur

Si Heroku fait à nouveau parler de lui, c’est qu’il a récemment annoncé la suppression de ses offres gratuites. Pourquoi ? « Nos équipes chargées des produits, de l'ingénierie et de la sécurité déploient des efforts considérables pour gérer les fraudes et les abus sur les abonnements gratuits de Heroku », a justifié Bob Wise, directeur général de Heroku et vice-président exécutif de Salesforce, qui a racheté Heroku fin 2010. Au lieu de perdre du temps à jouer au Jeu de la taupe avec les crypto-fraudeurs, le fournisseur espère mieux investir dans ses clients, qui ne sont probablement pas aussi nombreux qu'ils devraient l’être. Si cela ressemble à une critique, ce n'en est pas une. C’est peut-être lié aux groupes que je fréquente, mais je n'ai jamais entendu parler de Heroku autrement qu’en termes élogieux, pour vanter la façon dont il a révolutionné le déploiement des applications. Avant Heroku, il fallait autant de temps, voire plus, pour déployer une application que pour la construire. Avec cette plateforme, le déploiement était aussi facile qu'un push Git.

Le problème, si l’on en croit Jason Warner, qui a dirigé l'ingénierie chez Heroku entre 2014 et 2017, c’est que « Heroku n'a jamais été terminé ». L'acquisition par Salesforce n'a pas aidé, comme l'a déclaré Scott Carey dans un article de 2021, car son rachat a clairement gelé le développement de la solution : cette expérience magnifique s’est retrouvée enfermée dans une boule de neige. Comme l’a dit Jason Warner, « Heroku était magique pour un ensemble d'applications, mais si Heroku avait été vraiment achevé, il aurait pu être bien plus magique ». Encore une fois, cela ne change rien au fait que « pendant de nombreuses années, [Heroku a été] l'outil de développement le plus apprécié par de nombreuses personnes, notamment celles qui débutaient », a fait remarquer M. Warner. Mais…

Fermé à l'innovation

Malgré tout ce qu’a pu apporter Heroku à l'industrie en termes d’expérience pour les développeurs, l’outil semble avoir cruellement manqué de ressources après son rachat par Salesforce. « Je n'en suis pas certain, mais, par rapport à il y a 5 ans, je pense que l’effectif de Heroku a été réduit », a déclaré Craig Kerstiens, chef de produit chez Crunchy Data (et anciennement chef de produit chez Heroku). C’est un peu surprenant, étant donné qu’il y a plus d'applications exécutées sur Heroku aujourd'hui qu'il y a cinq ans. On peut dire que la solution a toujours été un peu en marge de l'activité principale de Salesforce, ce qui n’a pas favorisé le financement interne dont la plateforme avait besoin. Il est aussi probablement vrai, comme l’a fait remarquer M. Warner, que Heroku aurait dû s'ouvrir davantage. En tant qu'expérience développeur intéressante, mais fermée, Heroku n'a jamais pu être autre chose que ce que Salesforce a choisi d'en faire. Les opportunités d'investissement extérieur étaient nulles, ce qui s'est avéré problématique quand Kubernetes a commencé à susciter un engagement significatif de la communauté. « Si [Heroku] était devenu open source au moment où Kubernetes est sorti, nous le prendrions probablement encore tous au sérieux », a déclaré le développeur Scott Williams.

C'est un problème pour l'informatique d'entreprise. Comme l'affirme James Ward de Google, « le plus gros problème, et de loin, était l'absence de porte de sortie. Quand une équipe ou une entreprise atteignait les limites de Heroku, la seule option était d’adopter tout ce que Heroku fournissait - automatisation interne, opérations, etc. (Tout le monde n'est pas d'accord à ce sujet). En revanche, Kubernetes offre une série de « trappes de secours » et d'options de déploiement alternatives. Heroku imposait un engagement total, ce qui n’est pas le cas de Kubernetes. La valeur des options est importante dans l'informatique d'entreprise. À ce propos, le développeur Jeremy Chone a sans doute raison. Selon lui, la plate-forme en tant que service (PaaS) « rend les projets faciles à démarrer [et] difficiles à achever ». Les entreprises ont tendance à parier sur la magie qui est un peu désordonnée : Un développeur d'entreprise peut préférer un PaaS ayant une forte identité et facilitant grandement la construction d’un certain type d'application, mais une équipe de développement d'entreprise doit penser à la capacité d'étendre et de personnaliser les outils pour tenir compte de la réalité désordonnée de l'infrastructure existante et future.

Matt Asay est un contributeur IDG NS et travaille chez MongoDB