사이트 신뢰성 엔지니어링 (구글이 공개하는 서비스 개발과 운영 노하우)

사이트 신뢰성 엔지니어링 (구글이 공개하는 서비스 개발과 운영 노하우)

$40.10
Description
다음 단계로 성장하기 위한 영감으로 가득한 책!
이 책은 구글이 역사적인 서비스를 어떻게 만들어왔는지에 대한 구글 종사자들의 생생한 증언이다. 하지만 우리가 겪고 있는 다양한 문제에 대한 해결 방법을 알려주지는 않는다. 바로 이것이 이 책의 핵심 가치다. 이 책에서 설명하는 내용은 결과적으로 만들어지는 코드나 디자인에 비해 훨씬 가치 있는 것들이다. 왜냐하면 구현된 결과물의 수명은 길지 않은 반면, 증명된 내용을 문서화한 것의 가치는 상상을 초월하기 때문이다. 두 번 다시 나오기 힘든 책이다!
저자

벳시베이어

저자벳시베이어는구글의기술문서작성담당자다.현재미국뉴욕에거주하고있으며,사이트신뢰성엔지니어다.예전에는마운틴뷰를비롯해전세계에분산된데이터센터를관리하는구글데이터센터및하드웨어운영팀의문서를작성하기도했다.뉴욕으로이주하기전에는스탠퍼드대학교에서기술문서작성법을강의하였다.현재의직업을갖기전에는국제관계학및영문학을전공했으며,스탠퍼드와투레인대학교에서학위를받았다.

목차

PARTI소개
CHAPTER01소개_3
서비스관리를위해시스템관리자를활용하는방법_3
서비스관리에대한구글의해법:사이트신뢰성엔지니어링_5
SRE의신조_8
마무리하며_14

CHAPTER02SRE관점에서바라본구글의프로덕션환경15
하드웨어_15
하드웨어를‘조율하는’시스템소프트웨어_17
기타시스템소프트웨어_21
소프트웨어인프라스트럭처_22
개발환경_23
셰익스피어:예제서비스_24

PARTII원리와원칙들
CHAPTER03위험요소수용하기_30
위험요소관리하기_31
서비스위험측정하기_32
서비스의위험수용도_34
에러예산활용해보기_40

CHAPTER04서비스수준목표_44
서비스수준관련용어_45
지표설정_48
목표설정에대한실습_51
협약에대한실습_56

CHAPTER05삽질은이제그만!_57
삽질의정의_58
삽질이줄어들면좋은이유_60
엔지니어링에해당하는업무는?_61
삽질은무조건나쁜것일까?_62
결론_63

CHAPTER06분산시스템모니터링_64
정의_64
왜모니터링해야하는가?_66
모니터링에대한적절한기대치설정하기_67
증상과원인_68
블랙박스와화이트박스_69
네가지결정적인지표_70
마지막요청(혹은실행과성능)에대한고려_72
적당한측정방법선택하기_72
더욱단순하게가아니라최대한단순하게_73
지금까지살펴본원리들을결합하기_74
장기적모니터링_76
결론_78

CHAPTER07구글의발전된자동화_80
자동화의가치_81
구글SRE의가치_83
자동화의사례_85
스스로를이롭게하라:몽땅자동화하자!_88
신의한수:클러스터턴업의자동화_91
보그:창고크기컴퓨터의탄생_98
신뢰성은근본적인기능이다_101
추천사항_101

CHAPTER08릴리즈엔지니어링_103
릴리즈엔지니어의역할_104
릴리즈엔지니어링의철학_104
지속적빌드와배포_106
설정관리기법_111
결론_112

CHAPTER09간결함_114
시스템의안정성vs.신속함_115
지루함의미덕_115
내코드는절대포기하지않을거야!_116
‘부정적영향을미치는코드’의지표_116
최소한의API_117
모듈화_117
릴리즈의간소화_118
간결한결론_119

