Previous Article in Journal
Fuzzy Logic Detector for Photovoltaic Fault Diagnosis
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Proceeding Paper

Green DevOps: A Strategic Framework for Sustainable Software Development †

by
Mohamed Toufik Ailane
1,
Carolin Rubner
1 and
Andreas Rausch
2
1
Siemens Foundational Technologies, Siemens AG, 91052 Erlangen, Germany
2
Institute for Software and Systems Engineering, Clausthal University of Technology, 38678 Clausthal-Zellerfeld, Germany
Presented at the International Conference on Sustainable Computing and Green Technologies (SCGT’2025), Larache, Morocco, 14–15 May 2025.
Comput. Sci. Math. Forum 2025, 10(1), 5; https://doi.org/10.3390/cmsf2025010005
Published: 16 June 2025

Abstract

:
In the era of digital transformation, the environmental impact of software development has become a pressing concern, necessitating the integration of sustainability into software development processes. This paper addresses how DevOps, traditionally celebrated for enhancing efficiency and speed in software delivery, can integrate sustainability principles to mitigate environmental impacts. We propose guidelines for integrating sustainability throughout the DevOps life cycle, aiming for significant carbon footprint reduction without compromising quality. Using a Life Cycle Assessment (LCA) approach, this study enables stakeholders to incorporate green guidelines at various software development and operation stages, enhancing software environmental friendliness. Our model supports sustainable software development and encourages proactive environmental impact minimization.

1. Introduction

As digital transformation accelerates, the environmental impact of the software industry is becoming increasingly significant. The ICT sector accounts for 2–4% of global CO2 emissions, potentially rising to 14% by 2040 [1]. This underscores the urgency of aligning software engineering with global sustainability goals.
The Brundtland Commission’s 1987 report Our Common Future defines sustainable development as meeting present needs without compromising future generations. This principle highlights the importance of balancing environmental, social, and economic dimensions.
DevOps—valued for speed, efficiency, and adaptability—offers a natural foundation for embedding sustainability by optimizing resources and reducing waste. Frameworks like SusDevOps [2] and the DevOps Paradigm with Cloud Data Analytics [3] emphasize this need but often remain conceptual or static. Green DevOps builds on these by offering a continuously updated, stakeholder-driven framework developed in an industrial context. It evolves based on real-world feedback to remain practically relevant across DevOps phases.
Techniques such as virtualization and cloud-based testing have demonstrated energy savings in Agile and DevOps contexts [4]. Recent work by Poth et al. advocates a shift left to introduce sustainability earlier in development, aligned with ISO 14001 [5,6].
This paper introduces Green DevOps: a strategic approach for integrating sustainability across the DevOps lifecycle using Life Cycle Assessment (LCA). We equip Siemens teams with tools to reduce emissions and energy usage without compromising quality.
We present (1) phase-specific sustainability guidelines; (2) a Siemens case study of their implementation; and (3) open challenges, future work, and opportunities for improvement.

2. Definitions and Fundamentals

This section introduces core sustainability concepts relevant to software engineering, ensuring a shared understanding for DevOps practitioners.

2.1. Sustainability Viewpoints

Software sustainability comprises two complementary perspectives: Sustainable Software, which focuses on long-term maintainability, adaptability, and reliability; and Software Engineering for Sustainability (SE4S), which aims to develop systems that actively support environmental goals in their operational context [7,8,9].

2.2. Sustainability Directions

Two main strategic directions guide sustainability: Green by Digitalization, where software improves efficiency in traditional sectors (e.g., smart grids) [10,11]; and Green for Digitalization, where sustainability is embedded in the development process itself through resource-efficient and energy-aware design [9,12,13,14].

2.3. Sustainability Effects and Emission Scopes

Software exerts environmental impact across multiple levels. First-order effects are direct (e.g., energy used during development). Second-order effects stem from efficiency gains, and third-order effects represent long-term systemic shifts and rebound behaviors [15,16]. Emissions are categorized by the Greenhouse Gas Protocol: Scope 1 (direct emissions), Scope 2 (purchased energy), and Scope 3 (value chain and user-side emissions) [9,17].

