이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
그린 소프트웨어
지속 가능한 소프트웨어 개발과 운영 가이드
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 신청가능

카드뉴스로 보는 책

카드뉴스0
카드뉴스1
카드뉴스2
카드뉴스3
카드뉴스4
카드뉴스5

상세 이미지

책소개

목차

옮긴이 머리말 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

저자 소개4

Anne Currie

1990년대 고성능 C 소프트웨어 개발, 2000년대 전자상거래, 2010년대 최신 IT 운영까지 약 30년 동안 개발자, 고위 관리자, 스타트업 창업자로 활동한 기술 전문가다. 미래 지향적이고 지속 가능한 시스템 구축에 앞장서는 운동가로, 관련 주제로 글을 쓰고 강연을 이어가고 있다. 지금은 그린 소프트웨어 재단의 커뮤니티 의장을 맡고 있으며, 기술 컨설팅 회사 Strategically Green의 공동 창립자이기도 하다.

Sarah Hsu

친환경적이고 지속 가능한 소프트웨어를 적극 지지하며, 이와 관련된 주제로 강연을 하고, 글을 쓴다. 그린 소프트웨어 재단의 그린 소프트웨어 과정 프로젝트 의장을 맡아 리눅스 재단과 협력하여 무료 온라인 교육 과정인 ‘실무자를 위한 친환경 소프트웨어(LFC131)’를 개설했다. 현재 구글 클라우드의 분산 플랫폼에서 사이트 안정성 엔지니어로 활동 중이다.

사라 베리만

관심작가 알림신청
 

Sara Bergman

마이크로소프트 에코시스템에서 백엔드 엔지니어로 활동하는 선임 소프트웨어 엔지니어다. 친환경 소프트웨어 실천을 지지하며, 콘퍼런스, 밋업, 팟캐스트 등에서 이를 주제로 활발히 강연하고 있다. 그린 소프트웨어 재단의 개인 기고자로서, 소프트웨어 탄소 집약도 사양 및 GSF 뉴스레터 등 다양한 프로젝트에 기여하고 있다.
현재 미국 로스앤젤레스에 있는 Shell Recharge Solutions에서 자바 백엔드 테크 리드로 일하고 있다. 자바, 스프링 부트, 메시지 큐, 일래스틱서치, 레디스 등 자바 백엔드의 전반적인 기술 스택 및 성능 향상에 관심이 있다. 옮긴 책으로는 『클라우드 네이티브 스프링 인 액션』(2024), 『좋은 코드, 나쁜 코드』, 『프로그래머의 뇌』(이상 제이펍, 2022), 『크리에이티브 프로그래머』(한빛미디어, 2023) 등이 있다.

차건회의 다른 상품

품목정보

발행일
2025년 04월 05일
쪽수, 무게, 크기
280쪽 | 170*225*18mm
ISBN13
9791194587026

책 속으로

기후변화는 현실이다. 2022년의 기후변화에 관한 정부 간 협의체(Intergovernmental Panel on Climate Change, IPCC) 보고서를 보면 확실하게 알 수 있다. 전 세계가 대응에 나서고 있으며, 기업들 또한 에너지 전환에 동참하지 않으면 뒤처질 것으로 보인다. 하지만 안타깝게도 우리 시대의 어느 현명한 문화 아이콘이 지적했듯이, 지속 가능한 지구를 위해 필요한 변화를 이루어내기란 결코 쉽지 않다. 다행히도 대부분의 공공 클라우드 제공 업체가 이미 넷제로(net-zero) 운영을 약속했다(이 약속이 지켜지도록 해야 한다). 우리 업계의 다른 지속 가능성 선도 기업뿐만 아니라 이들을 보고 배우고 따라 할 수 있다. 사실 우리가 필요로 하는 도구 중 일부는 이미 오픈소스로 제공되거나 상업적으로 이용할 수있다.
--- p.xxii

