Introduction

In the ever-evolving landscape of modern technology, a critical conversation has been unfolding around the environmental impact of our digital advancements. The spotlight has more recently been sharply focused on the primary offending sectors like cryptocurrency and artificial intelligence, revealing a concerning narrative about their substantial energy consumption and carbon footprint. This narrative also extends to the broader tech realm, encompassing the vast and intricate web of digital solutions we have all come to rely on.

Amidst this backdrop, the IT sector, including software development, is becoming increasingly recognized for its significant carbon footprint. Recent estimates suggest that its CO2 emissions are around 4% of global totals, comparable to the aviation industry. This alarming statistic underscores the urgent need for sustainable practices within the sector.

Organizations like the Green Software Foundation and The Green Web Foundation are at the forefront of addressing these challenges. They are leading the way in developing standards and best practices for greener software development. Their focus on software efficiency and energy-aware design is crucial in reshaping how the industry approaches sustainability.

Drupal is a leading open-source CMS that powers 1% of the entire Internet, including 6.6% of the top 10,000 sites, and the Drupal community has a sustainability initiative as well. The community estimates the carbon footprint of Drupal.org, carefully follows the environmental commitments of our partners like GitLab, and tracks software issues that have an impact on sustainability. The Drupal project is also a recognized Digital Public Good based on its role in helping to attain the UN sustainable development goals, which include environmental impact. But there's much more we can and should do.

In the context of these developments, there is an opportunity to examine how we can optimize our websites and web applications in production and during development. The advent of more advanced development pipelines over the past decade has presented us with a prime opportunity to proactively reduce unnecessary resource-consuming patterns in our code and execution at runtime. Put very simply, better-performing applications are better for both business and the environment.

Today, we want to present what we believe to be a significant next step. We'll discuss Gander, an automated performance testing framework for Drupal, and how it contributes to the path toward a more sustainable future with Drupal.

Gander: Integrated Performance Testing for Drupal

Gander, an open-source automated performance testing framework, represents a continued collaboration between the Google Chrome team and Tag1 Consulting to optimize Drupal's execution. As a tool specifically designed for Drupal, which powers millions of websites and applications globally, Gander's integration into Drupal’s CI Pipeline is a game-changer.

The tool provides performance testing during the development of Drupal core that helps to catch any performance regressions introduced by new development and gives a measurement to the impact of optimization work that did not exist before. Ensuring that performance (and therefore sustainability) is always considered in the Drupal roadmap, paying dividends to every software end user. It also empowers anyone running Drupal to incorporate performance testing into their projects, where we know that reducing friction in the user experience and enhancing user engagement will improve conversion rates and give them a stronger competitive position.

The introduction of Gander represents a paradigm shift in the way Drupal approaches performance testing. Traditionally a manual and reactive process, performance testing now becomes proactive and automated with Gander, benefiting Drupal core maintainers and, ultimately, the end-users of Drupal.

Furthermore, Gander sets a precedent for integrating performance optimization tools in the open-source CMS community as a whole. WordPress is also implementing an automated performance testing framework in collaboration with the Google Chrome team, and we hope that our experience with Gander can help accelerate their work.

Drupal, GitLab & Gander: A Leap in the Right Direction

Many mature open-source platforms were built before modern developer tooling stacks were available. Drupal was no different, but the Drupal Association made a significant investment to move the Drupal project to GitLab in recent years for its code management and community contributions. This represents a significant stride towards enhanced development and quality assurance processes and a strategic decision to embrace a more collaborative and integrated approach vs. the previously custom-built solution that was starting to age and lacked contemporary development features.

GitLab, known for its robust DevOps capabilities, made it possible to introduce Gander, an automated performance testing framework, into Drupal's pipeline alongside the existing QA system, a solution that Tag1 also helps support and maintain as a partner of the Drupal Association.

Gander's initial development focus was on optimizing Drupal Core and ensuring that the core functionalities of Drupal receive dedicated attention for performance enhancement. However, the framework's design is not limited to just Drupal Core. By using GitLab’s “runners,” Its architecture allows for easy extension to contributed and custom code development.