2.4. Sustainability Dimensions

The Karlskrona Manifesto defines five sustainability dimensions in software: environmental (energy, resources), social (inclusivity, equity), economic (efficiency, lifecycle cost), technical (scalability, maintainability), and individual (user well-being). These dimensions ensure a holistic and balanced sustainability approach [7,17].

3. Green DevOps: Sustainable Development Process

This section outlines how sustainability can be integrated across the DevOps lifecycle, using a green decision-making approach grounded in established guidelines and practices. Sustainability becomes an emergent property when systematically embedded into development and operations.

3.1. Plan Phase

The planning phase lays the foundation for incorporating sustainability from the outset [18]. It ensures environmental considerations influence both design and operations. Figure 1 illustrates the hierarchical structure of sustainability integration in planning.

3.1.1. Sustainability as a Software Requirement

Sustainability can be addressed either directly or indirectly. The direct approach, considered ideal, involves defining explicit sustainability requirements early in the lifecycle. A guiding question might be: “What sustainability targets (e.g., carbon intensity or energy efficiency) must our software meet under standards like ISO 14001?" [6].

Sustainability as a System Quality (Direct Approach)

In this approach, sustainability becomes a non-functional requirement supported by existing frameworks and standards:
  • Sustainability Frameworks: Models such as Greensoft [9] and ENSURE [19] embed sustainability into the engineering process.
  • Sustainability Standards: Standards like ISO 14000 and Software Carbon Intensity specifications offer measurable benchmarks.

Sustainability as an Emergent Quality (Indirect Approach)

The indirect approach supports ongoing or legacy projects by promoting sustainability through quality attributes like modifiability, reusability, portability, and usability [20]. This minimizes disruption while reducing environmental impact. A relevant prompt might be: "How can enhancing reusability reduce resource use and emissions?"

3.1.2. Key Performance Indicators (KPIs)

KPIs are essential for tracking sustainability goals throughout the DevOps lifecycle.
  • DevOps-based KPIs: Embedding sustainability into standard DevOps metrics encourages eco-conscious decision-making. For instance, extending Mean Time to Recovery (MTTR) to include energy usage promotes energy-efficient recovery. Similarly, refining Deployment Frequency to reflect environmental costs discourages redundant releases.
  • Sustainability-based KPIs: These quantify software-related environmental impacts, focusing primarily on carbon and energy reduction. They follow practices such as the Software Carbon Intensity (SCI) specification.
    Software Carbon Intensity (SCI): Measures CO2 emissions per functional unit: SCI = O + M R , where O is operational emissions, M embodied emissions, and R the reference unit (e.g., API calls). In practice, O was computed from energy use and regional carbon intensity (via Climatiq.io), and M from EPDs or cloud provider datasets.
    Energy Consumption Metrics: Quantify energy use per software function. On-premise setups used power meters; cloud environments relied on CPU, memory, and I/O metrics with regression-based estimates. RAPL (Intel) and PAPI APIs were employed to access performance counters and validate results.
    Carbon Intensity Metric: Expressed in gCO2/kWh, this metric tracks CO2 emissions from consumed electricity. Regional values were retrieved via Climatiq.io, based on app deployment geography.
    Embodied Carbon Metrics: Capture emissions from hardware lifecycle (manufacture to disposal). Values were extracted from Siemens EPDs or public cloud datasets for non-Siemens infrastructure.
    Environmental Impact KPIs: These LCA-derived indicators offer a broader footprint:
    *
    Cumulated Energy Demand (CED): Total primary energy used across the lifecycle. Sourced from Siemens EPDs.
    *
    Global Warming Potential (GWP): Total CO2 equivalent emissions, based on the same documentation.
Integrating these KPIs into software development enables organizations to make data-driven decisions, aligning delivery practices with sustainability targets and broader climate goals.

3.2. Design Phase

The design phase is crucial for embedding sustainability into software systems. Key decisions around data handling and design patterns significantly influence energy efficiency.

3.2.1. Efficient Data Modeling

