Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Anne Currie

Rating No ratings yet

How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview of this topic—discussing everything from the likely evolution of national grids to the effect those changes will have on the day-to-day lives of developers. Ideal for everyone from new developers to CTOs, Building Green Software tackles the challenges involved and shows you how to build, host, and operate code in a way that's not only better for the planet but also cheaper and relatively low-risk for your business. Most hyperscale public cloud providers have already committed to net-zero IT operations by 2030. This book shows you how to get on board. You'll explore: How the energy transition is likely to change hosting on prem and in the cloud—and...

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
# Building Green Software: A Sustainable Approach to Software Development and Operations ## 【One-Line Pitch】 A practical, opinionated guide for developers, architects, and CTOs who want to reduce the carbon footprint of their software without sacrificing performance or profitability—showing that green software is often cheaper, more efficient, and lower-risk for business. If you build, host, or operate code at any scale, this book gives you the mental models and concrete techniques to start today. ## 【Book Arc】 - **Opening (~0%–10%)**: Introduces the core principles of green software—energy efficiency, hardware efficiency, and carbon awareness—and explains why the authors (all Green Software Foundation practitioners) can't give you a one-size-fits-all playbook. Sets up the book as a foundation for passing the Linux Foundation's "Green Software for Practitioners" certification. - **Early (~10%–23%)**: Builds the scientific and technical groundwork: how greenhouse gases work, how electricity grids operate, what carbon intensity means, and how to measure data center efficiency with PUE. Then shifts to the fundamental tension between developer productivity (the industry's current goal) and machine efficiency (the old goal), showing why synchronous calls, idle servers, and wasteful architectures are carbon problems. - **Early (~23%–32%)**: Dives into concrete efficiency techniques—multithreading, platform-managed threading, serverless, message optimization (RPC vs. REST), and operational strategies like autoscaling and burstable instances. Includes real-world case studies like Microsoft Teams' binary-encoding optimization and Skyscanner's use of spot instances. - **Middle (~32%–48%)**: Explores the operational and systemic side: containerization and cluster scheduling for workload packing, the trade-offs of hyperscale concentration (efficiency vs. resilience risk), and the mechanics of carbon-aware computing—shifting workloads to times and regions with cleaner electricity. Covers carbon intensity metrics (gCO₂e/kWh) and how cloud providers label "low carbon" regions. - **Late (~48%–end)**: Extends carbon awareness to end-user devices and applications—adaptive video quality, progressive web apps with lazy loading, and consumer features like Xbox's Shutdown mode and iPhone's clean-energy charging. Also covers greener machine learning and AI (model shrinking, pruning, quantization, federated learning) and the importance of using the right hardware for training jobs. ## 【Key Takeaways】 - **Green software rests on three pillars: energy efficiency, hardware efficiency, and carbon awareness** (Early). These aren't optional extras—they're the foundation for every technique in the book, and they overlap heavily with existing architectural pillars like cost optimization and resilience. - **Idle servers are carbon disasters—a turned-on server can draw up to 60% of its peak power even when idle** (Early). This reframes "waiting" as an environmental problem: synchronous calls that block threads waste both electricity and the embodied carbon already spent manufacturing the hardware. - **Developer productivity and machine efficiency are in direct tension** (Early). The industry spent three decades optimizing for developer speed via Moore's law, and we're not going back—so green solutions must work within this constraint, not against it. - **Autoscaling sounds green but often isn't in practice** (Early). Scaling up is easy; scaling down is risky and scary, so it frequently doesn't happen automatically. Burstable instances offer a pragmatic compromise between resilience and efficiency for spiky workloads. - **Carbon awareness means shifting work to when and where electricity is cleanest** (Middle). Carbon intensity (gCO₂e/kWh) is the key metric—Google Cloud labels regions "low carbon" under 200 gCO₂e/kWh—and many workloads (especially ML training) are not latency-sensitive and can be scheduled flexibly. - **Efficiency gains require resilience investment** (Middle). Microsoft Teams had to adopt chaos engineering to safely make efficiency changes; Skyscanner used spot instances specifically to force additional resilience testing. Green isn't free—it demands testing and skill. - **Containerization and cluster scheduling enable workload packing** (Middle). Fast instantiation and proper labeling let schedulers move jobs to the most efficient machines, but this only works if encapsulation tools support quick start/stop cycles. - **Carbon awareness extends to end users, not just data centers** (Late). Consumer features like Xbox's Shutdown mode (20x electricity savings) and iPhone's clean-energy charging show that device-level design choices matter—and progressive web apps with lazy loading reduce bandwidth and energy on slow networks. ## 【Reading Tips】 - **Skim Chapter 2's science primer if you're already climate-literate**—the greenhouse effect and electricity basics are well-explained but familiar territory. Do read the PUE and carbon intensity sections carefully; they're the measurement vocabulary used throughout the book. - **Deep-read the operational efficiency chapters (4–5) if you're a platform or infrastructure engineer**—autoscaling pitfalls, burstable instances, container scheduling, and spot instances are the most actionable content for day-to-day work. - **Pay attention to the case studies (Microsoft Teams, Skyscanner, Xbox, iPhone)**—they're the most concrete evidence that green techniques work at scale and show the real trade-offs companies faced. - **Don't expect a prescriptive checklist**—the authors explicitly say they can't tell you exactly what to do because context matters. Use the book to build mental models, then apply them to your own constraints. - **If you're a developer, focus on Chapters 3 and 8** (code-level efficiency and greener ML/AI)—these give you techniques you can apply without waiting for organizational buy-in. ## 【Coverage Limits】 This guide covers the book's core technical and operational content through approximately the first half, plus key themes from later chapters on carbon-aware devices and greener AI. The excerpts do not cover the book's final chapters in full detail, including specific guidance on carbon reporting tools, organizational change strategies, or the complete treatment of ML/AI techniques. ##
Excerpt 1
ian Cockcroft OrionX.net Salinas, California, February 2024 greenness—has a lot of overlap with those existing architectural pillars. All three of us are als...
View in text
Excerpt 2
ry kWh of electricity coming from the grid is used to power the computing equipment instead of supporting overhead operations. When PUE increases to 2.0, it...
View in text
Excerpt 3
you were using autoscaling in the first place. As a result, autoscaling doesn’t always solve your underutilization problem. Fortunately, another potential so...
View in text
Excerpt 4
sustainability pledge to utilize more renewable resources. Since it’s a day when the sun decides to play ball, and with electricity demand under control, we...
View in text
Excerpt 5
etimes be better off sending data uncompressed. However, if your data is highly and easily compressible, if you are sending it at a busy time, or if it benef...
View in text
Excerpt 6
and maintenance is where you are spending the most. 1 A. M. Turing, “Computing Machinery and Intelligence,” Mind 49 (1950): 433–60, https://oreil.ly/kcDuI. 2...
View in text
Excerpt 7
amount of money and, naturally, reducing carbon emissions. commonly associated with DevOps and site reliability engineering (SRE). These include monitoring f...
View in text
Excerpt 8
your systems are using multitenancy to improve utilization. Level 3: You have defined and tracked utilization targets. All your systems use some form of mult...
View in text
Tags
AI categories
Cloud NativeDevOpsBackend
Publisher: O'Reilly Media
Publish Year: 2024
Language: English
Pages: 416
File Format: PDF
File Size: 5.3 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…