This flexibility means that the entire Drupal ecosystem can benefit from Gander's performance optimization and efficiency, ultimately contributing to Drupal's sustainability initiative. Integrating Gander into the Drupal project is not just a step but a leap in the right direction, fostering an environment where continuous improvement and efficient development are paramount.

A Closer Look at the Science Behind the Energy Savings

The Software Carbon Intensity (SCI) model is increasingly becoming the standard in integrating carbon impact assessments into software business operations. Renowned organizations, including Google, utilize this model to help gauge the environmental footprint of software, focusing on energy consumption and total greenhouse gas (GHG) emissions. This method aligns well with the growing emphasis on Environmental, Social, and Governance (ESG) policies, prompting companies of all sizes and types to evaluate the environmental impact of their digital activities in alignment with their broader ESG commitments.

However, directly applying the SCI model to assess Gander’s specific impact on Drupal currently involves some complex challenges. Carbon impact calculation is influenced by a diverse set of factors, such as server energy consumption patterns, multiple vendors across the stack (Hosting, CDN/WAF, APM, SEIM monitoring, etc.), the efficiency of different data centers, and hardware variety, to name a few. These aspects complicate any precise SCI-based assessment of Gander's sustainability contribution at this time.

While the complexities of measuring Gander's environmental impact are currently challenging, its overall benefits in performance optimization are evident, particularly given Drupal's vast global usage across millions of websites. Enhanced application performance typically reduces energy consumption, indicating a significant environmental benefit. As cloud and service providers enhance the accessibility of relevant metrics, we anticipate a future where integrating SCI or similar environmental impact measurements into Drupal's development and production processes becomes more straightforward. This advancement would allow for real-time visualization of environmental impacts in dashboards, build runtimes, and admin interfaces, providing a tangible and measurable view of the ecological advantages gained from performance optimization.

Future Prospects

Looking ahead, Gander's role in Drupal's ecosystem is poised for expansion and enhancement. Most importantly, we want to align with the goals set forth by the community project around the Sustainability of Drupal. Future developments include more performance testing of Drupal core, including testing of merge requests and active branches, thereby ensuring continuous improvement in performance and scalability, highlighting that investing resources early in the development cycle translates into an exponential efficiency gain on this investment downstream.

Additionally, Gander plans to extend its capabilities to the realm of contributed modules and distributions. We would like to see rapid adoption by the community and look forward to seeing tailored performance tests written and run regularly by these project maintainers. This expansion will improve the quality of individual modules and contribute to Drupal-powered sites' overall efficiency across the web.

Near future enhancements like image optimization detection and database request load counts in Gander could further amplify these benefits, reducing load times and energy usage and will help solidify Drupal's position as a leader in sustainable web development.

Conclusion: Promoting Gander's Core Purpose

In summary, Gander stands as a testament to advancing Drupal's capabilities, primarily focusing on automated performance and scalability. It's a tool that benefits Drupal developers and the vast community of end-users and site builders, ensuring that Drupal's performance is consistently elevated. Gander's role extends beyond mere technical enhancements; it's about fostering a more efficient, responsive, and sustainable digital ecosystem.

We encourage everyone in the Drupal community and beyond to explore Gander to see its impact on website performance firsthand. Your involvement and feedback are crucial in shaping a more sustainable and efficient future for technology. Together, let us embrace and contribute to this innovative journey with Gander, enhancing Drupal, the broader digital world, and the real world we all share.

We want to thank the Google Chrome team for their investment in the sustainability of open-source software, the GitLab team for their tooling, which enabled us to integrate Gander into the Drupal development cycle, and the Drupal Association for their collaboration in making this vision a reality for the community.

Huge thanks also to Adam Silverstein (Google, WordPress), Tim Lehnen (Drupal Association), Michael Meyers, Mariano Crivello, and Janez Urevc for contributing to this blog post.


Image by JackieLou DL from Pixabay