Green Software Engineering

Book description

Craft sustainable software and reduce digital environmental impact with practical strategies and principles

Key Features

  • Discover practical strategies for developing energy-efficient digital solutions across various domains
  • Learn effective strategies to measure and mitigate the environmental impact of digital solutions
  • Explore real-world examples of integrating sustainable design patterns into the software development cycle
  • Purchase of the print or Kindle book includes a free PDF eBook

Book Description

Embark on a transformative journey toward sustainable software engineering, exploring the vital intersection of technology and environmental responsibility. Authored by Santiago Fontanarrosa, a Green Software Foundation member with 20+ years in software engineering, this book explores practical strategies and use cases to help you assess and mitigate digital product environmental impact.

Through real-world examples and hands-on experiences, you’ll gain the skills you need to craft environmentally responsible solutions aligned with green software engineering principles. As you progress, you’ll assess and optimize software architecture for sustainability within a sustainable software delivery framework schema. Beyond technical insights, the book delves into ethical implications and societal impacts, fostering a deeper understanding of the broader implications of technology usage.

As you approach the conclusion, you’ll have gained the ability to comprehend, measure, and craft energy-efficient digital solutions aligned with green software engineering principles.

What you will learn

  • Optimize software and infrastructure for sustainability
  • Integrate green software principles into the Agile Software Development Life Cycle
  • Explore emerging trends and technologies shaping the future of green software engineering
  • Reflect on tech ethics as well as address societal and environmental concerns
  • Implement industry standards and reporting methodologies for software emissions
  • Measure digital operations' environmental footprint with methodologies
  • Mitigate software's ecological impact with strategic approaches

Who this book is for

If you’re a software developer, software architect, or IT professional who wants to integrate sustainability into your organization, this book is for you. Whether you're a seasoned professional or a sustainability-focused tech enthusiast, this book provides the knowledge and tools you need to drive positive change in the software industry. A basic understanding of IT concepts and programming is recommended, and familiarity in modern digital technologies like cloud computing will also be helpful.

Table of contents

  1. Green Software Engineering
  2. Contributors
  3. About the author
  4. About the reviewer
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Conventions used
    6. Get in touch
    7. Share Your Thoughts
    8. Download a free PDF copy of this book
  6. Part 1: Environmental Impact of Software
  7. Chapter 1: Digital Carbon Footprint
    1. Understanding software’s climate impact
      1. Climate change initiatives
      2. Environmental impact of digital activities
    2. Measuring carbon proxies
      1. Quantifying the intangible
    3. Electricity as a Carbon Proxy
    4. Digital carbon footprint
      1. Defining the scope boundaries
    5. Summary
    6. References
  8. Chapter 2: Sustainable Software Engineering and Digital Sobriety Principles
    1. Principles, patterns, and practices
      1. Green IT, IT for Green, and Green Software
    2. Bringing Green IT principles to practices
    3. Sustainable Software Engineering
      1. Key principles of SSE
    4. Digital Sobriety principles
      1. Digital Sobriety Pillars
      2. Implementing the pillars of Digital Sobriety
    5. Summary
    6. References
  9. Part 2: Developing Energy-Efficient Software
  10. Chapter 3: Green Architecture and Measuring Impact
    1. Energy, Power, and Carbon
      1. Energy, Power, and Carbon – a case study
    2. Software Architecture 101
      1. Evolution of software architecture
      2. Software architecture impacts efficiency
    3. Energy efficiency in software development
      1. Case study – streamlining data synchronization for energy efficiency
    4. Quantifying Digital Carbon Emissions
    5. Metrics and Tools - assessing Digital Carbon Footprint
      1. A comprehensive approach to measurement
    6. Formulas and Specifications
      1. Software Carbon Intensity (SCI)
      2. Sustainable Web Design methodology
      3. SDIA’s Digital Environmental Footprint
    7. Summary
    8. References
  11. Chapter 4: User Experience and Design
    1. UX and Visual Design 101
    2. Minimalist design for maximum energy efficiency
      1. Optimizing the user journey
      2. Minimizing excess in digital resources
    3. User-centric energy awareness
    4. Responsive design for sustainable experiences
      1. Leveraging Adaptive Design
      2. Carbon Awareness Design
    5. Summary
    6. References
  12. Chapter 5: Algorithms and Programming Languages
    1. Technical requirements
    2. Revisiting software efficiency, energy consumption, and carbon emissions
    3. Energy measurement tools
      1. Software tools
      2. Hardware tools
      3. Hybrid methods
    4. Energy-efficient programming languages
    5. Designing algorithms for energy efficiency
      1. Comparing algorithms – recursive versus linear
      2. Balancing efficiency with productivity
    6. Summary
    7. References
  13. Chapter 6: Development and Testing
    1. Technical requirements
    2. Web and mobile development
      1. Developing energy-efficient web applications
      2. Best practices for energy-efficient web development
      3. Measuring web application
      4. Developing energy-efficient mobile applications
      5. Best practices for energy-efficient mobile development
      6. Measuring mobile applications
    3. Backend services development
      1. Measuring API calls
    4. Sustainable testing
      1. Incorporating a carbon budget for a web application
    5. Summary
    6. References
  14. Chapter 7: Infrastructure and Deployment
    1. Sustainable infrastructure
      1. Infrastructure evolution
      2. Understanding PUE
      3. Infrastructure efficiency
      4. Into true infrastructure energy efficiency
    2. Cloud Energy Efficiency
      1. The environmental impact of moving to the cloud
      2. Provider-specific metrics and enhanced reporting standards
      3. Workload attribution
    3. Sustainable CI/CD
      1. Sustainable GitHub Actions
      2. Pipeline optimization example
      3. Right-Sizing strategy example
    4. Summary
    5. References
  15. Chapter 8: Data Management
    1. Technical requirements
    2. Efficient storage
      1. Cloud storage options – energy efficiency analysis
      2. Query optimization
    3. Dark Data
      1. Managing Dark Data
      2. Case study – reducing dark data in a large enterprise
    4. Model training
      1. Introduction to different types of AI models
      2. Reducing the impact of models
      3. Measuring random forest model energy consumption
    5. Summary
    6. References
  16. Part 3: Green Engineering at Scale
  17. Chapter 9: Sustainable Software Delivery Framework
    1. Technical requirements
    2. Agile software delivery
      1. Agile methodology
    3. Sustainable Agile delivery
    4. Green software KPIs
      1. Measuring the optimization impact KPI
    5. Summary
    6. References
  18. Chapter 10: Regulations, Standards, and Future Perspectives
    1. Regulations and voluntary frameworks
      1. Regulations
      2. Voluntary frameworks
      3. Comparing regulations and voluntary frameworks
    2. The importance of standards
      1. Reporting standards
    3. The future of green software
    4. Conclusion
    5. References
  19. Index
    1. Why subscribe?
  20. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Share Your Thoughts
    3. Download a free PDF copy of this book

Product information

  • Title: Green Software Engineering
  • Author(s): Santiago Fontanarrosa
  • Release date: July 2024
  • Publisher(s): Packt Publishing
  • ISBN: 9781835885888