Skip to product information
Green Software
Green Software
Description
Book Introduction
In an era where a single line of code can save the planet, let's secure the future with sustainable software.

This book delves into the impact of green software on both the environment and business, from changing power grids to how the cloud operates.
Authors at the Green Software Foundation are pioneers in green software, offering practical solutions and insights for sustainable IT operations.
It's full of helpful stories for everyone involved in software, from new developers just starting their careers to CTOs.
Let's explore specific ways to develop, host, and operate code in an environmentally responsible manner, and discover how a single line of code can help save the planet.
  • You can preview some of the book's contents.
    Preview

index
Translator's Preface xi
Recommendation xiii
Beta Reader Review xvi
Praise for this book xviii
Recommended Preface xix
Beginning with xxii
Thank you xxx
About the cover xxxii

CHAPTER 1: Introduction to Eco-Friendly Software 1

1.1 What does being green mean in the IT industry?
1.2 Our Beliefs 2
__1.2.1 Chapter 2: Components 3 / 1.2.2 Chapter 3: Code Efficiency 4 / 1.2.3 Chapter 4: Operational Efficiency 8 / 1.2.4 Chapter 5: Carbon Awareness 13 / 1.2.5 Hardware Efficiency 14 / 1.2.6 Chapter 7: Networks 16 / 1.2.7 Chapter 8: Greener Machine Learning, AI, LLM 16 / 1.2.8 Chapter 9: Measurement 17 / 1.2.9 Chapter 10: Monitoring 17 / 1.2.10 Chapter 11: Side Effects and Co-benefits 17 / 1.2.11 Chapter 12: Green Software Maturity Matrix 18 / 1.2.12 Chapter 13: Where We Go From Here 18

CHAPTER 2 COMPONENTS 20

2.1 Why We Are Here Now: Carbon 20
__2.1.1 Greenhouse Gases 20 / 2.1.2 Weather vs.
Climate 23 / 2.1.3 How is global warming related to climate change? 25 / 2.1.4 Climate Change Monitoring 25
2.2 Basic Knowledge of Electricity 27
__2.2.1 Work, Energy, Electricity, and Bills 27 / 2.2.2 High- and Low-Carbon Energy 28 / 2.2.3 How Can We Improve Energy Efficiency? 29
2.3 Hardware 101 for Software Engineers 33
__2.3.1 Physical Aspects 33 / 2.3.2 Operational Aspects 35
2.4 Ready 38

CHAPTER 3 CODE EFFICIENCY 39

3.1 Is Efficiency Everything? 39
3.2 What is code efficiency? 40
__3.2.1 Why is most code intentionally inefficient? 40 / 3.2.2 The benefits of code efficiency 42 / 3.2.3 Developer productivity 43
3.3 Background: Ultra-Efficient Code 45
__3.3.1 Good Example 46 / 3.3.2 Performance vs.
Efficiency vs.
Eco-friendly 47
3.4 Choosing the Right Platform 52
3.5 Using Eco-Friendly Design Patterns 52
__3.5.1 Avoiding Too Many Layers 53 / 3.5.2 Beware of Microservices 53 / 3.5.3 Replacing Inefficient Services and Libraries 56 / 3.5.4 Don't Do or Store Too Much 57 / 3.5.5 Leveraging User Devices 58 / 3.5.6 Managing Machine Learning 59 / 3.5.7 The Big Problem with Efficiency 61
__3.6 Summary 64

CHAPTER 4 OPERATIONAL EFFICIENCY 67

4.1 War with Machines 67
__4.1.1 Attractive Solutions 69 / 4.1.2 Technology 69 / 4.1.3 Machine Utilization 70 / 4.1.4 Multi-Tenancy 81 / 4.1.5 Serverless Services 82 / 4.1.6 Hyperscalers and Revenue 82 / 4.1.7 Site Reliability Engineering Practices 83 / 4.1.8 LightSwitchOps 84 / 4.1.9 Location, Location, Location 86 / 4.1.10 Resilience Strikes Back 87 / 4.1.11 Green Operations Tools and Technologies 89

CHAPTER 5 Carbon Awareness 92

5.1 Carbon intensity of electricity 93
__5.1.1 Variability of Carbon Intensity 95 / 5.1.2 Electricity Demand 96 / 5.1.3 Tools 98
5.2 Demand Shift 100
__5.2.1 Time Shift 101 / 5.2.2 Location Shift 103
5.3 Demand Formation 104
5.4 Dissenting opinion 106
__5.4.1 Moving locations can be tricky 106
5.5 Real Case 107
__5.5.1 Google 108 / 5.5.2 Xbox 108 / 5.5.3 iPhone 109 / 5.5.4 Carbon Hackathon 22 109
5.6 Are you a fan of carbon-aware computing? 111

