Les principes à suivre pour réduire l'impact environnemental du numérique en tant que dev
Si vous avez lu mes articles précédents, vous savez que notre utilisation du numérique cause d’immenses impacts environnementaux. Peut-être que ces lectures vous ont donné envie d’agir, mais vous ne savez pas comment ? Pour agir de manière efficace, il faut d’abord comprendre comment sont répartis les impacts environnementaux du numérique. Avec cette information, on peut ensuite définir des principes à suivre pour réduire les impacts du numérique sur l’environnement.
Dans cet article, on va d’abord s’intéresser à la répartition des impacts sur deux axes: les différentes étapes du cycle de vie et les types d’appareils. Ensuite on utilisera ces informations pour définir des grands principes à suivre pour créer un monde numérique plus durable.
La répartitions des impacts par domaine
Est-ce que ce sont les datacenters qui ont le plus d’impact sur l’environnement ou les smartphones ? C’est une question fondamentale pour savoir ou concentrer nos efforts. Pour y répondre, on peut utiliser la même étude que j’ai utilisé dans l’article précédent. L’étude divise le numérique en trois domaines qu’elle appelle niveaux. Les niveaux sont les suivants: terminaux utilisateurs, datacenters et réseau. Pour chaque niveau, l’étude prend en compte 12 indicateurs différents.
Alors que dit l’étude ? Ces sont les terminaux utilisateurs qui sont responsables de la majorité des impacts environnementaux, avec entre 58% et 89% des impacts en fonction des indicateurs. Ensuite ce sont les datacenters avec entre 5% et 29% des impacts et finalement le réseau avec entre 6% à 18% des impacts.
Pourquoi les terminaux utilisateurs ont tant d’impact proportionnellement au reste ? Comment des smartphones peuvent avoir plus d’impact que des immenses datacenters avec une puissance de 100 MW ? La raison est que les datacenters consomment beaucoup d’énergie, mais il y a beaucoup moins de serveurs dans le monde que de smartphones et de laptops. Chaque appareil a un impact faible, mais multiplié par des milliards l’impact devient tout de suite beaucoup plus grand.
Une autre raison est que l’étude ne prend pas en compte les datacenters situés à l’étranger mais utilisés par les européens. Une autre étude a pris en compte ces datacenters et obtient des résultats différents. Les terminaux sont toujours dominants en terme d’impacts, mais l’écart avec les datacenters est moins grand. Si vous êtes intéressé par les détails vous pouvez consulter l’étude.
La répartition des impacts le long du cycle de vie
L’efficacité énergétique des puces augmente chaque année: on a besoin de moins d’énergie pour faire le même calcul. Pour réduire l’énergie utilisée et donc les impacts sur l’environnement, est-ce qu’il faut changer ses appareils le plus souvent possible ? Oui si on regarde seulement la phase d’utilisation. Mais si on regarde le cycle de vie complet d’un appareil, ce n’est pas le cas. Pour la suite des analyses, on va se concentrer sur les deux phases qui concentrent la majorité des impacts: les phases de fabrication et d’utilisation.
Terminaux utilisateurs
Pour les terminaux utilisateurs, la majorité des impacts vient de la phase de fabrication. Les terminaux sont souvent en veille ou éteints et les terminaux portables sont optimisés pour une faible consommation d’énergie. Cela explique pourquoi la phase de fabrication a le plus d’impact.
Réseau et datacenters
A l’inverse des terminaux utilisateurs, le réseau et les serveurs des datacenters sont utilisés en permanence. Dans ce cas, la phase d’utilisation a le plus d’impact, mais les impacts de la phase de fabrication ne sont pas négligeables et varient en fonction de l’indicateur regardé. Si on prend par exemple l’utilisation des ressources et minéraux, alors l’impact se situe entièrement pendant la phase de fabrication.
Les principes à suivre pour réduire les impacts environnementaux du numérique
Les terminaux utilisateurs
On a vu que la phase qui a le plus d’impact pour les terminaux utilisateurs est la phase de fabrication. Et donc l’action qui a le plus d’impact, c’est d’allonger leur durée de vie. Il y a plusieurs raisons pour lesquelles les utilisateurs changent de terminaux, mais il y en a deux principales sur lesquelles les développeurs peuvent agir.
La première raison est le changement de terminal car il ne reçoit plus de mises à jour de sécurité ou qu’il n’est plus compatible avec les nouvelles versions des applications utilisées par l’utilisateur. Ce problème est particulièrement présent sur les smartphones. Par exemple si votre application de messagerie préférée ne fonctionne plus sur votre smartphone, alors il y a de grandes chances pour que vous en achetiez un nouveau même si il fonctionne encore parfaitement. En tant que développeur, il faut tout faire pour que vos applications soient accessible sur les terminaux les plus anciens possible. Et continuer d’assurer des mises à jour de sécurité le plus longtemps possible.
La deuxième raison de changement est le cas où le terminal n’est plus assez puissant. Ou plutôt car les nouvelles applications sont trop lentes. Vous connaissez peut-être la loi de Moore, une loi empirique qui prédit que le nombre de transistors dans un circuit intégré double tous les deux ans. Cela a permis le développement du numérique tel qu’on le connaît, mais a aussi des conséquences négatives. En effet, une grande partie de cette puissance est utilisée pour améliorer la productivité des développeur, qui vont écrire du code dans des langages de haut niveau moins performants et vont passer moins de temps à optimiser leurs programmes. Les programmes fonctionneront très bien sur des terminaux récents, mais moins bien sur des terminaux plus anciens et moins puissants. Le programme deviendra donc plus lent et encouragera les utilisateurs à changer pour un terminal plus puissant.
Comment éviter ce genre de situation ? La réponse est assez simple: écrire des programmes plus performants. Penser aux terminaux moins puissants quand on développe. Il y a beaucoup de manières de le faire, j’en parlerai plus en détails dans un futur article.
Les datacenters
Et les datacenters ? Leur impact est moindre que les terminaux utilisateur, mais si vous faites tourner des programmes sur des serveurs, ça reste intéressant de réduire leur impact.
Comme pour les terminaux utilisateurs, on peut réduire l’impact des serveurs en augmentant leur durée de vie. En tant de développeur, vous ne gérez probablement pas directement les serveurs, mais vous pouvez peut-être choisir un datacenter qui garde des serveurs plus longtemps que la moyenne. Vous pouvez aussi choisir un datacenter qui a une bonne efficacité énergétique avec un PUE (Power usage effectiveness) faible. Et finalement choisir un serveur alimenté par une électricité bas carbone.
Vous pouvez aussi améliorer l’utilisation des ressources: si vous fournissez le même service en utilisant moins de serveurs, la consommation d’électricité sera diminuée. Et on aura besoin de fabriquer moins de serveurs. Voilà quelques pistes pour améliorer votre utilisation des ressources: éteindre les services plus utilisés, bien dimensionner les VMs pour éviter le gâchis de ressources ou encore scale le nombre d’instances en fonction de la demande.
En résumé: les principes à suivre
On peut résumer les principes définis dans cet article comme ceci.
Pour les terminaux utilisateurs, allonger la durée de vie en:
- Garantissant les mises à jour de sécurité pour tous les terminaux.
- Garantissant la compatibilité pour tous les terminaux.
- Offrant des performances suffisantes pour tous les terminaux.
Pour les datacenters:
- Réduire l’usage en augmentant le taux d’utilisation des serveurs ou VMs.
- Choisir un datacenter performant (bon PUE), alimenté par des sources d’électricité bas carbone et gardant longtemps les serveurs.