PARTIII사례
CHAPTER10시계열데이터에대한실용적인알림_127
보그몬의탄생_128
애플리케이션의조작_130
내보낸데이터의수집_131
시계열데이터를위한저장소_132
규칙의평가_135
알림_140
모니터링토폴로지의샤딩_141
블랙박스모니터링_142
설정의유지보수_143
지난10년간…_145

CHAPTER11비상대기_146
소개_146
비상대기엔지니어의삶_147
비상대기업무의균형맞추기_148
안전에대해고려하기_150
부적절한운영부하에서벗어나기_153
결론_155

CHAPTER12효과적인장애조치_156
이론_157
실전에들어가보자_159
부정적인결과의마법_168
사례연구_171
조금더수월하게장애를조치하기_175
결론_176

CHAPTER13긴급대응_177
시스템에문제가생기면어떻게해야할까?_178
테스트로인한장애_178
변경으로인한장애_180
절차에의한장애_183
모든문제가해결되었다_186
지난일로부터배우기.그리고반복하지않기_186
결론_188

CHAPTER14장애관리하기_189
미흡한장애관리_190
미흡한장애처리에대한자세한분석_191
장애관리절차의기본요소들_191
적절하게관리한장애조치_194
언제장애를선언할것인가?_195
요약_196

CHAPTER15포스트모텀문화:실패로부터배우기_197
구글의포스트모텀철학_198
협업과지식의공유_200
포스트모텀문화도입하기_201
결론및지속적인개선_204

CHAPTER16시스템중단추적하기_205
에스컬레이터_206
아우터레이터_206

CHAPTER17신뢰성을위한테스트_212
소프트웨어테스트의종류_214
테스트및빌드환경구성하기_221
대규모환경에서의테스트_223
결론_237

CHAPTER18SRE조직의소프트웨어엔지니어링_238
SRE조직의소프트웨어엔지니어링역량이중요한이유_239
Auxon사례연구:프로젝트배경및문제가발생한부분_240
의도기반수용량계획_244
SRE조직에서소프트웨어엔지니어링을육성하는방법_254
결론_259

CHAPTER19프런트엔드의로드밸런싱_260
모든일을힘으로만해결할수는없는법_260
DNS를이용한로드밸런싱_262
가상IP주소를이용한로드밸런싱_265

CHAPTER20데이터센터의로드밸런싱_268
이상적인사례_269
양호하지않은태스크구별하기:흐름제어와레임덕_271
서브셋을이용한연결풀제한하기_273
로드밸런싱정책_280

CHAPTER21과부하처리하기_287
‘초당쿼리수’의함정_288
사용자별제한_289
클라이언트측에서의사용량제한_290
중요도_292
활용도에대한신호들_294
과부하오류처리하기_295
연결에대한부하_299
결론_300

CHAPTER22연속적장애다루기_302
연속적장애의원인과그대책_303
서버과부하방지하기_309
느긋한시작과콜드캐싱_320
연속적장애의발생요인_323
연속적장애테스트하기_325
연속적장애를처리하기위한즉각적인대처_328
마무리하며_331

CHAPTER23치명적인상태관리하기:신뢰성을위한분산에대한합의_332
합의는왜필요할까:분산시스템간협업의실패_335
분산에대한합의가동작하는방식_337
분산합의를위한시스템아키텍처패턴_339
분산합의의성능_345
분산합의기반시스템의배포_354
분산합의시스템모니터링_364
결론_365

CHAPTER24크론을이용한분산된주기적스케줄링_366
크론_367
크론작업과멱등성_368
대용량시스템내에서의크론_369
구글에서구현한크론서비스_371
요약_379

CHAPTER25데이터처리파이프라인_380
파이프라인디자인패턴의기원_380
단순한파이프라인패턴을적용한빅데이터의기본적인효과_381
정기적파이프라인패턴의과제_381
작업의불균형분산으로인해발생하는문제_382
분산환경에서정기적파이프라인의단점_383
구글워크플로우소개_387
워크플로우의실행단계들_389
비즈니스의지속성보장하기_391
요약_392

