« Ce n’est que lorsque la marée se retire que l’on découvre qui nageait nu. » — Warren Buffett
Le changement le plus important dans l’informatique au cours des 15 dernières années a été l’essor du cloud computing. Les grands fournisseurs hyperscale – que j’appelle AMG, pour Amazon, Microsoft et Google – connaissent une croissance fulgurante et ne montrent aucun signe de ralentissement.
Prenons l’exemple d’Amazon Web Services. Comme le montre le graphique ci-dessous, son rythme annuel atteint désormais 60 milliards de dollars, ce qui signifie qu’il pourrait s’agir en 2023 d’une activité générant 100 milliards de dollars de chiffre d’affaires. Ses concurrents sont plus petits, mais affichent des taux de croissance similaires, voire supérieurs. Le cloud computing représente donc peut-être une activité de 150 milliards de dollars, dont la croissance ne semble pas près de s’arrêter.

La question est la suivante : pourquoi y a-t-il eu un changement aussi radical dans le lieu de déploiement des applications ? Qu’est-ce qui rend le cloud si irrésistible ?
À mon sens, la raison principale de la croissance si forte et si rapide du cloud computing se trouve dans la vénérable définition du cloud computing donnée par le NIST — plus précisément dans la toute première caractéristique du cloud énoncée par le NIST dans sa définition :
Libre-service à la demande. Un consommateur peut approvisionner unilatéralement et automatiquement des capacités informatiques, comme du temps serveur et du stockage réseau, selon ses besoins, sans nécessiter d’interaction humaine avec chaque fournisseur de services.
Le cloud computing met les ressources à disposition à la demande : il suffit de remplir un formulaire web ou d’envoyer un appel d’API pour que l’infrastructure soit disponible en quelques minutes. Il est difficile d’exagérer à quel point cela diffère des délais d’infrastructure habituels des centres de données traditionnels. J’ai récemment entendu parler d’une entreprise où le processus accéléré de provisionnement des VM les rend disponibles en 24 semaines — imaginez combien de temps prend le processus normal !
Sans surprise, supprimer les frictions du processus d’accès à l’infrastructure informatique incite les utilisateurs à en consommer davantage, avec enthousiasme. Beaucoup, beaucoup plus. C’est pourquoi Amazon affiche une activité de 60 milliards de dollars en croissance de 30 % par an.
Il n’y a qu’un problème : la plupart des grandes entreprises ne constatent aucune amélioration de leur débit logiciel, alors même que l’infrastructure est disponible en un claquement de doigts.
C’est là que l’aphorisme lapidaire de Buffett prend tout son sens. Son intuition est qu’une modification d’une condition peut révéler une faiblesse dans une autre. Dans son secteur, cela signifie traditionnellement que lorsque le cycle économique ralentit, les entreprises trop endettées se retrouvent prises dans une crise de liquidités et doivent vendre des actifs pour générer des liquidités.
Le cloud native et l’accélération des cycles de vie applicatifs
Dans le monde de l’informatique, l’accès rapide à l’infrastructure révèle des pratiques léthargiques en matière de cycle de vie logiciel. Autrefois, cela n’avait pas vraiment d’importance. Prendre des semaines pour mettre une nouvelle version en production importait peu lorsque ce délai était masqué par un provisionnement d’infrastructure « accéléré » de 24 semaines. Avec l’arrivée du cloud computing, tout le monde voit cependant que les processus informatiques « nagent nus ».
La question est alors devenue : « Comment accélérer le cycle de vie de mes applications pour l’aligner sur la vitesse de mon infrastructure cloud ? » Et savez-vous qui a résolu ce problème ? Les entreprises cloud native — des entreprises conçues en partant du principe que l’infrastructure serait rapidement disponible, avec des processus réglés pour déployer les logiciels aussi vite qu’un fournisseur cloud peut mettre à disposition des ressources informatiques.
Bien sûr, ces pratiques cloud native ne sont pas apparues du jour au lendemain, lorsque Netflix ou Pinterest ont déployé leurs premières applications dans un environnement cloud. Elles ont été conçues et mises en œuvre progressivement, puis améliorées au fil du temps pour répondre aux exigences d’une entreprise axée d’abord sur le numérique.
Au fil du temps, les entreprises cloud native ont élaboré un ensemble de bonnes pratiques de gestion du cycle de vie, allant de l’utilisation d’une plateforme sophistiquée de gestion du code à la supervision et à la gestion automatisées des composants applicatifs, afin d’assurer évolutivité et résilience. Chaque processus et chaque jalon ont été rationalisés pour permettre une exécution rapide et automatisée, ainsi qu’une mise en production sans intervention humaine dès que les doigts du développeur quittent le clavier.
Le résultat net est que ces entreprises peuvent déployer chaque jour des milliers de modifications de code en production.
La clé de tout cela réside dans l’examen inlassable du processus de cycle de vie applicatif afin d’en repérer les inefficacités et les possibilités d’amélioration, toujours dans le but d’éliminer toute étape manuelle venant entraver les mises à jour rapides du code.
Maintenant que les grandes entreprises adoptent massivement le cloud computing, elles devront elles aussi optimiser leurs pipelines applicatifs. Beaucoup, bien sûr, résisteront à cette nécessité, affirmant que des contraintes telles que la réglementation et la gestion des risques empêchent de supprimer la participation humaine du processus de pipeline.
Elles ont tort. Des entreprises comme Stripe et Redfin opèrent dans des environnements fortement réglementés et semblent s’en sortir correctement. Et mon ancienne entreprise, Capital One, est sans conteste une grande entreprise ; elle a adopté les pratiques cloud native avec beaucoup de succès — tout en obtenant d’excellents résultats commerciaux.
La nécessité d’adopter des pratiques cloud native sera d’autant plus importante que les concurrents les adopteront. Les avantages en termes de coûts et les possibilités de croissance du chiffre d’affaires rendront indispensable l’adoption du cloud native par les grandes entreprises ; à défaut, elles s’exposeront à un désavantage concurrentiel.
Bonnes pratiques du cloud native
Alors, que doivent faire les grandes entreprises pour adopter les pratiques cloud native ? Voici quelques conseils :
- Comprenez que le passage au cloud est le début d’un parcours, et non l’arrivée à destination. L’une des plus grandes erreurs que j’observe dans les organisations technologiques consiste à traiter le cloud computing comme un centre de données au bout d’un câble — une infrastructure facilement accessible qui ne nécessite aucun changement supplémentaire dans les procédures opérationnelles standard. C’est faire preuve d’un manque d’imagination et ne pas comprendre que la logique du cloud computing va bien au-delà de ressources informatiques virtualisées et pratiques d’accès.
- Supprimez les goulets d’étranglement de manière itérative. J’espère que cet article vous aura convaincu que tirer pleinement parti du cloud computing nécessite d’examiner et de rationaliser l’ensemble du cycle de vie applicatif. Il ne s’agit toutefois pas d’un processus ponctuel. Tout comme les entreprises cloud native telles que Netflix ont dû améliorer progressivement leurs pratiques, chaque grande entreprise devra en faire autant. La suppression d’un goulet d’étranglement révèle l’obstacle suivant sur la voie de l’automatisation complète. Préparez-vous à un travail et à des investissements continus dans votre pipeline
- N’oubliez pas le jour 2. De nombreuses organisations pensent que faire passer rapidement le code en production est le nirvana. C’est assurément une amélioration majeure, mais rappelez-vous que toute application nécessite inévitablement des fonctionnalités supplémentaires, des corrections de bugs et des correctifs de sécurité. Prévoyez des déploiements et des mises à jour des composants applicatifs rationalisés en continu. N’oubliez pas non plus les composants de votre pipeline et votre plateforme de conteneurs. Si vous avez mis en œuvre ces éléments de votre environnement en utilisant des logiciels open source, les composants et les exécutables de la plateforme devront eux-mêmes être mis à jour et corrigés — veillez donc à planifier leur gestion continue.
Le cloud computing représente un changement profond dans la manière dont l’infrastructure est utilisée. Ce qui nécessitait autrefois des mois de préparation est désormais réalisé par un fournisseur cloud en quelques minutes. Il est essentiel de comprendre l’ampleur des changements qu’implique le cloud computing. Concevez et exécutez un plan cloud native pour réussir véritablement dans le cloud. Après tout, vous ne voulez pas que la marée se retire et révèle à tout le monde que vous ne portez pas de maillot de bain !