Sustainable data practices reduce environmental impact by minimizing processing and storage demands.
Data Frugality and Efficient Data Structures reduce memory and CPU usage, especially in AI workloads. Examples include using hash maps over nested lists, or NumPy arrays instead of Python lists.
Data Collection is limited to essential inputs, lowering energy use. For instance, forms with minimal fields and disabling verbose logging in production are effective.
Data Aggregation and Compression cut network transfer energy, e.g., gzip-compressed APIs or batching logs.
Data Deduplication and Retention Policies avoid unnecessary storage and computation. Examples: TTL for non-critical cache entries, or DB-level deduplication.
Data Caching improves responsiveness and cuts redundant queries. Robust Security and Privacy design prevents frequent patching, conserving resources.
Optimized Data Processing favors efficient algorithms (e.g., streaming, vectorized ops over nested loops). Using Green Data Centers—ideally renewables-powered—further reduces impact.

3.2.2. Energy Efficiency of Design Patterns

Design pattern choices can affect energy use. As shown in [21], some patterns (e.g., Decorator, Prototype) increase overhead, while others (Façade, Observer) are negligible.
Table 1 compares energy and time usage of selected patterns versus their “clean” counterparts—highlighting the need to evaluate sustainability during architectural decisions.
These insights reinforce the role of design in software sustainability, particularly in resource-constrained or high-scale systems.

3.3. Implementation Phase

The implementation phase presents key opportunities to reduce environmental impact through careful choices in programming languages, tools, and development practices. However, practical adoption of green techniques can face constraints such as team expertise, legacy codebases, or limited tool support.

3.3.1. Language, Library, and Tool Selection

Selecting energy-efficient programming languages [22], libraries, and tools is key to reducing the environmental impact of software. Low-level languages like C, Pascal, and Go offer high performance and energy efficiency, while Rust and C++ provide excellent memory management. In contrast, higher-level languages such as Java and Python are generally less efficient in terms of runtime and energy usage.
Challenges include compatibility with existing infrastructure, developer proficiency, and the maturity of ecosystem tooling. In many cases, the greenest language may not be feasible due to organizational or architectural constraints.
Libraries and APIs should also be chosen based on their computational efficiency and optimization for resource use. Prioritizing lightweight, performance-tuned components helps minimize processing overhead, lower energy consumption, and reduce the carbon footprint of the software.

3.3.2. Code and Compiler Optimization

Energy-intensive operations can be difficult to detect and may vary across platforms. Use code profilers to identify such hotspots and refactor them for better performance. Compiler optimizations—such as enabling flags for performance tuning—can reduce energy use during execution, but require careful benchmarking to avoid unintended regressions or side effects.
A common consideration is the trade-off between speed and energy efficiency. Teams must balance short-term performance goals with long-term sustainability objectives.

3.3.3. Development Pipeline Design

Understanding carbon emissions at the pipeline, stage, and job levels enables DevOps practitioners—particularly developers at Siemens—to recognize the environmental cost of each action. This awareness promotes triggering pipelines only when necessary and skipping redundant testing stages for specific changes, reducing unnecessary computational load and associated emissions.
Challenges include the lack of visibility into job-level emissions and the risk of under-testing critical features. Considerations include pipeline observability, test coverage impact, and integration with CI/CD dashboards that expose environmental metrics.
By applying these strategies, development teams can lower the environmental impact of software systems without compromising quality or delivery speed.
Despite the strategic choices outlined above, the implementation phase presented practical challenges. One notable difficulty was the inability to access real-time energy consumption and carbon footprint data for cloud-based applications. To work around this, we collected resource utilization metrics such as CPU load, memory usage, and storage access, and applied energy estimation models to derive approximate energy consumption and associated carbon footprint values. This enabled us to estimate on real-time Software Carbon Intensity (SCI). Another key challenge was retrieving region-specific carbon intensity data. To address this, we adopted third-party APIs such as Climatiq.io, which provide real-time carbon intensity estimates. This solution not only ensured accurate environmental impact modeling but also aligned with sustainability principles by reusing established tools rather than developing bespoke solutions—thereby reducing redundant effort and promoting resource-efficient practices.

3.4. Operation

