L'informatique en nuage n'est pas aussi vaporeuse que son nom l'indique, pas plus que l'internet qu'elle permet. L'internet est alimenté par des millions de serveurs situés dans de grands centres de données ou à la périphérie. L'énergie nécessaire pour alimenter ces gros ordinateurs gourmands en énergie est à l'origine d'environ 1 % des émissions de carbone dans le monde, et ce chiffre augmente rapidement.
Dans de nombreux autres secteurs, comme le système alimentaire, Feeding America a constaté que 40 % des aliments produits sont gaspillés et finissent à la poubelle. L'informatique en nuage n'est pas différente : des ressources sont continuellement gaspillées pour une raison assez simple. Les équipes veulent que leur application soit capable de gérer les pics de trafic et ont donc tendance à surapprovisionner, tandis que leurs serveurs consomment à peu près la même quantité d'énergie, qu'ils soient utilisés ou non, ce qui entraîne un gaspillage. En particulier, de nombreuses études - dont une étude réalisée par Cloud Carbon Footprint - ont montré que la majeure partie de la consommation d'énergie d'un serveur provient de l'unité centrale de traitement (CPU) responsable de l'exécution des applications.
C'est la principale raison pour laquelle l'utilisation d'une plateforme moderne de type PaaS ( Platform-as-a-Service ) est nettement plus efficace que l'utilisation d'infrastructures de type IaaS (Infrastructures-as-a-Service) et de serveurs virtuels. Répartir efficacement les ressources entre les applications et offrir des outils intégrés pour optimiser la consommation, tels que des profileurs, des couches de mise en cache pertinentes et, surtout, une mise à l'échelle automatique. Un PaaS moderne peut optimiser les ressources sous-jacentes de nombreuses façons et réduire le gaspillage en n'utilisant que ce qui est nécessaire.
Examinons quelques chiffres pour comprendre pourquoi un PaaS moderne est plus performant en termes de consommation de ressources. Prenons l'exemple d'Upsun - la dernière offre de Platform.sh - qui s'adresse aux équipes de développement qui créent principalement des applications Software-as-a-Service (SaaS) avec des architectures techniques de micro-services.
Au fil des ans, nous avons recueilli de nombreuses données sur le produit Platform.sh. Mener des recherches pour étudier combien de ressources CPU sont économisées en utilisant notre produit par rapport à des applications similaires utilisant des déploiements bare metal. Cette recherche a été menée par notre équipe de développement durable et auditée par une source externe, Greenly. Les résultats montrent qu'au lieu de mettre en place une application sur des instances virtuelles (style AWS EC2), le fait d'avoir une grille de serveurs en conteneurs réduit l'utilisation de l'unité centrale par un facteur de 12 en moyenne. Jetez un coup d'œil au schéma ci-dessous où vous pouvez voir cette représentation et découvrir plus de détails sur la recherche de densité menée dans le cadre de cette étude de cas. La réduction des émissions qui en résulte dépend du réseau électrique et de l'application.
Remarque: Le schéma ci-dessus est un schéma simplifié de ce que nous appelons la région de réseau Platform.sh. Les régions de grille offrent des niveaux de distribution très efficaces qui contribuent à améliorer l'efficacité des serveurs.
Il n'y a pas de solution miracle : de nombreux éléments se conjuguent pour optimiser l'utilisation du processeur. Tout d'abord, la distribution de la charge de travail joue un rôle important : nos serveurs en grille sont essentiels à cet égard. L'architecture en grille permet de mieux exploiter les serveurs sous-jacents en raison d'un volume de demandes plus important et plus diversifié. Contrairement aux ressources dédiées, ces régions de la grille peuvent continuellement exécuter et rééquilibrer les charges de travail avec des niveaux élevés d'utilisation. L'effet d'échelle permet une optimisation plus efficace de l'allocation des ressources dans les environnements de production et plus encore dans les environnements de développement, car la grille gère elle-même ses ressources en mettant en veille les conteneurs de développement lorsqu'ils sont inactifs pendant une période prolongée.
Un autre facteur important dans l'optimisation de la consommation des ressources est notre orchestration. L'un des choix que nous avons fait est d'offrir de très petits conteneurs par défaut dans notre grille de conteneurs. Grâce à cette approche, nous pouvons permettre à des applications triviales ou à faible trafic de s'exécuter sur des ressources de serveur souples. Nous pouvons également aider les équipes à construire des environnements de développement très bon marché pour des applications plus complexes, alors que traditionnellement la même équipe exécuterait probablement ses environnements de développement sur une infrastructure similaire à celle de son environnement de production. Il s'agit d'une approche qui s'additionne très rapidement, c'est pourquoi, du point de vue de la consommation des ressources, les PaaS sont une solution beaucoup plus économique.
En outre, une fois que l'infrastructure sous-jacente est optimisée, le code de l'application peut souvent l'être aussi, et votre PaaS devrait être là pour vous aider. Sans les outils appropriés, une équipe de développement ne peut que deviner quelles parties de sa base de code pourraient bénéficier d'un remaniement visant à améliorer les performances. C'est pourquoi il est extrêmement utile que le profilage progressif et le contrôle des performances des applications (APM) soient inclus dans les fonctionnalités d'un produit PaaS.Ces deux outils fonctionnent ensemble - l'APM est une vue de haut niveau qui aide les équipes à identifier les sections de leur application qui ont besoin d'aide, et le profilage à grain fin permet d'identifier exactement les lignes de code sur lesquelles se concentrer. Vous trouverez ci-dessous un aperçu des capacités d'observabilité disponibles sur Upsun, qui peuvent vous aider dans ce processus.
Upsun est une nouvelle offre pour le PaaS Platform.sh. Il s'agit essentiellement du même produit - y compris tous les principes mentionnés ci-dessus - mais il s'accompagne d'un modèle de tarification entièrement revu, conçu pour répondre aux besoins des projets d'architecture découplée et composable. Il s'accompagne également de quelques nouvelles fonctionnalités avancées qui seront bientôt déployées sur le PaaS Platform.sh.
Ce modèle de tarification peut être résumé en deux mots : basé sur l'utilisation. S'il vise à offrir une plus grande flexibilité aux équipes de développement, il offre également des avantages très intéressants en termes de réduction de l'empreinte carbone des applications.
Une utilisation de l'unité centrale 12 fois supérieure à celle d'AWS EC2. Avec Upsun, nous offrons l'orchestration de cloud la plus efficace. Greenly a calculé que les gains étaient une densité 14x plus élevée pour le développement et 10x plus élevée pour les charges de travail de production.
Cela permet de mieux aligner l'optimisation des coûts et l'empreinte carbone. Nous avons remarqué que notre approche précédente était moins efficace à cet égard : nous regroupions des fonctionnalités et certaines d'entre elles n'étaient pas utilisées alors qu'elles étaient payées. Notre nouvelle approche basée sur l'utilisation élimine cette friction et aligne le prix et les ressources de manière plus efficace.
Transparence de l'intensité carbone. Tous les centres de données ne sont pas identiques, et nous avons réalisé très tôt chez Platform.sh que la source d'énergie joue un rôle massif dans l'empreinte carbone d'un centre de données. C'est pourquoi le mix électrique du pays ou de la région où se trouve le centre de données est très important.
Le meilleur reste à venir. Dans un futur proche, nous parlerons de la composante la plus importante d'Upsun en termes d'impact sur l'environnement - restez à l'écoute pour plus d'informations à venir.
Si vos émissions de carbone numérique sont importantes pour vous et que vous souhaitez discuter de la capacité d'Upsun à réduire la consommation de ressources, n'hésitez pas à contacter notre équipe!