상세정보
미리보기
데브옵스 엔지니어를 위한 실전 관찰 가능성 엔지니어링
- 저자
- 채리티 메이저,리즈 퐁 존스,조지 미란다 공저/노승헌 역
- 출판사
- 한빛미디어
- 출판일
- 2024-06-10
- 등록일
- 2024-11-21
- 파일포맷
- PDF
- 파일크기
- 4MB
- 공급사
- 예스이십사
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
관찰 가능성은 복잡한 최신 시스템의 소프트웨어를 구축, 수정, 이해하는 데 매우 중요한다. 관찰 가능성을 채택한 팀은 코드를 신속하고 자신 있게 배포할 수 있으며, 이상값과 비정상적인 동작을 식별하고, 모든 사용자의 경험을 훨씬 더 잘 이해할 수 있다. 이 책은 관찰 가능성의 개념과 중요성을 설명하며, 현대 소프트웨어 시스템 관리에서 왜 관찰 가능성이 필요한지를 다룬다. 또한, 관찰 가능성과 모니터링의 차이점을 분석하고 각 접근 방식의 장단점을 비교한다. OpenTelemetry와 같은 도구를 사용하여 관찰 가능성 시스템을 구현하고 데이터 기반 문제 해결 방법을 소개하며, 실제 사례에 어떻게 적용되는지도 알아본다. 마지막으로 관찰 가능성을 조직에 도입하고 확산시키는 사회적, 문화적 접근 방법에 대해 다룬다.
저자소개
허니컴의 공동 창립자이자 CTO. 허니콤(Honeycomb)은 로그 수집기의 원시 정확도, 시계열 지표의 속도, APM(Application Performance Metrics)의 유연성을 결합해 세계 최초의 진정한 차세대 분석 서비스를 제공한다. 이전에 Parse/Facebook의 운영자였으며 레디스(Redis), 카산드라(Cassandra), MySQL와 더불어 대규모의 몽고DB(MongoDB)를 관리했다. 또한 페이스북의 RocksDB 팀과 긴밀히 협력해 플러그형 스토리지 엔진 API를 사용해서 세계 최초의 Mongo+Rocks를 개발하고 출시했다.
목차
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 관찰 가능성의 미래