The operation phase significantly influences a system’s environmental impact. Whether running on local servers, edge devices, or cloud infrastructure, optimizing runtime behavior is key to sustainable software.
Data Center Efficiency: Choosing providers with low Power Usage Effectiveness (PUE) ensures more energy is used for computing rather than overhead. Cloud operators should favor data centers that disclose and actively reduce their PUE.
Demand and Time Shifting: Aligning workloads with periods of low grid carbon intensity—through demand or time shifting—helps reduce emissions, especially in cloud or high-scale environments.
Use of Renewable Energy: While direct integration may be limited, selecting cloud providers committed to renewable energy sourcing supports broader sustainability efforts.
These practices help ensure that software operation contributes to environmental goals without compromising performance or availability.

4. Instantiation and Discussion

This section outlines how Siemens has operationalized sustainability within software development by creating structured guidelines aligned with the DevOps lifecycle, and reflects on their real-world application, challenges, and strategic direction.

4.1. Creation of the Sustainability Guidelines

To support sustainable practices across the DevOps pipeline, Siemens developed a structured set of internally accessible sustainability guidelines, organized by lifecycle phase—from planning to operations. These guidelines offer actionable advice, with rationale, compliance rules, and implementation tips. They are hosted on an internal platform that encourages exploration by role (e.g., developer, architect, DevOps engineer) and supports feedback and knowledge sharing.
Our contribution focused on providing these guidelines at a general and abstract level to allow teams autonomy in tailoring them to specific projects. Given the diversity of software architectures at Siemens, we recognized that sustainability optimization is highly context-dependent—what proves effective in one project may not apply directly to another. The guidelines were thus designed to be concrete enough to guide implementation, yet abstract enough to remain broadly applicable.

4.2. Implementation and Challenges

The rollout of the guidelines has primarily targeted the operation phase, where we observed the most immediate potential for impact through measurement and observability. We provided DevOps teams with tooling and metrics to assess sustainability indicators such as Software Carbon Intensity (SCI), energy consumption, and location-based carbon intensity.
In cloud-based applications, where energy data is often unavailable or delayed, we developed estimation mechanisms using CPU usage, memory allocation, and storage activity to infer energy consumption. These proxies helped quantify operational emissions when real-time energy data was lacking.
In several internal projects, these metrics were embedded into CI/CD pipelines and monitoring dashboards, enabling teams to reason about carbon impact at job and stage levels. The goal was to integrate sustainability insights into daily workflows—starting from the operation phase and gradually looping through earlier phases using the iterative nature of DevOps.
Despite the positive outcomes—such as increased awareness, reduced emissions, and improved resource utilization—challenges remain. These include limited support for real-time energy data from cloud platforms, measurement granularity issues, and the need for better standardization. Additionally, teams required initial ramp-up time to understand and apply the guidelines effectively.
Nevertheless, the experience demonstrates that sustainability integration can be achieved without major structural changes. By grounding sustainability in measurable indicators and providing flexible implementation paths, Siemens is building a scalable and adaptive model for sustainable software delivery.
While the presented work does not report quantified energy savings or emissions reductions, it represents the foundational step in Siemens’ broader sustainability journey. Our primary objective has been to raise awareness and provide actionable guidance to empower teams to start integrating sustainability into their processes. Measuring concrete impact is highly context-dependent and requires deep data collection across diverse projects. As such, the current effort emphasizes establishing best practices and standard metrics rather than quantifying reductions. Future phases of this initiative will focus on collecting and analyzing sustainability outcomes to validate the long-term effectiveness of the Green DevOps approach.

5. Conclusions and Future Work

