PART 1 관찰 가능성으로 가는 길chapter 1 관찰 가능성이란?_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 현대적인 시스템을 위한 관찰 가능성요약chapter 2 관찰 가능성과 모니터링의 디버깅은 어떻게 다를까?_2.1 모니터링 데이터를 활용한 디버깅__2.1.1 대시보드를 이용한 문제 해결__2.1.2 직관을 통한 문제 해결의 한계__2.1.3 사후 대응적일 수밖에 없는 기존 모니터링_2.2 관찰 가능성을 통한 더 나은 디버깅요약chapter 3 관찰 가능성 없이 확장하며 배운 교훈_3.1 메타가 인수한 MBaaS 기업 Parse_3.2 Parse에서 경험했던 확장성_3.3 현대적 시스템으로의 진화_3.4 현대적 관행으로의 진화_3.5 Parse의 전환 사례요약chapter 4 관찰 가능성은 어떻게 데브옵스, Sre, 클라우드 네이티브를 연결하는가_4.1 클라우드 네이티브, 데브옵스, SRE에 대한 간단한 소개_4.2 관찰 가능성: 디버깅의 과거와 오늘_4.3 관찰 가능성을 통한 데브옵스와 SRE 프랙티스의 강화요약PART 2 관찰 가능성 기초chapter 5 정형화된 이벤트: 관찰 가능성의 기본 구성 요소_5.1 정형화된 이벤트를 이용한 디버깅_5.2 메트릭을 기본 구성 요소로 사용하기 어려운 이유_5.3 기존 로그를 기본 구성 요소로 사용하기 어려운 이유__5.3.1 비정형 로그__5.3.2 정형화된 로그_5.4 디버깅 시 유용한 이벤트 속성요약chapter 6 이벤트를 추적으로 연결하기_6.1 분산 추적이란 무엇이고 왜 중요한가?_6.2 추적을 구성하는 컴포넌트_6.3 어렵게 추적 계측하기_6.4 추적 스팬에 사용자 정의 필드 추가하기_6.5 이벤트를 추적으로 연결하기요약chapter 7 Opentelemetry를 이용한 계측_7.1 계측이란?_7.2 오픈 계측 표준_7.3 코드를 이용한 계측__7.3.1 자동 계측 시작하기__7.3.2 사용자 정의 계측 추가하기__7.3.3 백엔드 시스템으로 계측 데이터 전송하기요약chapter 8 관찰 가능성 확보를 위한 이벤트 분석_8.1 알려진 조건 기반의 디버깅_8.2 디버깅의 제1원칙__8.2.1 핵심 분석 루프 사용하기__8.2.2 핵심 분석 루프의 무차별 대입 자동화_8.3 AIOps의 약속에 대한 오해요약chapter 9 관찰 가능성과 모니터링의 공존_9.1 모니터링이 적합한 사례_9.2 관찰 가능성이 적합한 사례_9.3 대상 시스템, 소프트웨어에 따른 고려 사항_9.4 조직의 요구사항 평가__9.4.1 예외 무시할 수 없는 인프라 모니터링__9.4.2 실전 예시요약PART 3 팀을 위한 관찰 가능성chapter 10 관찰 가능성 사례 적용하기_10.1 커뮤니티 그룹 참여하기_10.2 가장 큰 고민거리에서 시작하기_10.3 구축보다 구매_10.4 반복을 통한 계측 구체화_10.5 기존의 노력을 최대한 활용하기_10.6 관찰 가능성 적용의 최종 관문요약chapter 11 관찰 가능성 주도 개발_11.1 테스트 주도 개발_11.2 개발 생애주기 내에서의 관찰 가능성_11.3 디버그 지점의 결정_11.4 마이크로서비스 시대의 디버깅_11.5 계측이 관찰 가능성 도입을 촉진하는 방법_11.6 관찰 가능성의 조기 투입_11.7 소프트웨어 배포 가속화를 위한 관찰 가능성 활용요약chapter 12 신뢰성을 위한 SLO의 활용_12.1 전통적 모니터링 접근 방법이 낳은 알람에 대한 피로감_12.2 알려진 무지만을 위한 임계치 기반의 알람_12.3 중요한 것은 사용자 경험이다_12.4 SLO란 무엇인가?__12.4.1 SLO 기반의 신뢰성 있는 알람__12.4.2 사례 연구: SLO 기반의 알람 문화 변화요약chapter 13 SLO 기반 알람 대응과 디버깅_13.1 오류 예산이 소진되기 전에 경고하기_13.2 슬라이딩 윈도우를 이용한 시간 범위 설정_13.3 오류 예산 소진 알람 생성을 위한 예측__13.3.1 룩어헤드 윈도우__13.3.2 베이스라인 윈도우__13.3.3 SLO 소진 알람 대응하기_13.4 관찰 가능성 데이터와 시계열 데이터를 이용한 SLO 측정의 차이요약chapter 14 관찰 가능성과 소프트웨어 공급망_14.1 슬랙이 관찰 가능성을 도입한 이유_14.2 계측: 공유 클라이언트 라이브러리와 디멘션_14.3 사례 연구: 소프트웨어 공급망에 관찰 가능성 적용하기__14.3.1 도구를 이용한 문맥의 이해__14.3.2 실행 가능한 알람 내장하기__14.3.3 변경사항 이해하기요약PART 4 규모에 맞는 관찰 가능성 시스템 구축chapter 15 투자 회수 관점에서 본 구축과 구매_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 자체 구축과 상용 소프트웨어 도입은 옳고 그름의 문제가 아니다요약chapter 16 효율적인 데이터 스토리지_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 효율적인 자체 데이터 스토어 구축을 위한 고려 사항요약chapter 17 샘플링: 비용과 정확성 모두를 위한 선택_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 여러 가지 샘플링 방법의 동시 적용요약chapter 18 파이프라인을 이용한 원격 측정 관리_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 원격 측정 파이프라인 관리: 구축할 것인가 구매할 것인가요약PART 5 관찰 가능성 문화의 확산chapter 19 관찰 가능성 비즈니스 사례_19.1 변화에 대한 사후 대응적인 접근 방법_19.2 관찰 가능성의 투자 수익률_19.3 변경에 대한 적극적인 접근 방법_19.4 사례로서의 관찰 가능성 소개_19.5 적절한 도구를 이용한 관찰 가능성 실천__19.5.1 계측__19.5.2 데이터 저장소와 분석__19.5.3 도구의 출시_19.6 충분한 관찰 가능성을 확보했는지 인식하기요약chapter 20 관찰 가능성의 이해관계자와 조력자_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 도구 함께 사용하기요약chapter 21 관찰 가능성 성숙도 모델_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 조직을 위한 관찰 가능성 성숙도 모델 적용요약chapter 22 관찰 가능성의 미래_22.1 관찰 가능성의 과거와 현재_22.2 보충 자료_22.3 관찰 가능성의 미래