이 책은 전력망의 변화부터 클라우드 운영 방식까지, 친환경 소프트웨어가 환경과 비즈니스 모두에 미치는 영향을 깊게 다루고 있다. 그린 소프트웨어 재단에서 활동하는 저자들은 친환경 소프트웨어의 선구자로서, 지속 가능한 IT 운영을 위해 실질적인 해법과 통찰을 제시한다. 이제 막 커리어를 시작한 신입 개발자부터 CTO까지, 소프트웨어에 관여하는 모든 이에게 유용한 이야기로 가득하다. 친환경적으로 코드를 개발하고, 호스팅하며, 운영하는 구체적인 방법에 대해 살펴보고, 코드 한 줄로 지구를 살리는 일이 무엇인지 알아보자.
Contents
옮긴이 머리말 xi
추천사 xiii
베타리더 후기 xvi
이 책에 보내는 찬사 xviii
추천 서문 xix
시작하며 xxii
감사의 글 xxx
표지에 대하여 xxxii
CHAPTER 1 친환경 소프트웨어 소개 1
1.1 IT 업계에서 친환경이란 무엇을 의미할까? 1
1.2 우리의 신념 2
__1.2.1 2장: 구성 요소 3 / 1.2.2 3장: 코드 효율성 4 / 1.2.3 4장: 운영 효율성 8 / 1.2.4 5장: 탄소 인식 13 / 1.2.5 하드웨어 효율성 14 / 1.2.6 7장: 네트워크 16 / 1.2.7 8장: 좀 더 친환경적인 머신러닝, Al, LLM 16 / 1.2.8 9장: 측정 17 / 1.2.9 10장: 모니터링 17 / 1.2.10 11장: 부수 효과와 공동의 이익 17 / 1.2.11 12장: 친환경 소프트웨어 성숙도 매트릭스 18 / 1.2.12 13장: 나아갈 방향 18
CHAPTER 2 구성 요소 20
2.1 현재 우리가 여기에 있는 이유: 탄소 20
__2.1.1 온실가스 20 / 2.1.2 날씨 vs. 기후 23 / 2.1.3 지구온난화는 기후변화와 어떻게 관련 있는가? 25 / 2.1.4 기후변화 모니터링 25
2.2 전기의 기초 지식 27
__2.2.1 일, 에너지, 전기, 계산서 27 / 2.2.2 고탄소 및 저탄소 에너지 28 / 2.2.3 에너지 효율을 어떻게 개선할 수 있을까? 29
2.3 소프트웨어 엔지니어를 위한 하드웨어 101 33
__2.3.1 물리적인 측면 33 / 2.3.2 운영 측면 35
2.4 준비 완료 38
CHAPTER 3 코드 효율성 39
3.1 효율성이 전부일까? 39
3.2 코드 효율성이란 무엇일까? 40
__3.2.1 대부분의 코드는 왜 의도적으로 비효율적일까? 40 / 3.2.2 코드 효율성의 이점 42 / 3.2.3 개발자 생산성 43
3.3 배경: 초고효율 코드 45
__3.3.1 좋은 예시 46 / 3.3.2 성능 vs. 효율성 vs. 친환경 47
3.4 올바른 플랫폼 선택하기 52
3.5 친환경 디자인 패턴 사용 52
__3.5.1 너무 많은 계층 피하기 53 / 3.5.2 마이크로서비스를 주의하라 53 / 3.5.3 비효율적인 서비스와 라이브러리의 교체 56 / 3.5.4 너무 많이 수행하거나 저장하지 말라 57 / 3.5.5 사용자 기기의 활용 58 / 3.5.6 머신러닝 관리 59 / 3.5.7 효율성의 큰 문제점 61
__3.6 요약 64
CHAPTER 4 운영 효율성 67
4.1 기계와의 전쟁 67
__4.1.1 매력적인 방안 69 / 4.1.2 기술 69 / 4.1.3 머신 활용도 70 / 4.1.4 멀티테넌시 81 / 4.1.5 서버리스 서비스 82 / 4.1.6 하이퍼스케일러와 수익 82 / 4.1.7 사이트 신뢰성 엔지니어링 관행 83 / 4.1.8 라이트스위치옵스 84 / 4.1.9 위치, 위치, 위치 86 / 4.1.10 복원력의 반격 87 / 4.1.11 친환경 운영 도구와 기술 89
CHAPTER 5 탄소 인식 92
5.1 전력의 탄소 집약도 93
__5.1.1 탄소 집약도의 변동성 95 / 5.1.2 전력 수요 96 / 5.1.3 도구 98
5.2 수요 이동 100
__5.2.1 시간 이동 101 / 5.2.2 위치 이동 103
5.3 수요 형성 104
5.4 반대 의견 106
__5.4.1 위치 이동은 까다로울 수 있다 106
5.5 실제 사례 107
__5.5.1 구글 108 / 5.5.2 Xbox 108 / 5.5.3 아이폰 109 / 5.5.4 탄소 해커톤 22 109
5.6 탄소 인식 컴퓨팅의 팬이 되셨나요? 111
CHAPTER 6 하드웨어 효율성 112
6.1 내재 탄소 113
__6.1.1 장치 수명 114 / 6.1.2 소프트웨어 정의 노후화 116 / 6.1.3 클라우드 애플리케이션과 서비스 118 / 6.1.4 자체 호스팅 데이터 센터 120 / 6.1.5 특수 하드웨어 122
6.2 전자 폐기물 124
__6.2.1 하드웨어 제조 업체의 친환경 노력 127
6.3 요약 128
CHAPTER 7 네트워크 129
7.1 네트워크는 이미 충분히 친환경적인가? 129
__7.1.1 큰 그림 보기 130
7.2 인터넷의 정의 131
__7.2.1 이 전선들은 무엇일까? 131 / 7.2.2 컴퓨터와 저장 장치는 어떻게 적용될까? 133 / 7.2.3 인터넷은 부분의 합 이상일까? 134 / 7.2.4 인터넷 위성은 좋은가 나쁜가? 135
7.3 소프트웨어의 역할 139
7.4 왜 라우팅을 더 친환경적으로 만들 수 없을까? 140
__7.4.1 경계 경로 프로토콜 140
7.5 인터넷의 하향식 친환경화 143
__7.5.1 봉쇄에서 얻은 교훈 143 / 7.5.2 수요 이동 144 / 7.5.3 브라운아웃, 점진적 기능 저하, 수요 형성 145
7.6 2020년의 교훈 147
7.7 결론 148
CHAPTER 8 좀 더 친환경적인 머신러닝, AI, LLM 150
8.1 규모와 사용량 증가 152
8.2 프로젝트 계획 153
8.3 데이터 수집 154
8.4 ML 모델 설계와 훈련 156
__8.4.1 크기의 중요성 156 / 8.4.2 크기가 전부는 아니다 158
8.5 배포와 유지 관리 160
8.6 어디서부터 시작할까? 161
CHAPTER 9 측정 162
9.1 완벽한 측정 163
__9.1.1 완벽한 에너지 데이터 164 / 9.1.2 완벽한 탄소 강도 데이터 165 / 9.1.3 시장 기반 감축은 어디에 적합할까? 167 / 9.1.4 완벽한 내재 탄소 추적 169 / 9.1.5 완벽한 모니터링의 미래 171
9.2 충분히 좋은가? 172
__9.2.1 간접 지표 사용 172 / 9.2.2 불완전한 데이터를 지속적으로 사용하여 감축 달성하기 174
9.3 현재 방법론 검토 174
__9.3.1 온실가스 프로토콜 174 / 9.3.2 그린 소프트웨어 재단의 소프트웨어 탄소 응집도 규격 178 / 9.3.3 ISO 14064 표준 180
9.4 사용 가능한 도구 181
__9.4.1 하이퍼스케일 클라우드 제공 업체 도구 181 / 9.4.2 클라우드에서 사용 가능한 오픈소스 183 / 9.4.3 클라이언트 측 도구 185
9.5 결론 186
CHAPTER 10 모니터링 187
10.1 북극성으로서의 가용성 189
10.2 메트릭 기반 모니터링의 4기사 190
10.3 서비스 수준 191
__10.3.1 탄소 메트릭 192
10.4 관측 가능성 193
__10.4.1 기대되는 대결: 관측 가능성 vs. 모니터링 194 / 10.4.2 관측 가능성을 위한 준비가 되어 있는가? 196
10.5 결국 도달할 것이다 196
CHAPTER 11 부수 효과와 공동의 이익 198
11.1 돈이 문제인가? 199
__11.1.1 왜 친환경적인 것이 더 저렴할까? 199
11.2 신뢰성과 복원력 201
__11.2.1 예시 203
11.3 성능 204
__11.3.1 얼마나 빨라야 충분히 빠를까? 204 / 11.3.2 최적합과 성능 205
11.4 보안이 중요하다 206
__11.4.1 보안은 친환경이다 207
11.5 데이터는 어떤가? 208
__11.5.1 LLM 제어 209 / 11.5.2 데이터 모델 209
11.6 실제로는 지금까지 다룬 모든 것이다 210
11.7 준비 완료 212
CHAPTER 12 친환경 소프트웨어 성숙도 매트릭스 213
12.1 성숙도 매트릭스의 역사 214
12.2 친환경 소프트웨어 성숙도 매트릭스 216
__12.2.1 레벨 217 / 12.2.2 축 222 / 12.2.3 축 체크리스트 222
12.3 우리의 현재 위치는? 226
CHAPTER 13 나아갈 방향 227
13.1 왜 우리가 해야 하는가? 228
13.2 매트릭스를 통한 이동 230
__13.2.1 친환경 소프트웨어 50% 도전 230 / 13.2.2 다음 단계는? 232 / 13.2.3 모든 것에는 때가 있다 235
13.3 비용은? 235
13.4 모든 것! 236
13.5 그렇다면 어떻게 해야 할까? 237
__13.5.1 코드 재사용 237
13.6 그렇다면 친환경 소프트웨어란 무엇인가? 238
13.7 에필로그 239
미주 240
찾아보기 242
Author
사라 베리만,앤 커리,세라 수,차건회
1990년대 고성능 C 소프트웨어 개발, 2000년대 전자상거래, 2010년대 최신 IT 운영까지 약 30년 동안 개발자, 고위 관리자, 스타트업 창업자로 활동한 기술 전문가다. 미래 지향적이고 지속 가능한 시스템 구축에 앞장서는 운동가로, 관련 주제로 글을 쓰고 강연을 이어가고 있다. 지금은 그린 소프트웨어 재단의 커뮤니티 의장을 맡고 있으며, 기술 컨설팅 회사 Strategically Green의 공동 창립자이기도 하다.
1990년대 고성능 C 소프트웨어 개발, 2000년대 전자상거래, 2010년대 최신 IT 운영까지 약 30년 동안 개발자, 고위 관리자, 스타트업 창업자로 활동한 기술 전문가다. 미래 지향적이고 지속 가능한 시스템 구축에 앞장서는 운동가로, 관련 주제로 글을 쓰고 강연을 이어가고 있다. 지금은 그린 소프트웨어 재단의 커뮤니티 의장을 맡고 있으며, 기술 컨설팅 회사 Strategically Green의 공동 창립자이기도 하다.