애플은 제품을 출시할 때 일반적으로 환경 제품 보고서를 발행하는데, 2022년 9월에는 아이폰 14의 제품 수명 주기 탄소 발자국을 발표했다. 보고서에 따르면 아이폰에서 발생했던 61kg의 탄소 배출량 중 82%는 생산, 운송, 폐기 과정에서 발생했으며, 나머지 18%는 휴대폰 사용 중에 발생했다. 이 수치는 기기의 최종 사용자인 소프트웨어 개발자에게 시사하는 바가 큰데, 그것은 애플리케이션이 새로운 버전으로 업그레이드되더라도 이전 버전의 기기와 역호환이 되도록 노력해야 한다는 점이다. 이렇게 하면 구형 하드웨어가 새로운 소프트웨어를 지원하지 못해 쓸모없어지는 경우를 최소화할 수 있다. 이를 통해 소프트웨어 개발자는 본질적으로 하드웨어의 수명 연장에 직접적으로 기여하는 셈이다.
--- p.34

AI 모델이 커질수록 더 큰 데이터셋이 필요하다. 대규모 데이터셋은 여러 가지 이유로 매력적이다. 과적합(overfitting)을 방지하고 입력 데이터를 균등하게 확보함으로써 편향된 데이터로 인해 모델 정확도가 저하되는 부작용을 방지할 수 있다. 또한 데이터셋을 대규모로 구축하면 초기 계획 단계에서 미처 고려하지 못했던 상황도 학습할 수 있기에 가치가 있다. 문제는 이러한 생각은 린 낭비라는 점이다.
--- p.59

가장 저렴하고 효율적이며 상품화된 서비스를 사용하여 호스팅 비용을 절감하는 것은 자신과 지구뿐만 아니라 고객에게도 이익이 된다. 그 결과 더 많은 돈을 벌 수 있는데, 이는 좋은 일이다. 돈을 버는 것이 잘못된 것이 아니라 에너지 중심의 기후 위기 속에서 에너지 비효율적인 것이 잘못된 것이다. 또한 효율성을 달성하기 위해서는 왜 운영 효율성을 추구해야 하는지를 보여준다. 즉, 데이터 센터 운영자도 큰 수익을 얻을 수 있다. 운영 효율성은 운영자의 이익과 일치하며, 이를 인지하고 자본을 투자할 수 있는 운영자를 선택해야 한다.
--- p.83

리눅스 재단(Linux Foundation)의 핀옵스(FinOps)는 급증하는 클라우드 컴퓨팅 비용에 대한 통제권을 조직이 다시 가져오는 데 도움이 되고자 탄생한 것으로서 기술, 금융, 비즈니스를 포함한 여러 분야를 연결하여 클라우드 비용을 절감하기 위한 공동의 노력을 나타낸다. 핀옵스와 그린옵스(GreenOps)는 출발은 다르지만 결국 목적은 동일하다. 둘 다 소프트웨어 시스템을 최적화하여 기계 요구사항과 값비싼 전기 사용을 줄이는 것이다. 그린옵스 컨설팅 회사 리:싱크(re:cinq)의 피니 레즈닉(Pini Reznik)에 따르면 클라우드 사용자는 핀옵스, 그린옵스의 튜닝, 최적화 모범 사례를 사용하면 비용을 최대 50%까지 절감할 수 있다. 친환경으로 전환하면 실제로 돈을 절약할 수 있는 셈이다.
--- p.201

다행히도 소프트웨어 업계가 깨어나기 시작했다. 5년 전만 해도 기술 콘퍼런스에서 친환경 소프트웨어에 대해 논의하는 것은 논란의 여지가 있었다. 왜냐하면 이 주제가 ‘정치적’으로 여겨졌기 때문이다. 하지만 지금은 친환경 소프트웨어 채택이 실용적이지 않다고 생각한다면 시대에 뒤떨어진 것이다. 이 책의 목적은 실용적인 것이다. 과거의 신뢰할 만하고 기술적으로 성숙하지만 탄소 집약적인 화석연료 기반 전력망에서 미래의 새로운 재생에너지 기반 전력망으로의 전환을 잘 처리할 수 있는 시스템을 구축하는 데 도움이 되고자 한다. 이러한 시스템은 하드웨어를 보다 효율적으로 사용해야 한다.

--- p.227

출판사 리뷰

개발자가 만드는 더 나은 미래, 지금 바로 시작해야 합니다

