Eco-design at MobileThinking

Architecture and Green Code

05.08.2025

Third challenge : rethinking foundations

After reducing the media load and better distributing processing between the front and back ends, our third eco-design challenge tackled a less visible but equally essential area : technical architecture and the way code is structured.

And who better than Vincent, working hand in hand with Mipam, to explore the best practices to adopt in terms of design and development ?

Because sometimes, coding in a more simple way means thinking differently first.

Initial findings 🔎

Behind every website, there is an ‘infrastructure’ that keeps everything running : servers, databases, stored files, communication protocols...

On the surface, these elements are often invisible, but they require a lot of energy.

As Neil Armstrong could have once said : one small click for a user, one significant impact for servers

Issues identified 🤔

Our duo examined various levels of this digital ‘machine’ :
  • Infrastructure : is it well-sized or too heavy for actual needs?
  • Communication between system components : can certain unnecessary exchanges be avoided?
  • Database : are queries optimised or too resource-intensive by default?
  • Service organisation (orchestration) : are resources shared intelligently, or are they being wasted?
  • Storage : is everything stored on energy-intensive ‘hot’ servers, even when it is not necessary?
  • HTTP/3 protocol : does it really bring efficiency gains, especially on mobile devices?

What we tested 🧪

To move forward, the team relied on concrete cases and measurement tools :
  • Scaphandre to estimate the actual energy consumption of certain operations.
  • Comparative database tests : MariaDB, PostgreSQL, SQLite, MySQL according to data volumes and query complexity.
  • Protocol comparison : HTTP/2 vs HTTP/3, especially in mobile use.
  • Complete audit of the backend code (Laravel + PHP) : lighter queries, cache management, activation of optimisations such as OPcache.
  • Analysis of storage types : ‘active’ data vs archived data.
  • Tests between the test environment (staging) and production to evaluate the real differences in energy performance.

Areas for improvement

Here are some decisions that have already been implemented or planned :
  • Stay with a committed hosting provider (such as Infomaniak) and bring technical elements closer together to limit network distances.
  • Use CDNs (content delivery networks) to serve files more efficiently, depending on location.
  • Enable HTTP/3 only on mobile devices, where it makes sense.
  • Rethink the structure of databases : avoid overly heavy queries, use the cache, anticipate needs.
  • Lighten Docker containers and monitor their consumption with appropriate tools.
  • Enable all PHP optimisations (OPcache, JIT), clean up unnecessary Laravel modules, and distribute processing more evenly.

What we'll keep in mind

This challenge has shown us that the environmental impact of a digital service is not only determined by visible choices, but also, and above all, by the technical foundations that are laid from the very start.

Thinking about architecture means shifting from a focus on immediate performance to a long-term vision, where each component has a purpose and each process has a real use.

And this isn't just a matter for backend developers or DevOps : it's a collective responsibility that begins with the initial design blueprints.

To be continued… ✨

We have optimised media, balanced processing, redesigned architecture... but another project is still waiting for us : languages and frameworks.
  • Backend : Laravel, Express, other alternatives? Are all frameworks equal?
  • Frontend : React, Vue, Svelte... what is their actual consumption?
  • And how can we concretely measure the impact of a language or framework, between requests, data processing, and display?
👉 We will share all our thoughts and solutions with you in the next article!