version v7.2.
For up-to-date documentation, see the
latest version.
Ecodesign
5 minute read
Introduction
The Ecodesign Initiative refers to Thales’s commitment towards sustainability and reducing environmental impact through innovative technology solutions.
Eco Coding is an emerging discipline within software development that emphasizes the creation of software applications with a minimized ecological footprint throughout its lifecycle, from design and development to deployment and use.
Eco Coding Practices
Eco Coding begins with the same principles that are used in traditional coding. To reduce the amount of energy needed to process code, developers can adopt less energy-intensive coding principles into their DevOps lifecycle.
Implementing Eco Coding practices is essential for software engineers who are aiming to minimize the environmental impact of their work.
Here are several key practices that can contribute to a more sustainable approach in software development:
Efficient Algorithms
- Optimization: Write algorithms that reduce complexity and execution time.
- Complexity Reduction: Aim for solutions that require fewer computational resources, especially for tasks that will be run frequently or at scale.
Examples
- QuickSort, MergeSort
- These algorithms have better time complexity compared to simpler algorithms like BubbleSort, which means they require fewer computational resources and less energy.
- Using Hash Tables for fast lookups
- Hash tables provide average-case constant time complexity for insertions, deletions, and lookups, which can significantly reduce the energy consumption for large datasets.
- Binary Search
- Binary search reduces the number of comparisons needed to find an element in a sorted list, thus saving computational resources.
Code Refactoring
- Maintainability: Regularly refactor code to improve structure and readability, which can lead to better performance and less resource consumption.
- Removing Dead Code: Eliminate unnecessary functions or services within the codebase to reduce processing overhead.
Minimalism in Design
- Lightweight Applications: Focus on creating minimalistic applications that require fewer resources, resulting in lower energy usage.
- User-Centric Features: Prioritize features that are essential to users, which is also a agile principales.
Code Bloat
Code Bloat refers to unnecessarily long or slow code that wastes resources.
Open-source code can be a contributing factor to this software bloat. Because open-source code is designed to serve a wide range of applications, it contains a significant amount of code that goes unutilized for the specific software.
For example, pulling an entire library into an image but only using part of its functionality leads to excess carbon emissions.
This redundant code uses additional processing power and leads to excess carbon emissions.
Energy-Efficient Programming
- Language Choice: Select programming languages and frameworks that enable efficient resource use, like Rust and Go. For example, compiled languages may often offer better performance compared to interpreted languages.
- Concurrency and Parallelism: Utilize multithreading and asynchronous programming to optimize performance, preventing resource contention and reducing CPU consumption.
- Database Efficiency: Write optimized SQL queries, use indexing, and implement caching strategies to reduce queries to databases, lowering energy consumption during data retrieval.
- Network Optimization: Reduce the number of network requests by batching them, and prefer asynchronous calls to prevent blocking operations and usage of cache.
Utilize Green Infrastructure
- Cloud Solutions: Take advantage of auto-scaling to ensure resources are only used when needed. Some cloud providers prioritize sustainable practices:
- Containerization: Use containerization (e.g., Docker) to ensure efficient resource allocation, mitigating waste related to virtual machines.
Thales Ecodesign Initiatives
At Thales, we developed an ecodesign approach that integrates Thales’ engineering processes with specific tools like PETER and CLOE that all engineering teams can use.
You can deep dive by visiting Ecodesign Community .
Product Evaluation Tool for Ecodesign and Reporting (PETER)
PETER is a dedicated eco-design platform developed by Thales to support product developers and engineers in assessing and reducing the environmental footprint of their designs.
It provides easy access to environmental data, guidelines, and best practices, enabling informed decision-making early in the design phase
CheckList for Orienting Ecodesigns (CLOE)
CLOE complements PETER by offering a collaborative environment focused on the entire product lifecycle.
It facilitates the collection, analysis, and sharing of lifecycle data to optimize resource usage and sustainability outcomes across design, manufacturing, operation, and end-of-life stages.
Green Code Initiative

The green-code-initiative is a collaborative effort focused on promoting environmentally sustainable software development practices.
Its primary mission is to propose ways to evaluate the environmental footprint of software and digital services based on the code itself.
One of their key projects is CREEDENGO , a suite of SonarQube plugins designed to analyze
the ecological footprint of your code by minimizing unnecessary processing and resource usage and writing efficient and optimized code.

Creedengo plugin supports multiple programming languages:

Software Factory integrates Creedengo plugins into our SonarQube instances to ensure our code meets sustainability standards. Please visit our creedengo usage in SonarQube tutorials.
EcoIndex Initiative
EcoIndex is a French project designed to measure and raise awareness about the environmental impact of websites.
EcoIndex provides an evaluation of websites “eco-friendliness” by analyzing factors such as :
- the amount of data transferred
- the number of requests,
- the technical complexity of web pages.
EcoIndex provide only an estimation based on technical characteristics and does not directly measure raw energy usage of specific user interactions.
However It is widely recognized in France and Europe as a reference for sustainable digital practices.
How does it work?
By inputting a website address, EcoIndex analyzes the page and assigns it an “EcoIndex Score”, usually shown as a letter grade (A to G) and a numerical score.
The higher the score, the more energy-efficient and environmentally friendly (A) the website is.

Metrics Analyzed
EcoIndex considers aspects like DOM size, number of HTTP requests, page weight, and others to compute its rating.
Environmental Awareness
The digital sector consumes significant amounts of electricity and resources, often underestimated by companies and individuals.
EcoIndex’s purpose aims to make these impacts visible and actionable.
How does it help?
Guidances: Website owners and developers can use EcoIndex’s feedback to optimize their sites:
- Simplifying the structure,
- Reducing images
- Minimizing scripts, and more guidelines .
Open Source and Community-Driven: The methodology and tool are open and available to anyone, encouraging community contributions and transparency .
Size the Architecture
Optimize IT resource allocation by sizing your architecture to match actual needs, using scalability, stateless design, and frugal patterns.