개발자들은 더 빠른 코드, 더 효율적인 시스템, 더 확장 가능한 서비스를 고민하며 개발합니다. 하지만 그렇게 개발하는 소프트웨어가 얼마나 많은 에너지를 소비하고, 환경에 어떤 영향을 미치는지 생각해본 적이 있나요?

AI 모델을 학습하고, 클라우드 서버를 운영하며, 방대한 데이터를 저장하는 과정에서 막대한 전력이 소비됩니다. 데이터 센터는 전 세계 전력 소비의 상당 부분을 차지하고 있으며, 점점 더 많은 기업이 탄소 배출 감축을 목표로 친환경적인 기술 도입을 고려하고 있습니다. 이제 개발자도 환경을 고려한 개발 방식을 찾고, 탄소 배출을 줄이는 방법을 고민할 때입니다.

이 책은 소프트웨어 개발과 운영을 친환경적으로 전환하는 방법을 제시합니다. 환경을 보호하면서도 성능을 최적화하고, 비용까지 절감하는 지속 가능한 개발 방식을 알려줍니다. 단순한 이론이 아니라, 실제 개발과 운영에서 적용할 수 있는 실질적인 방법을 다룹니다.

친환경 소프트웨어 개발은 거창한 변화가 아닙니다. 작은 코드 수정, 최적화된 인프라 운영, 불필요한 데이터 줄이기 같은 작은 실천이 모여 큰 변화를 만듭니다. 효율적인 개발이 곧 친환경적인 개발이 될 수 있음을 깨닫게 될 것입니다.

개발자는 세상을 바꿀 수 있는 힘을 가진 사람들입니다. 코드 한 줄로 지구를 지키는 개발자가 되어보세요.

주요 내용

- 지속 가능한 소프트웨어 개발의 중요성
- 친환경 소프트웨어를 설계하고 운영하는 핵심 원칙
- 에너지를 절약하는 코드 최적화와 인프라 운영 방법
- 클라우드, 데이터센터, AI 모델이 환경에 미치는 영향과 해결책
- 친환경 소프트웨어 성숙도 매트릭스를 활용한 단계별 실천 가이드

추천평

이 책은 코드, 운영, 하드웨어, 네트워크, 인공지능 등 다양한 분야에서 우리가 배우고 실천해야 할 지침을 명확하게 제시합니다. 생김새로 사람을 판단하지 않도록 다문화 교육을 받는 것처럼, 결과물만 보고 모든 것을 평가하지 않기 위해 IT 분야에 몸담고 있다면 누구나 이제는 탄소 인식을 갖추어야 합니다. - 박해선 (Microsoft AI MVP, 《혼자 공부하는 머신러닝+딥러닝》 저자 )
책을 읽으며 개발 과정에서 고려해야 할 새로운 영역을 인지하게 되었고, 지속 가능한 소프트웨어 개발에 대해 고민하게 되었습니다. 특히 탄소 배출량을 줄이는 다양한 방법을 다룬 부분이 인상적이었으며, 적용할 수 있는 부분부터 실천해나가기를 추천합니다. - 변성윤 (카일스쿨)
책을 받아 들고 가장 먼저 떠오른 질문은 ‘당장 우리가 할 수 있는 일은 무엇일까?’였습니다. 다행히 이 책은 그린 소프트웨어의 개념과 필요성은 물론, 이를 실천할 수 있는 친환경 IT 전략과 구체적인 방법까지 상세하게 안내합니다. 덕분에 ‘친환경’과 ‘지속 가능성’이 거대 IT 기업이나 미래 세대만의 문제가 아니라, 지금 우리 모두가 고려해야 할 현실적인 이슈임을 깨달았습니다. - 개앞맵시 (《구글 엔지니어는 이렇게 일한다》 역자 )
로봇 소프트웨어 개발자인 저에게 ‘친환경 소프트웨어’ 또는 ‘그린 소프트웨어’는 낯선 개념이었습니다. 하지만 이 책을 읽고 나서, 그린 소프트웨어가 단순히 지구를 위한 착한 일이 아니라 ‘제품의 경쟁력’이라는 사실을 깨달았습니다. - 표윤석 (로보티즈 이사)

리뷰/한줄평3

리뷰

9.4 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.

27,000
1 27,000