This paper presented Green DevOps—a strategic approach to embedding sustainability across the software development lifecycle. By integrating sustainability into planning, design, implementation, and operation, we showed how DevOps practices can reduce environmental impact. The Siemens case illustrates the practicality and organizational value of applying structured sustainability guidelines.
This work has some limitations. It does not quantify energy savings or emissions reductions, and further validation in diverse industrial contexts remains essential. Future work will address these gaps by automating measurements and conducting comparative studies across projects and domains.
For other organizations, the path forward is to embed sustainability not only during operation, but also from the earliest stages of software development—starting with requirements and architecture. A quick win is to incorporate energy-aware metrics into CI/CD pipelines and to track carbon intensity using existing tools and APIs. Optimizing resource usage not only lowers environmental impact but often reduces operational costs, especially in large-scale systems.
The long-term goal is to treat sustainability as a default quality attribute across all software lifecycle stages. Achieving this requires a shared sense of responsibility, supported by transparent collaboration, community-driven guidelines, and continuous knowledge exchange across industries. Regular dialogue and the reuse of successful practices are vital to accelerating this transition.
Green DevOps helps position software engineering as a key enabler of global sustainability goals.

Author Contributions

Conceptualization, M.T.A.; Methodology, M.T.A.; Writing—original draft, M.T.A.; Writing—review and editing, C.R. and A.R.; Supervision, A.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within this paper.

Conflicts of Interest

Authors Mohamed Toufik Ailane and Carolin Rubner were employed by Siemens AG. The remaining author declares no conflicts of interest.

References

  1. Belkhir, L.; Elmeligi, A. Assessing ICT global emissions footprint: Trends to 2040 & recommendations. J. Clean. Prod. 2018, 177, 448–463. [Google Scholar]
  2. David, I. SusDevOps: Promoting Sustainability to a First Principle in Software Delivery. arXiv 2023, arXiv:2312.14843. [Google Scholar]
  3. Pawlish, M.J.; Varde, A.S. The DevOps paradigm with cloud data analytics for green business applications. ACM Sigkdd Explor. Newsl. 2018, 20, 51–59. [Google Scholar] [CrossRef]
  4. Pawlish, M.; Varde, A.S. Green software testing for cloud readiness: A view from the industry. J. Cloud Comput. 2018, 7, 19. [Google Scholar]
  5. Poth, A.; Eißfeldt, D.; Heimann, C.; Waschk, S. Sustainable IT in an Agile DevOps Setup Leads to a Shift Left in Sustainability Engineering. J. Sustain. Comput. Inform. Syst. 2024, 14, 22–34. [Google Scholar]
  6. ISO 14001:2015; Environmental Management Systems—Requirements with Guidance for Use. International Organization for Standardization: Geneva, Switzerland, 2015.
  7. Penzenstadler, B.; Femmer, H.; Richardson, D. Who is the advocate? Stakeholders for sustainability. In Proceedings of the 2013 2nd International Workshop on Green and Sustainable Software (GREENS), San Francisco, CA, USA, 20 May 2013; pp. 70–77. [Google Scholar]
  8. Penzenstadler, B.; Raturi, A.; Richardson, D.; Tomlinson, B. Safety, security, now sustainability: The nonfunctional requirement for the 21st century. IEEE Softw. 2014, 31, 40–47. [Google Scholar] [CrossRef]
  9. Naumann, S.; Dick, M.; Kern, E.; Johann, T. The GREENSOFT Model: A reference model for green and sustainable software and its engineering. Sustain. Comput. Inform. Syst. 2011, 1, 294–304. [Google Scholar] [CrossRef]
  10. Kramers, A.; Wangel, J.; Höjer, M.; Finnveden, G.; Svane, Ö. Smart cities and the green economy: A comparative analysis of policies from Stockholm and Barcelona. J. Clean. Prod. 2014, 65, 1–14. [Google Scholar]
  11. Bibri, S.E.; Krogstie, J. Smart sustainable cities of the future: An extensive interdisciplinary literature review. Sustain. Cities Soc. 2017, 31, 183–212. [Google Scholar] [CrossRef]
  12. Mahmoud, S.S.; Ahmad, I. A green model for sustainable software engineering. Int. J. Softw. Eng. Its Appl. 2013, 7, 55–74. [Google Scholar]
  13. Naumann, S.; Kern, E.; Dick, M.; Johann, T. Sustainable software engineering: Process and quality models, life cycle, and social aspects. In ICT Innovations for Sustainability; Springer International Publishing: Cham, Switzerland, 2015. [Google Scholar]
  14. Dick, M.; Naumann, S.; Kuhn, N. The state of the art in software sustainability. IEEE Softw. 2020, 37, 20–27. [Google Scholar]
  15. Hilty, L.M.; Arnfalk, P.; Erdmann, L.; Goodman, J.; Lehmann, M.; Wäger, P.A. The relevance of information and communication technologies for environmental sustainability—A prospective simulation study. Environ. Model. Softw. 2006, 21, 1618–1629. [Google Scholar] [CrossRef]
  16. Penzenstadler, B.; Duboc, L.; Venters, C.C.; Betz, S.; Seyff, N.; Wnuk, K.; Becker, C. Software Engineering for Sustainability: Find the leverage points! IEEE Softw. 2018, 35, 22–33. [Google Scholar] [CrossRef]
  17. Lago, P.; Akinli Kocak, S.; Crnkovic, I.; Penzenstadler, B. Framing sustainability as a property of software quality. Commun. ACM 2015, 58, 70–78. [Google Scholar] [CrossRef]
  18. Becker, C.; Betz, S.; Chitchyan, R.; Duboc, L.; Easterbrook, S.M.; Penzenstadler, B.; Seyff, N.; Venters, C.C. Requirements: The key to sustainability. IEEE Softw. 2015, 33, 56–65. [Google Scholar] [CrossRef]
  19. Saputri, T.R.D.; Lee, S.-W. Addressing sustainability in the requirements engineering process: From elicitation to functional decomposition. J. Softw. Evol. Process 2020, 32, e2254. [Google Scholar] [CrossRef]
  20. Murugesan, S. Harnessing green IT: Principles and practices. IT Prof. 2008, 10, 24–33. [Google Scholar] [CrossRef]
  21. Bunse, C.; Stiemer, S. On the energy consumption of design patterns. Softwaretechnik-Trends 2013, 33, 4–5. [Google Scholar] [CrossRef]
  22. Pang, C.; Hindle, A.; Adams, B.; Hassan, A.E. What do programmers know about software energy consumption? IEEE Softw. 2015, 33, 83–89. [Google Scholar] [CrossRef]
