Comment éco-concevoir ses applications dans le cloud ?

Publish date:

Parler d’impact environnemental des applications dans le monde du numérique, c’est s’attacher entre autres à regarder la consommation électrique induite par leur usage et les émissions de CO2 qu’elles génèrent.

Tous les éléments qui permettent aux applications de fonctionner doivent être pris en compte. L’ajout de composants applicatifs ou l’appel de micro-services peut engendrer des surconsommations de plus de 50% de CPU, et par conséquent d’émissions de CO2, qu’il est possible de réduire en reconsidérant leur configuration. Cette démarche doit être menée non seulement pendant la période de conception des applications mais aussi durant le fonctionnement des applications.

Le cloud offre une multitude de possibilités pour réduire l’impact environnemental des applications. Mais le cloud n’est qu’un outil. Pour agir véritablement en faveur de la planète, il faut regarder l’ensemble du projet applicatif et son cycle de vie de bout en bout, notamment aux niveaux de la conception et de la réalisation. Si une application est développée de manière simple et efficace, elle sera non seulement plus rapide mais aussi beaucoup moins gourmande en ressources, et donc à moindre impact environnemental.

Les bonnes pratiques pour éco-concevoir ses applications

La première étape est d’initier une réflexion le plus en amont possible, dès l’expression des besoins. En réduisant certaines des exigences métier, certains besoins et niveaux de performance, il est possible de produire 90% ou 99% de la valeur métier en ne générant que 30% de l’impact environnemental initial si tout avait été retenu.

La deuxième étape porte sur la conception des applications selon une approche “Cloud-Native”. Adopter cette approche implique de penser les applications de manière évolutive et de faire en sorte que leur fonctionnement puisse s’adapter à toute montée en charge qui pourrait survenir.

La troisième étape porte sur le “run” des applications et leur performance, l’essentiel de l’impact environnemental ayant lieu pendant cette phase. Deux exemples permettent d’illustrer l’importance de cette étape : la disponibilité des applications et la latence nécessaire pour servir les internautes.

Avec la haute disponibilité, le paradigme change totalement. Par exemple, pour une application de back-office indispensable à la bonne marche de l’entreprise, mais sur laquelle quelques minutes d’indisponibilité sont tolérables, il est possible de s’appuyer sur les services natifs du cloud qui détectent et font remonter une interruption de service en quelques minutes. À titre de comparaison, une entreprise disposant de ses propres centres de données, qui ne peut structurellement pas réagir rapidement, doit surprovisionner et prévoir au minimum deux ou trois instances en plus pour ce back-office. Sa consommation énergétique s’en trouvera potentiellement et mécaniquement deux à trois fois plus élevée. Une latence proche de zéro est souvent demandé. Bien évidemment, atteindre ce niveau de performance est possible. Mais la vraie question est de se demander si cela vaut la peine de doubler ou de tripler l’investissement – et la dépense énergétique – pour un gain métier extrêmement faible, sachant qu’une interruption de 10 minutes peut être acceptable pour un back-office métier.

Sur la partie latence pour une application de front-office comme un site Web ou une application de e-commerce, la problématique est différente. Si l’entreprise possède des clients en Europe et aux États-Unis, elle va avoir tendance à choisir un centre de données situé en Europe pour servir ses clients européens, et un centre de données aux États-Unis pour ceux nord-américains. Ce choix permet d’éviter la latence transatlantique qui est de l’ordre d’une centaine de millisecondes dans le pire des cas. Cent millisecondes, c’est très long pour une latence sur un site de e-commerce. Ce délai peut faire fuir des internautes et générer des pertes de chiffre d’affaires. Au lieu de choisir un centre de données en Europe, l’entreprise pourrait vouloir en choisir un dans chaque pays, afin de proposer une latence encore plus réduite à ses clients. Qu’y gagnerait-elle ? Peut-être une ou deux millisecondes supplémentaires, pour une dépense 20 fois plus élevée. Le jeu en vaut-il la chandelle ? Quel serait également l’impact environnemental associé ?

Suivre l’impact environnemental des applications

Le suivi de l’impact environnemental des applications passe par la mesure, à plusieurs moments du cycle de vie des applications :

  • Tout d’abord, la mesure est réalisée avant de se lancer dans le cloud. L’objectif est alors d’estimer et de comprendre l’impact environnemental associé avant même de commencer. Il est également nécessaire de se projeter. Quel sera l’impact une fois la solution déployée dans le cloud ? Comment l’écart entre les deux “états” pourra-t-il être établi ? Comment sera-t-il possible de mieux dimensionner les services de cloud utilisés afin de réduire cet impact ?
  • La mesure intervient également lorsqu’une question d’architecture se pose, comme de gagner quelques millisecondes en latence avec les conséquences en termes d’impact environnemental associé. Pour pouvoir prendre – ou pas – ce type de décision, il faut être capable de mesurer avec précision les impacts potentiels des différents scénari d’architecture envisagés.
  • Enfin, le dernier type de mesure se fait en continu. Finalement, une fois que le cloud fait partie de toutes les autres ressources informatiques, il faut en suivre le fonctionnement : combien de ressources sont consommées et, pour chacune d’elles, quel est l’impact environnemental associé ?

Aujourd’hui, ces mesures dépendent fortement des données communiquées par les opérateurs de cloud en regard d’indicateurs spécifiques aux environnements et aux services consommés. Ces prestataires investissent énormément dans ces sujets parce qu’ils disposent de grandes capacités d’innovation et que c’est leur cœur de métier. Ils proposent des premiers services qui peuvent aider à mesurer l’impact de la consommation de ressources chez eux. En revanche, tous ne fournissent pas les mêmes niveaux d’information et les indicateurs sur l’impact environnemental d’un service, comparé à un autre, ne sont pas toujours clairement définis.

Ecouter notre podcast :

Auteurs

Eymeric Tabou – Consultant Senior et Digital Architect et Cédrik Lime – Architect Solution chez Capgemini

Articles associés

cloud

Le code source, un vecteur de risque sous-estimé

Date icon 17 mai 2022

Alarmée par la recrudescence des attaques et poussée par l’aspect réglementaire, la majorité...

Développement durable

Ecoconception des services numériques : place à l’action

Date icon 14 avril 2022

Malgré une prise de conscience grandissante, les organisations s’interrogent encore sur la...

cloud

L’apport du cloud pour un numérique responsable

Date icon 25 mars 2022

Aujourd’hui, le numérique représente 3% à 4% des émissions de gaz à effet de serre (GES) dans...