데브옵스 엔지니어를 위한 실전 관찰 가능성 엔지니어링 : 관찰 가능성의 시스템 구축과 문화 확산을 위한 가이드
Description
관찰 가능성은 복잡한 최신 시스템의 소프트웨어를 구축, 수정, 이해하는 데 매우 중요합니다. 관찰 가능성을 채택한 팀은 코드를 신속하고 자신 있게 배포할 수 있으며, 이상값과 비정상적인 동작을 식별하고, 모든 사용자의 경험을 훨씬 더 잘 이해할 수 있습니다.

이 책은 관찰 가능성의 개념과 중요성을 설명하며, 현대 소프트웨어 시스템 관리에서 왜 관찰 가능성이 필요한지를 다룹니다. 또한, 관찰 가능성과 모니터링의 차이점을 분석하고 각 접근 방식의 장단점을 비교합니다.
OpenTelemetry와 같은 도구를 사용하여 관찰 가능성 시스템을 구현하고 데이터 기반 문제 해결 방법을 소개하며, 실제 사례에 어떻게 적용되는지도 알아봅니다. 마지막으로 관찰 가능성을 조직에 도입하고 확산시키는 사회적, 문화적 접근 방법에 대해 다룹니다.

● 관찰 가능성을 대규모 소프트웨어 관리에 적용하는 방법
● 복잡한 클라우드 네이티브 애플리케이션 및 시스템에서의 관찰 가능성 적용
● 관찰 가능성이 전체 소프트웨어 개발 생애주기에 미치는 영향
● 서비스 수준 목표(SLO)에 따른 관찰 가능성 활용 방법
● 문맥 기반의 시스템 디버깅과 유지 보수를 위한 고품질 코드를 생성하는 방법
● 풍부한 데이터 분석을 통해 해결하기 어려운 이슈를 디버깅하는 방법

저자

채리티메이저,리즈퐁존스,조지미란다

저자:채리티메이저
허니컴의공동창립자이자CTO이면서『데이터베이스신뢰성엔지니어링』(에이콘,2023)의공동저자이기도합니다.이전에는Parse,페이스북,LindenLab등에서시스템엔지니어,엔지니어링매니저로근무했습니다.

저자:리즈퐁존스
개발자애드보킷과사이트신뢰성엔지니어로업계에서17년이상근무한베테랑입니다.허니컴에서SRE와관찰가능성커뮤니티의애드보킷으로활동중입니다.

저자:조지미란다
시스템엔지니어였지만현재는허니컴에서제품마케터이자시장마케팅전략리더로활동하고있습니다.15년이상금융업계와비디오게임업계에서대규모분산시스템을구축하는일을해왔습니다.

역자:노승헌
눈물없이볼수없는한편의뮤직비디오같은인생을만드느라바쁜센티멘털리스트.삼성네트웍스,SK텔레콤,아카마이코리아를거치면서개발자,프로젝트매니저,제품오너,솔루션아키텍트등다양한영역에서자신을시험해보고있습니다.현재는라인플러스에서사용자가서비스를더쾌적하게사용할수있도록글로벌트래픽에관한업무를수행합니다.집필한도서로는『나는LINE개발자입니다』(한빛미디어,2019),『슬랙으로협업하기』(위키북스,2017),『소셜네트워크로세상을바꾼사람들』(길벗,2013)등이있으며,『관찰가능성엔지니어링』(한빛미디어,2023),『NGINX쿡북』(한빛미디어,2022)등을번역했습니다.

목차

PART1관찰가능성으로가는길

chapter1관찰가능성이란?
_1.1관찰가능성의수학적정의
_1.2소프트웨어시스템에대한관찰가능성적용
_1.3소프트웨어를위한관찰가능성에대한잘못된특성화
_1.4왜지금관찰가능성인가?
__1.4.1이것이정말최선의방법인가?
__1.4.2메트릭과모니터링이충분하지않은이유
_1.5메트릭을이용한디버깅과관찰가능성을이용한디버깅
__1.5.1카디널리티의역할
__1.5.2디멘셔널리티의역할
_1.6관찰가능성을이용한디버깅
_1.7현대적인시스템을위한관찰가능성
요약