CHAPTER 6 Hardware Efficiency 112

6.1 Embodied Carbon 113
__6.1.1 Device Lifecycle 114 / 6.1.2 Software-Defined Obsolescence 116 / 6.1.3 Cloud Applications and Services 118 / 6.1.4 Self-Hosted Data Centers 120 / 6.1.5 Specialized Hardware 122
6.2 Electronic Waste 124
__6.2.1 Hardware Manufacturers' Environmental Efforts 127
6.3 Summary 128

CHAPTER 7 Networks 129

7.1 Are Networks Already Green Enough? 129
__7.1.1 Seeing the Big Picture 130
7.2 Definition of the Internet 131
__7.2.1 What are these wires? 131 / 7.2.2 How do they apply to computers and storage devices? 133 / 7.2.3 Is the Internet more than the sum of its parts? 134 / 7.2.4 Are Internet satellites good or bad? 135
7.3 The Role of Software 139
7.4 Why Can't We Make Routing More Eco-Friendly? 140
__7.4.1 Border Path Protocol 140
7.5 Top-Down Greening of the Internet 143
__7.5.1 Lessons from the Lockdown 143 / 7.5.2 Demand Shifts 144 / 7.5.3 Brownouts, Gradual Deterioration, and Demand Shaping 145
7.6 Lessons from 2020 147
7.7 Conclusion 148

CHAPTER 8: A Greener Machine Learning, AI, and LLM 150

8.1 Size and Usage Growth 152
8.2 Project Planning 153
8.3 Data Collection 154
8.4 ML Model Design and Training 156
__8.4.1 The Importance of Size 156 / 8.4.2 Size Isn't Everything 158
8.5 Distribution and Maintenance 160
8.6 Where to Start? 161

CHAPTER 9 Measurement 162

9.1 Perfect Measurement 163
__9.1.1 Perfect Energy Data 164 / 9.1.2 Perfect Carbon Intensity Data 165 / 9.1.3 Where Do Market-Based Reductions Fit? 167 / 9.1.4 Perfect Embodied Carbon Tracking 169 / 9.1.5 The Future of Perfect Monitoring 171
9.2 Is it good enough? 172
__9.2.1 Using Indirect Indicators 172 / 9.2.2 Achieving Reductions by Continuing to Use Incomplete Data 174
9.3 Review of Current Methodology 174
__9.3.1 Greenhouse Gas Protocol 174 / 9.3.2 Green Software Foundation Software Carbon Intensity Specification 178 / 9.3.3 ISO 14064 Standard 180
9.4 Available Tools 181
__9.4.1 Hyperscale Cloud Provider Tools 181 / 9.4.2 Open Source Available in the Cloud 183 / 9.4.3 Client-Side Tools 185
9.5 Conclusion 186

CHAPTER 10 MONITORING 187

10.1 Availability as a North Star 189
10.2 Metrics-Based Monitoring, Article 4, 190
10.3 Service Level 191
__10.3.1 Carbon Metrics 192
10.4 Observability 193
__10.4.1 Expected Showdown: Observability vs.
Monitoring 194 / 10.4.2 Are you ready for observability? 196
10.5 Eventually we will reach 196

CHAPTER 11 Side Effects and Common Benefits 198

11.1 Is Money the Problem? 199
__11.1.1 Why is eco-friendly cheaper? 199
11.2 Reliability and Resilience 201
__11.2.1 Example 203
11.3 Performance 204
__11.3.1 How Fast Is Fast Enough? 204 / 11.3.2 Optimality and Performance 205
11.4 Security is important 206
__11.4.1 Security is Green 207
11.5 What about the data? 208
__11.5.1 LLM Control 209 / 11.5.2 Data Model 209
11.6 Actually, that's all we've covered so far 210
11.7 Ready 212

CHAPTER 12 Green Software Maturity Matrix 213

12.1 History of the Maturity Matrix 214
12.2 Green Software Maturity Matrix 216
__12.2.1 Level 217 / 12.2.2 Axis 222 / 12.2.3 Axis Checklist 222
12.3 Where are we now? 226

CHAPTER 13: The Way Forward 227

13.1 Why Should We? 228
13.2 Moving through the Matrix 230
__13.2.1 The 50% Green Software Challenge 230 / 13.2.2 What's Next? 232 / 13.2.3 There's a Time for Everything 235
13.3 How much does it cost? 235
13.4 Everything! 236
13.5 So what should we do? 237
__13.5.1 Code Reuse 237
13.6 So, what is green software? 238
13.7 Epilogue 239

