Dans le cadre du passage de Capital One à un modèle opérationnel « sans serveur d'abord »

La mission de cinq ans de Capital One Financial Corp. visant à transformer ses opérations informatiques vers un modèle « sans serveur d'abord » porte ses fruits en termes d'amélioration de la productivité des développeurs, de réduction des coûts d'exploitation et d'abandon de l'infrastructure au profit des résultats orientés client.

Selon les dirigeants, il s'agit moins d'une migration technologique que d'une redéfinition de la manière dont les applications sont créées, exploitées et gouvernées à l'échelle de l'entreprise. Réduire la nécessité de gérer les infrastructures a obligé le géant des services financiers à abandonner un certain contrôle, mais la vitesse à laquelle il peut déployer de nouvelles applications a plus que compensé les compromis.

L'informatique sans serveur est un modèle d'exécution cloud dans lequel le fournisseur cloud gère automatiquement le provisionnement, la mise à l'échelle et la maintenance de la capacité, en facturant uniquement les ressources consommées lors de l'exécution du code. La promesse de l'informatique sans serveur de réduire les coûts du cloud computing, d'améliorer l'évolutivité et de réduire la nécessité pour les développeurs de gérer l'infrastructure a conduit à une adoption rapide dans les entreprises. Le marché mondial de l'informatique sans serveur devrait croître de plus de 15 % par an, passant de 21,9 milliards de dollars en 2025 à 44,7 milliards de dollars d'ici 2029, selon MarketsandMarkets Research Private Ltd.

Mission de cinq ans

Capital One s'est donné pour mission depuis cinq ans de faire du sans serveur le modèle par défaut pour les nouveaux développements, avec Lambda d'Amazon Web Services comme plate-forme de choix. Au cœur de la stratégie se trouve un changement philosophique, « voir nos ingénieurs se concentrer davantage sur la fourniture de valeur à nos clients que sur la gestion de l'infrastructure », a déclaré Brian McNamara (photo ci-dessous), ingénieur distingué du groupe Cloud Operations and Resiliency Engineering de Capital One.

Alors que la valeur de l'informatique sans serveur est souvent définie par des coûts de consommation cloud inférieurs, Capital One a constaté que l'efficacité de l'ingénierie est la variable la plus importante.

« Les gens évaluent souvent les coûts du cloud et disent que Lambda peut être coûteux à exploiter à grande échelle », a déclaré McNamara. « Le calcul est beaucoup moins coûteux par rapport au temps d'ingénierie. »

Cela s’est traduit par des gains de productivité mesurables. Les équipes qui adoptent des services sans serveur « ont des coûts de fonctionnement du moteur nettement inférieurs », a déclaré McNamara. « Les développeurs ne corrigent pas les serveurs. Ils résolvent les problèmes des clients. »

Capital One estime que les équipes d'ingénierie économisent environ 30 % du temps consacré à l'entretien de l'infrastructure, sauf en éliminant des tâches telles que la reconstruction des images du système d'exploitation. « Vous pouvez vous concentrer sur des éléments spécifiques à l'application », a déclaré McNamara.

Changement de mentalité

La transition a nécessité des changements non seulement dans les outils mais aussi dans la mentalité. « Ce n'est pas pour autant que toutes vos responsabilités opérationnelles disparaissent », a déclaré McNamara. « C'est juste qu'ils passent de la gestion de l'infrastructure à l'exploitation de votre application. »

Bien que le sans serveur soit un objectif, Capital One reconnaît qu'il ne convient pas à toutes les charges de travail. Sa stratégie « sans serveur d'abord, mais pas uniquement sans serveur » reconnaît que de très grandes charges de travail peuvent souvent être exécutées de manière plus économique sur des serveurs provisionnés.

Il en va de même pour les applications nécessitant un contrôle approfondi du système d'exploitation. « Nous sommes régis par le réglage du système d'exploitation du fournisseur de cloud », a déclaré McNamara. « Nous n'avons pas accès à un shell » qui peut être utilisé pour personnaliser ou modifier le comportement du système au moment de l'exécution ou du démarrage.

De même, les charges de travail à très faible latence ou à forte rafale peuvent être de mauvais candidats pour le sans serveur en raison des retards dans l'activation des fonctions inactives. « Si vous avez besoin d'une latence à un chiffre en millisecondes, Lambda ne sera pas votre choix », a-t-il déclaré.

Catalyseur événementiel

Là où le sans serveur excelle, c’est dans les cas d’utilisation événementiels qui sont de plus en plus au cœur de la conception d’applications modernes. Les événements sont des actions qui déclenchent des changements d'état, comme un clic ou une commande.

La flexibilité du sans serveur dans la définition des événements est l'un des facteurs qui en ont fait une cible dominante pour les nouveaux développements, a déclaré McNamara. « C'est remarquable ce qui constitue un événement », a-t-il déclaré. « Il peut s'agir d'une requête HTTP ou du téléchargement d'un objet dans un compartiment S3. Vous n'avez pas besoin de mettre en place un serveur d'administration pour lancer des tâches. « 

L'architecture simplifie également la résilience en permettant de répartir les charges de travail sur plusieurs zones de disponibilité. « Comme Lambda est un service sans état, il est facile de l'exécuter partout où vous en avez besoin », a déclaré McNamara.

Économie des applications

L’informatique sans serveur limite la flexibilité des utilisateurs de par leur conception. « Il n'y a en réalité qu'un seul bouton à tourner : la mémoire que vous avez allouée à une fonction », a déclaré McNamara. Ces restrictions sont gérables lorsque Lambda est combiné avec des alternatives offrant plus de contrôle comme AWS Fargate, un moteur sans serveur pour les conteneurs logiciels.

L'entreprise s'est également concentrée sur l'instrumentation et l'observabilité, car les environnements sans serveur ne permettent pas un accès direct à l'infrastructure. Les outils permettant une visibilité plus fine ont considérablement évolué, a déclaré McNamara.

AWS CloudWatch donne accès aux journaux, aux métriques et aux métriques personnalisées et la norme OpenTelemetry prend en charge l'intégration des données avec des plateformes tierces.

Les premières craintes selon lesquelles le système sans serveur ne serait pas évolutif ont été largement réfutées dans la pratique. « J'ai vu Lambda s'étendre à des dizaines de milliers d'exécutions simultanées », a déclaré McNamara. « Il s'agit d'être conscient de ses propriétés de mise à l'échelle. »

Près de cinq ans après le début de l'initiative, l'expérience de Capital One suggère que le sans serveur n'est pas un remplacement universel de l'infrastructure traditionnelle, mais une couche fondamentale pour les applications modernes pilotées par les événements.

Photos : Wikimédia Commons, Capital One

Newsletter

Rejoignez notre newsletter pour des astuces chaque semaine