chapter2관찰가능성과모니터링의디버깅은어떻게다를까?
_2.1모니터링데이터를활용한디버깅
__2.1.1대시보드를이용한문제해결
__2.1.2직관을통한문제해결의한계
__2.1.3사후대응적일수밖에없는기존모니터링
_2.2관찰가능성을통한더나은디버깅
요약

chapter3관찰가능성없이확장하며배운교훈
_3.1메타가인수한MBaaS기업Parse
_3.2Parse에서경험했던확장성
_3.3현대적시스템으로의진화
_3.4현대적관행으로의진화
_3.5Parse의전환사례
요약

chapter4관찰가능성은어떻게데브옵스,Sre,클라우드네이티브를연결하는가
_4.1클라우드네이티브,데브옵스,SRE에대한간단한소개
_4.2관찰가능성:디버깅의과거와오늘
_4.3관찰가능성을통한데브옵스와SRE프랙티스의강화
요약

PART2관찰가능성기초

chapter5정형화된이벤트:관찰가능성의기본구성요소
_5.1정형화된이벤트를이용한디버깅
_5.2메트릭을기본구성요소로사용하기어려운이유
_5.3기존로그를기본구성요소로사용하기어려운이유
__5.3.1비정형로그
__5.3.2정형화된로그
_5.4디버깅시유용한이벤트속성
요약

chapter6이벤트를추적으로연결하기
_6.1분산추적이란무엇이고왜중요한가?
_6.2추적을구성하는컴포넌트
_6.3어렵게추적계측하기
_6.4추적스팬에사용자정의필드추가하기
_6.5이벤트를추적으로연결하기
요약

chapter7Opentelemetry를이용한계측
_7.1계측이란?
_7.2오픈계측표준
_7.3코드를이용한계측
__7.3.1자동계측시작하기
__7.3.2사용자정의계측추가하기
__7.3.3백엔드시스템으로계측데이터전송하기
요약

chapter8관찰가능성확보를위한이벤트분석
_8.1알려진조건기반의디버깅
_8.2디버깅의제1원칙
__8.2.1핵심분석루프사용하기
__8.2.2핵심분석루프의무차별대입자동화
_8.3AIOps의약속에대한오해
요약

chapter9관찰가능성과모니터링의공존
_9.1모니터링이적합한사례
_9.2관찰가능성이적합한사례
_9.3대상시스템,소프트웨어에따른고려사항
_9.4조직의요구사항평가
__9.4.1예외무시할수없는인프라모니터링
__9.4.2실전예시
요약

PART3팀을위한관찰가능성

chapter10관찰가능성사례적용하기
_10.1커뮤니티그룹참여하기
_10.2가장큰고민거리에서시작하기
_10.3구축보다구매
_10.4반복을통한계측구체화
_10.5기존의노력을최대한활용하기
_10.6관찰가능성적용의최종관문
요약

chapter11관찰가능성주도개발
_11.1테스트주도개발
_11.2개발생애주기내에서의관찰가능성
_11.3디버그지점의결정
_11.4마이크로서비스시대의디버깅
_11.5계측이관찰가능성도입을촉진하는방법
_11.6관찰가능성의조기투입
_11.7소프트웨어배포가속화를위한관찰가능성활용
요약

chapter12신뢰성을위한SLO의활용
_12.1전통적모니터링접근방법이낳은알람에대한피로감
_12.2알려진무지만을위한임계치기반의알람
_12.3중요한것은사용자경험이다
_12.4SLO란무엇인가?
__12.4.1SLO기반의신뢰성있는알람
__12.4.2사례연구:SLO기반의알람문화변화
요약