Figure 1. Hierarchical organization of sustainability in the Green DevOps planning phase.
Figure 1. Hierarchical organization of sustainability in the Green DevOps planning phase.
Csmf 10 00005 g001
Table 1. Comparison of design patterns: clean vs. pattern implementation.
Table 1. Comparison of design patterns: clean vs. pattern implementation.
Difference (%)
PatternSystemOverall TimeEnergy (J)TimeEnergy
FaçadeClean15.40395.601.802.50
Pattern15.70405.60
Abstract FactoryClean13.50342.1014.2015.90
Pattern15.40396.60
ObserverClean15.10373.700.900.10
Pattern15.20373.90
DecoratorClean15.20374.00132.40133.60
Pattern35.40873.80
PrototypeClean11.20271.8033.0033.20
Pattern14.90362.00
Template MethodClean15.00366.400.300.10
Pattern15.10366.70
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ailane, M.T.; Rubner, C.; Rausch, A. Green DevOps: A Strategic Framework for Sustainable Software Development. Comput. Sci. Math. Forum 2025, 10, 5. https://doi.org/10.3390/cmsf2025010005

AMA Style

Ailane MT, Rubner C, Rausch A. Green DevOps: A Strategic Framework for Sustainable Software Development. Computer Sciences & Mathematics Forum. 2025; 10(1):5. https://doi.org/10.3390/cmsf2025010005

Chicago/Turabian Style

Ailane, Mohamed Toufik, Carolin Rubner, and Andreas Rausch. 2025. "Green DevOps: A Strategic Framework for Sustainable Software Development" Computer Sciences & Mathematics Forum 10, no. 1: 5. https://doi.org/10.3390/cmsf2025010005

APA Style

Ailane, M. T., Rubner, C., & Rausch, A. (2025). Green DevOps: A Strategic Framework for Sustainable Software Development. Computer Sciences & Mathematics Forum, 10(1), 5. https://doi.org/10.3390/cmsf2025010005

Article Metrics

Back to TopTop