관찰 가능성 엔지니어링 알렉스 보텐 pdf 다운로드를 무료로 제공합니다 마이크로서비스와 클라우드가 보편화된 지금, ‘관찰 가능성’은 시스템이 어떻게 작동하고 어디서 문제가 생기는지 실시간으로 알 수 있게 해주는 놀라운 개념입니다
관련 교재 pdf 모음
책 소개
이 책은 익숙한 모니터링 개념을 시작으로 왜 관찰 가능성이 필요한지, 어떻게 적용할 수 있는지 심도 있게 설명하며, 실무에 바로 활용 가능한 실용적인 팁도 제공합니다. 이 책에서는 식료품 주문 웹 애플리케이션을 예시로 사용합니다. 따라서 애플리케이션의 구조 분석부터 관찰 가능성의 다양한 요소들을 적용해보는 것까지 오픈 소스를 활용해 차근차근 따라 해볼 수 있습니다.. 특히 이 책에서 중점적으로 설명하는 OpenTelemetry를 사용하면 단 한 번의 계측만으로 유의미한 데이터를 얻고 활용해볼 수 있습니다. 또한 도커, 쿠버네티스와 같은 필수 클라우드 컴퓨팅 도구를 비롯하여 여러 계측 라이브러리에 익숙해질 수 있습니다. 설계, 코딩, 테스트, 배포, 운영 등 소프트웨어 개발 주기 내에서 다양한 역할을 수행하는 개발자, 엔지니어, 시스템 운영자라면 이 책을 통해 소프트웨어를 계측하고, 분석하고, 오류를 해결해보세요! 모니터링을 포함하는 상위 개념인 관찰 가능성에 관해 자세히 설명합니다. 그리고 관찰 가능성을 위해 개발된 대표적인 오픈 소스 OpenTelemetry를 활용해 애플리케이션에 관찰 가능성을 직접 적용해봅니다. 코드 예제뿐만 아니라 단계별로 애플리케이션 코드를 계측하고 분석하는 원리를 담고 있어 실무에서도 쉽게 활용할 수 있습니다. 책의 모든 내용을 이해하고 나면 자신의 애플리케이션을 계측해 오류의 원인은 물론, 잠재적인 오류까지도 찾아낼 수 있을 것입니다. 특히 이 책은 관찰 가능성의 역사와 개념부터 애플리케이션 계측과 분석까지 모두 다루기 때문에 관찰 가능성을 처음 접하는 사람도 쉽게 이해할 수 있습니다. 또한 이전에 시도해보지 않은 방법으로 인프라, 서비스, 애플리케이션을 개발/운영하고자 하는 소프트웨어 엔지니어, 시스템 운영자에게 원격 측정 데이터를 활용하는 실용적인 팁을 제공합니다.
관찰 가능성 엔지니어링 pdf 다운
[PART 1 기초]
Chapter 1 관찰 가능성의 역사와 개념
1.1 클라우드 네이티브 애플리케이션
1.2 데브옵스로의 전환
1.3 관찰 가능성의 역사
_중앙 집중식 로깅
_메트릭과 대시보드
_추적과 분석
1.4 OpenTelemetry의 역사
_OpenTracing
_OpenCensus
_클라우드 네이티브 소프트웨어를 위한 관찰 가능성
1.5 OpenTelemetry의 개념
_시그널
__규격
__데이터 모델
__API
__SDK
__시맨틱 표기법
__계측 라이브러리
_파이프라인
__프로바이더
__원격 측정 생성기
__처리기
__익스포터
_리소스
_컨텍스트 전파
정리하기
Chapter 2 OpenTelemetry 시그널 – 분산 추적, 메트릭, 로그
2.1 환경 설정
2.2 분산 추적
_추적 심층 분석
_스팬의 상세 정보
_추가 고려 사항
2.3 메트릭
_메트릭 심층 분석
_데이터 포인트 타입
_모범 사례
_추가 고려 사항
2.4 로그
_로그 심층 분석
_로그의 상관관계
_추가 고려 사항
__시맨틱 표기법
__시맨틱 표기법의 적용
__스키마 URL
정리하기
Chapter 3 자동 계측
3.1 환경 설정
3.2 자동 계측
_수동 계측의 과제
_자동 계측 컴포넌트
_자동 계측의 한계
3.3 바이트코드 조작
_OpenTelemetry 자바 에이전트
3.4 런타임 훅과 몽키 패칭
_계측 라이브러리
_계측기 인터페이스
_래퍼 스크립트
정리하기
[PART 2 애플리케이션 계측]
Chapter 4 분산 추적 – 코드 실행 추적
4.1 환경 설정
4.2 추적 파이프라인 설정
_추적기 확보
4.3 추적 데이터 생성
4.4 컨텍스트 API
_스팬 처리기
4.5 데이터 보완
_ResourceDetector
_스팬 속성
_SpanKind
4.6 컨텍스트 전파
_추가 전파기 형식
_복합 전파기
4.7 이벤트, 예외, 상태 기록
_이벤트
_예외
_상태
정리하기
Chapter 5 메트릭 – 측정값 기록
5.1 환경 설정
5.2 메트릭 파이프라인 설정
_미터 생성
_푸시 기반 메트릭 추출과 풀 기반 메트릭 추출
5.3 올바른 메트릭 계측기 선택
_카운터
_비동기 카운터
_업/다운 카운터
_비동기 업/다운 카운터
_히스토그램
_비동기 게이지
_중복 메트릭 유형
5.4 뷰를 이용한 메트릭 출력 커스터마이징
_필터링
_디멘션
_집계
5.5 grocery-store 서비스
_요청 수
_요청 지속 시간
_동시 요청
_리소스 사용
정리하기
Chapter 6 로그 – 이벤트 포착
6.1 환경 설정
6.2 OpenTelemetry 로깅 설정
6.3 로그 생성
_Logger
_표준 로깅 라이브러리
6.4 실전 시그널 로깅
_분산 추적과 로그
_Flask를 이용한 OpenTelemetry 로깅
_WSGI 미들웨어를 이용한 로깅
_리소스 상관관계
정리하기
Chapter 7 계측 라이브러리
7.1 환경 설정
7.2 자동 계측 설정
_OpenTelemetry 배포판
_OpenTelemetry 설정기
_환경 변수
_커맨드라인 옵션
7.3 requests 라이브러리 계측기
_추가 설정 옵션
_계측기의 수동 호출
_이중 계측
7.4 자동 설정
_리소스 속성 설정
_추적 설정
_메트릭 설정
_로그 설정
_전파 설정
7.5 grocery-store 애플리케이션 다시 보기
_legacy-inventory 애플리케이션
_grocery-store 애플리케이션
_shopper 애플리케이션
7.6 Flask 라이브러리 계측기
_추가 설정 옵션
7.7 계측기 라이브러리 찾기
_OpenTelemetry 레지스트리
_opentelemetry-bootstrap
정리하기
[PART 3 원격 측정 데이터 활용]
Chapter 8 OpenTelemetry 컬렉터
8.1 환경 설정
8.2 OpenTelemetry 컬렉터의 목적
8.3 OpenTelemetry 컬렉터 컴포넌트의 이해
_수신기
__호스트 메트릭 수신기
_처리기
__속성 처리기
__필터 처리기
__확률 기반 샘플링 처리기
__리소스 처리기
__스팬 처리기
__배치 처리기
__메모리 제한 처리기
_익스포터
_확장
_추가 컴포넌트
8.4 OTLP를 이용한 원격 측정 데이터 전송
_인코딩과 프로토콜
_기타 설계 고려 사항
8.5 OpenTelemetry 컬렉터의 활용
_익스포터 설정
_컬렉터 설정
_스팬 수정
_메트릭 필터링
정리하기
Chapter 9 컬렉터 배포
9.1 환경 설정
9.2 애플리케이션의 원격 측정 데이터 수집
_사이드카 배포
9.3 시스템 수준의 원격 측정 데이터 수집
_에이전트의 배포
_사이드카와 에이전트 연결
_리소스 속성 추가
9.4 게이트웨이로서의 컬렉터
_오토스케일링
_OpenTelemetry 오퍼레이터
정리하기
Chapter 10 백엔드 시스템 설정
10.1 환경 설정
10.2 원격 측정 데이터 분석을 위한 백엔드 시스템 옵션
_추적
_집킨
_예거
_메트릭
__프로메테우스
_로깅
__로키
__그라파나
10.3 운영 환경에서의 실행
_고가용성
_확장성
_데이터 보존
_개인 정보 보호 규정
정리하기
Chapter 11 문제점 분석
11.1 환경 설정
11.2 카오스 엔지니어링
_[실험 1] 지연 시간 증가
__개요
__가설
__검증
_[실험 2] 리소스 압박
__개요
__가설
__검증
_[실험 3] 예기치 못한 중단
__개요
__가설
__검증
11.3 원격 측정을 이용한 사전 감지
정리하기
Chapter 12 샘플링
12.1 환경 설정
12.2 시그널 샘플링
_추적
_메트릭
_로그
_샘플링 전략
__헤드 샘플링
__테일 샘플링
__확률 샘플링
_여러 가지 샘플러
12.3 SDK를 이용한 애플리케이션 수준의 샘플링
12.4 OpenTelemetry 컬렉터를 이용한 데이터 샘플링
_테일 샘플링 처리기
정리하기