chapter13SLO기반알람대응과디버깅
_13.1오류예산이소진되기전에경고하기
_13.2슬라이딩윈도우를이용한시간범위설정
_13.3오류예산소진알람생성을위한예측
__13.3.1룩어헤드윈도우
__13.3.2베이스라인윈도우
__13.3.3SLO소진알람대응하기
_13.4관찰가능성데이터와시계열데이터를이용한SLO측정의차이
요약

chapter14관찰가능성과소프트웨어공급망
_14.1슬랙이관찰가능성을도입한이유
_14.2계측:공유클라이언트라이브러리와디멘션
_14.3사례연구:소프트웨어공급망에관찰가능성적용하기
__14.3.1도구를이용한문맥의이해
__14.3.2실행가능한알람내장하기
__14.3.3변경사항이해하기
요약

PART4규모에맞는관찰가능성시스템구축

chapter15투자회수관점에서본구축과구매
_15.1관찰가능성의ROI분석방법
_15.2자체구축비용
__15.2.1무료소프트웨어사용의숨겨진비용
__15.2.2자체구축의장점
__15.2.3자체구축의위험성
_15.3상용소프트웨어실제도입비용
__15.3.1상용소프트웨어도입의숨겨진재무적비용
__15.3.2상용소프트웨어도입의숨겨진비재무적비용
__15.3.3상용소프트웨어도입의이점
__15.3.4상용소프트웨어구매의위험성
_15.4자체구축과상용소프트웨어도입은옳고그름의문제가아니다
요약

chapter16효율적인데이터스토리지
_16.1관찰가능성을위한기능적요구사항
__16.1.1관찰가능성에부적합한시계열데이터베이스
__16.1.2다른데이터저장소후보들
__16.1.3데이터스토리지전략
_16.2사례연구:허니컴리트리버의구현
__16.2.1시간단위로데이터파티셔닝하기
__16.2.2세그먼트내에열별로데이터저장하기
__16.2.3쿼리작업수행하기
__16.2.4추적쿼리하기
__16.2.5실시간으로데이터쿼리하기
__16.2.6티어링을활용한비용효율적인쿼리처리
__16.2.7병렬처리를통해빠르게만들기
__16.2.8높은카디널리티다루기
__16.2.9확장성과내구성전략
__16.2.10효율적인자체데이터스토어구축을위한고려사항
요약

chapter17샘플링:비용과정확성모두를위한선택
_17.1데이터수집을정제하기위한샘플링
_17.2샘플링에대한다양한접근방법
__17.2.1고정확률샘플링
__17.2.2최신트래픽볼륨기반의샘플링
__17.2.3이벤트콘텐츠(키)기반샘플링
__17.2.4키,메서드조합을통한샘플링
__17.2.5동적샘플링옵션선택
__17.2.6추적에대한샘플링결정시점
_17.3샘플링전략의코드화
__17.3.1기본시나리오
__17.3.2고정비율샘플링
__17.3.3샘플링비율의기록
__17.3.4일관성있는샘플링
__17.3.5목표비율샘플링
__17.3.6하나이상의정적샘플링비율사용하기
__17.3.7키와목표비율을이용한샘플링
__17.3.8많은키를지원하는동적비율샘플링
__17.3.9여러가지샘플링방법의동시적용
요약

chapter18파이프라인을이용한원격측정관리
_18.1원격측정파이프라인의속성
__18.1.1라우팅
__18.1.2보안과규제준수
__18.1.3워크로드의격리
__18.1.4데이터버퍼링
__18.1.5용량관리
__18.1.6데이터필터링및증강
__18.1.7데이터변환
__18.1.8데이터품질과일관성보장
_18.2원격측정파이프라인의관리자세히살펴보기
_18.3원격측정파이프라인관리시당면과제
__18.3.1성능
__18.3.2정확성
__18.3.3가용성
__18.3.4신뢰성
__18.3.5격리
__18.3.6데이터신선도
_18.4사례연구:슬랙에서의원격측정관리
__18.4.1메트릭집계
__18.4.2로그와추적이벤트
_18.5오픈소스대안들
_18.6원격측정파이프라인관리:구축할것인가구매할것인가
요약