Americas 240
Search 242

Detailed image
Detailed Image 1

Into the book
Climate change is real.
The 2022 Intergovernmental Panel on Climate Change (IPCC) report makes this clear.
The world is responding, and companies must join the energy transition or face being left behind.
But unfortunately, as one wise cultural icon of our time has pointed out, making the changes necessary for a sustainable planet is never easy.
Fortunately, most public cloud providers have already committed to net-zero operations (and we need to ensure they keep that promise).
We can look to them, learn from them, and emulate them, as well as other sustainability leaders in our industry.
In fact, some of the tools we need are already open source or commercially available.

--- p.xxii

Apple typically publishes environmental product reports when it releases products, and in September 2022, it released the product life cycle carbon footprint of the iPhone 14.
According to the report, 82% of the 61kg of carbon emissions generated by the iPhone came from production, transportation and disposal, while the remaining 18% came from the phone's use.
This figure has significant implications for software developers, the end users of these devices, as they must strive to ensure that their applications are backward compatible with older versions of the device, even when upgraded to newer versions.
This will minimize the chance that older hardware will become obsolete because it cannot support new software.
By doing this, software developers are essentially directly contributing to extending the life of the hardware.

--- p.34

As AI models grow larger, larger datasets are required.
Large datasets are attractive for several reasons.
By preventing overfitting and ensuring that input data is distributed evenly, we can prevent the adverse effect of biased data lowering model accuracy.
Building a large dataset is also valuable because it allows you to learn about situations that you might not have considered in the initial planning stages.
The problem is that this thinking is lean waste.

--- p.59

Saving on hosting costs by using the most affordable, efficient, and commoditized service benefits not only you and the planet, but also your customers.
As a result, you can make more money, which is a good thing.
It's not that making money is wrong, it's that being energy inefficient in an energy-centric climate crisis is wrong.
It also shows why operational efficiency must be pursued to achieve efficiency.
In other words, data center operators can also make big profits.
Operational efficiency is in the best interest of the operator, and operators who recognize this and are willing to invest capital should be selected.

--- p.83

The Linux Foundation's FinOps initiative was born to help organizations regain control over skyrocketing cloud computing costs, representing a collaborative effort across multiple disciplines, including technology, finance, and business, to reduce cloud costs.
FinOps and GreenOps have different starting points, but their ultimate goal is the same.
Both optimize software systems to reduce machine requirements and expensive electricity usage.
According to Pini Reznik of greenops consulting firm re:cinq, cloud users can save up to 50% by using FinOps, greenops tuning, and optimization best practices.
Going green can actually save you money.

--- p.201

Fortunately, the software industry is starting to wake up.
Just five years ago, discussing green software at a technology conference would have been controversial.
Because this topic was considered 'political'.
But if you think adopting green software isn't practical now, you're behind the times.
The purpose of this book is practical.
We aim to help build a system that can handle the transition from the reliable, technologically mature, but carbon-intensive fossil fuel-based power grid of the past to the new renewable energy-based power grid of the future.
These systems must use hardware more efficiently.
--- p.227

Publisher's Review
A better future for developers starts now.

Developers are constantly thinking about faster code, more efficient systems, and more scalable services.
But have you ever thought about how much energy the software you develop consumes and what impact it has on the environment?

Training AI models, operating cloud servers, and storing massive amounts of data consumes enormous amounts of power.
Data centers account for a significant portion of global electricity consumption, and more and more companies are considering implementing eco-friendly technologies to reduce their carbon emissions.
Now is the time for developers to find environmentally conscious development methods and consider ways to reduce carbon emissions.


This book presents ways to transform software development and operations into an environmentally friendly one.
We teach you sustainable development methods that optimize performance and reduce costs while protecting the environment.
It covers practical methods that can be applied in actual development and operations, rather than just simple theory.


Developing green software isn't a huge change.
Small actions like tweaking code, optimizing infrastructure, and reducing unnecessary data all add up to big changes.
You will realize that efficient development can soon become environmentally friendly development.


Developers are people who have the power to change the world.
Become a developer who saves the planet with a single line of code.


Key Contents

- The importance of sustainable software development
- Core principles for designing and operating eco-friendly software
- Energy-saving code optimization and infrastructure operation methods
- The environmental impacts of cloud, data centers, and AI models and solutions
- A step-by-step implementation guide using the Eco-Friendly Software Maturity Matrix.
GOODS SPECIFICS
- Date of issue: April 5, 2025
- Page count, weight, size: 280 pages | 170*225*18mm
- ISBN13: 9791194587026

You may also like

카테고리