그린 소프트웨어 (지속 가능한 소프트웨어 개발과 운영 가이드)

그린 소프트웨어 (지속 가능한 소프트웨어 개발과 운영 가이드)

$30.59
Description
코드 한 줄로 지구를 살리는 시대, 지속 가능한 소프트웨어로 미래를 지키자
이 책은 전력망의 변화부터 클라우드 운영 방식까지, 친환경 소프트웨어가 환경과 비즈니스 모두에 미치는 영향을 깊게 다루고 있다. 그린 소프트웨어 재단에서 활동하는 저자들은 친환경 소프트웨어의 선구자로서, 지속 가능한 IT 운영을 위해 실질적인 해법과 통찰을 제시한다. 이제 막 커리어를 시작한 신입 개발자부터 CTO까지, 소프트웨어에 관여하는 모든 이에게 유용한 이야기로 가득하다. 친환경적으로 코드를 개발하고, 호스팅하며, 운영하는 구체적인 방법에 대해 살펴보고, 코드 한 줄로 지구를 살리는 일이 무엇인지 알아보자.
저자

앤커리,세라수,사라베리만

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

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

저자:사라베리만
마이크로소프트에코시스템에서백엔드엔지니어로활동하는선임소프트웨어엔지니어다.친환경소프트웨어실천을지지하며,콘퍼런스,밋업,팟캐스트등에서이를주제로활발히강연하고있다.그린소프트웨어재단의개인기고자로서,소프트웨어탄소집약도사양및GSF뉴스레터등다양한프로젝트에기여하고있다.

역자:차건회
현재미국로스앤젤레스에있는ShellRechargeSolutions에서자바백엔드테크리드로일하고있다.자바,스프링부트,메시지큐,일래스틱서치,레디스등자바백엔드의전반적인기술스택및성능향상에관심이있다.옮긴책으로는《클라우드네이티브스프링인액션》(2024),《좋은코드,나쁜코드》,《프로그래머의뇌》(이상제이펍,2022),《크리에이티브프로그래머》(한빛미디어,2023)가있다.

목차

옮긴이머리말xi
추천사xiii
베타리더후기xvi
이책에보내는찬사xviii
추천서문xix
시작하며xxii
감사의글xxx
표지에대하여xxxii

CHAPTER1친환경소프트웨어소개1
1.1IT업계에서친환경이란무엇을의미할까?1
1.2우리의신념2
__1.2.12장:구성요소3/1.2.23장:코드효율성4/1.2.34장:운영효율성8/1.2.45장:탄소인식13/1.2.5하드웨어효율성14/1.2.67장:네트워크16/1.2.78장:좀더친환경적인머신러닝,Al,LLM16/1.2.89장:측정17/1.2.910장:모니터링17/1.2.1011장:부수효과와공동의이익17/1.2.1112장:친환경소프트웨어성숙도매트릭스18/1.2.1213장:나아갈방향18

CHAPTER2구성요소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소프트웨어엔지니어를위한하드웨어10133
__2.3.1물리적인측면33/2.3.2운영측면35
2.4준비완료38

CHAPTER3코드효율성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

CHAPTER4운영효율성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

CHAPTER5탄소인식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.2Xbox108/5.5.3아이폰109/5.5.4탄소해커톤22109
5.6탄소인식컴퓨팅의팬이되셨나요?111

CHAPTER6하드웨어효율성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

CHAPTER7네트워크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.62020년의교훈147
7.7결론148

CHAPTER8좀더친환경적인머신러닝,AI,LLM150
8.1규모와사용량증가152
8.2프로젝트계획153
8.3데이터수집154
8.4ML모델설계와훈련156
__8.4.1크기의중요성156/8.4.2크기가전부는아니다158
8.5배포와유지관리160
8.6어디서부터시작할까?161

CHAPTER9측정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.3ISO14064표준180
9.4사용가능한도구181
__9.4.1하이퍼스케일클라우드제공업체도구181/9.4.2클라우드에서사용가능한오픈소스183/9.4.3클라이언트측도구185
9.5결론186

CHAPTER10모니터링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

CHAPTER11부수효과와공동의이익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.1LLM제어209/11.5.2데이터모델209
11.6실제로는지금까지다룬모든것이다210
11.7준비완료212

CHAPTER12친환경소프트웨어성숙도매트릭스213
12.1성숙도매트릭스의역사214
12.2친환경소프트웨어성숙도매트릭스216
__12.2.1레벨217/12.2.2축222/12.2.3축체크리스트222
12.3우리의현재위치는?226

CHAPTER13나아갈방향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

출판사 서평

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

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

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

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

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

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

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