CHAPTER26데이터무결성:내가기록한그대로읽을수있어야한다_394
데이터무결성의중요한조건_395
데이터무결성과가용성을유지하기위한구글SRE의목표_401
구글이데이터무결성의문제를해결하는방법_406
사례연구_419
데이터무결성과관련된SRE의일반원리들_427
결론_429

CHAPTER27대용량환경에서의신뢰할수있는제품출시_430
출시조율엔지니어링_432
출시절차마련하기_434
출시확인목록개발하기_438
안정적인출시를위한기법들_443
LCE의개발역량_448
결론_452

PARTIV관리
CHAPTER28비상대기를넘어SRE의성장을촉진하기_456
새SRE를고용했다.이제뭘해야하지?_456
최초의학습경험:혼란을방지하기위한구조의사례_459
스타리버스엔지니어와즉흥적사상가로키워내기_463
포부가큰비상대기엔지니어를위한다섯가지원칙_467
비상대기를넘어서:통과의례와지속적학습의관례_473
마무리하며_474

CHAPTER29방해요소에대한대처_475
운영업무부하관리하기_476
방해요소의관리방법을결정하기위한요소들_477
불완전한머신_478

CHAPTER30SRE를이용해운영업무의부담에서벗어나기_486
1단계:서비스에대해배우고컨텍스트를이해하기_487
2단계:컨텍스트의공유_489
3단계:변화를주도하기_491
결론_494

CHAPTER31SRE의의사소통과협업_495
의사소통:운영환경회의_497
SRE와의협업_501
SRE의협업에대한사례연구:Viceroy_503
SRE외조직과의협업_509
사례연구:DFP의F1으로의이전_510
결론_512

CHAPTER32SRE참여모델의개선_513
SRE의도입:의미와방법,그리고이유_513
PRR모델_514
SRE도입모델_515
운영환경준비검토:간단한PRR모델_517
간단한PRR모델의발전:조기참여_521
서비스개발의개선:프레임워크와SRE플랫폼_524
결론_529

PARTV마무리하며
CHAPTER33다른업계로부터의교훈_533
업계전문가에대한소개_534
준비와재난테스트_536
포스트모텀문화_540
반복적인업무와운영오버헤드를자동화된방식으로제거하기_542
구조화되고합리적인의사결정_544
결론_546

CHAPTER34마치며_547

APPENDIX.부록
APPENDIXA가용성표_551
APPENDIXB운영서비스를위한권장사례모음_553
APPENDIXC장애상태문서의예_559
APPENDIXD포스트모텀의예_561
APPENDIXE출시조율확인목록_566
APPENDIXF제품회의의예_569

참고문헌_573
찾아보기_584

출판사 서평

다음단계로성장하기위한영감으로가득한책!
실제로동작하는코드가가장중요하다고여기는구글의원칙을체험한다!

소프트웨어시스템의수명은보통디자인이나구현단계가아니라실제로사용되는기간에좌우된다.그렇다면어째서소프트웨어엔지니어는대용량컴퓨팅시스템을디자인하고구현하는과정을가장중요하게생각해온것일까?

이책에서는구글의사이트신뢰성엔지니어링팀의핵심구성원들이소프트웨어의전체생명주기에집중함으로써세계에서가장거대한소프트웨어시스템을구현하고,배포하고,관측하며,유지하는방법과그이유를다양한에세이와사설을통해소개한다.이를통해구글엔지니어들이더확장가능하고,신뢰할수있으며,효과적인시스템을구축할수있었던원리와사례를여러분의조직에도적용할수있게될것이다.

이책의주요내용
■소개:사이트신뢰성엔지니어링이무엇인지,그리고기존IT분야의사례와는어떻게다른지를소개한다.
■원리:패턴과행동양식,그리고사이트신뢰성엔지니어의작업에영향을미치는여러사안을소개한다.
■사례연구:SRE의일과인대용량분산컴퓨팅시스템을구축하고운영하기위한이론과사례들을학습한다.
■관리:구글이권장하는신규입사자에대한교육,의사소통,회의진행방식등을자신의조직에적용하기위한방법들을살펴본다.