PART5관찰가능성문화의확산

chapter19관찰가능성비즈니스사례
_19.1변화에대한사후대응적인접근방법
_19.2관찰가능성의투자수익률
_19.3변경에대한적극적인접근방법
_19.4사례로서의관찰가능성소개
_19.5적절한도구를이용한관찰가능성실천
__19.5.1계측
__19.5.2데이터저장소와분석
__19.5.3도구의출시
_19.6충분한관찰가능성을확보했는지인식하기
요약

chapter20관찰가능성의이해관계자와조력자
_20.1비엔지니어링관찰가능성요구사항의식별
_20.2실무에서관찰가능성조력자만들기
__20.2.1고객지원팀
__20.2.2고객성공팀과제품팀
__20.2.3영업팀과경영팀
_20.4관찰가능성도구와비즈니스인텔리전스도구의차이점
__20.4.1쿼리실행시간
__20.4.2정확도
__20.4.3최신성
__20.4.4데이터구조
__20.4.5시간범위
__20.4.6일시성
_20.5실무에서관찰가능성과BI도구함께사용하기
요약

chapter21관찰가능성성숙도모델
_21.1성숙도모델에대한기본적인이해
_21.2관찰가능성성숙도모델이필요한이유
_21.3관찰가능성성숙도모델
_21.4관찰가능성성숙도모델의기능들
__21.4.1시스템실패에대한탄력성
__21.4.2완성도높은코드의배포
__21.4.3소프트웨어복잡도와기술부채의관리
__21.4.4예측가능한릴리스
__21.4.5사용자동작의이해
_21.5조직을위한관찰가능성성숙도모델적용
요약

chapter22관찰가능성의미래
_22.1관찰가능성의과거와현재
_22.2보충자료
_22.

출판사 서평

관찰가능성은복잡한최신시스템의소프트웨어를구축,수정,이해하는데매우중요합니다.관찰가능성을채택한팀은코드를신속하고자신있게배포할수있으며,이상값과비정상적인동작을식별하고,모든사용자의경험을훨씬더잘이해할수있습니다.

이책은관찰가능성의개념과중요성을설명하며,현대소프트웨어시스템관리에서왜관찰가능성이필요한지를다룹니다.또한,관찰가능성과모니터링의차이점을분석하고각접근방식의장단점을비교합니다.
OpenTelemetry와같은도구를사용하여관찰가능성시스템을구현하고데이터기반문제해결방법을소개하며,실제사례에어떻게적용되는지도알아봅니다.마지막으로관찰가능성을조직에도입하고확산시키는사회적,문화적접근방법에대해다룹니다.

ㅇ관찰가능성을대규모소프트웨어관리에적용하는방법
ㅇ복잡한클라우드네이티브애플리케이션및시스템에서의관찰가능성적용
ㅇ관찰가능성이전체소프트웨어개발생애주기에미치는영향
ㅇ서비스수준목표(SLO)에따른관찰가능성활용방법
ㅇ문맥기반의시스템디버깅과유지보수를위한고품질코드를생성하는방법
ㅇ풍부한데이터분석을통해해결하기어려운이슈를디버깅하는방법

현대소프트웨어개발및관리의핵심전략과도구

『데브옵스엔지니어를위한실전관찰가능성엔지니어링』은관찰가능성이무엇인지,관찰가능한시스템을어떻게식별하는지,현대적인소프트웨어시스템을관리할때관찰가능성기반의디버깅이적합한이유를알아봅니다.그와함께관찰가능성의여러가지기술적측면을살펴보며,기존모니터링체계와의공존방법에대해다룹니다.또한관찰가능성을처음도입할때직면하게되는어려움과일하는방식의변화등다양한환경에서겪게되는관찰가능성의사례와문제점을알아봅니다.마지막으로,관찰가능성문화를조직에채택하는접근방법을논의하며,조직전반에걸쳐관찰가능성채택을위해이해해야하는문화적메커니즘에대해설명합니다.