Release의 모든 것 마이클 나이가드 pdf 다운로드를 무료로 제공합니다 35년 경력 전문가의 경험이 담긴 소프트웨어 엔지니어링 베스트셀러로, 소프트웨어를 문제 없이 빠르게 출시할 수 있는 설계 방법에 초점을 맞춘 책입니다
관련 교재 pdf 모음
책 소개
사례 연구를 기반으로 최신 데브옵스 관행, 마이크로서비스, 클라우드 아키텍처를 포함한 대규모 웹 분산 시스템의 설계/구축/운영 방법을 자세히 설명합니다. 또한 매출, 시간, 평판의 손실을 최소화하는 실용적이고 현실적인 노하우까지 제공합니다. 이 책은 ‘운영 고려 설계’에 초점을 맞춰 문제 없이 잘 작동하는 프로그램을 만드는 방법을 설명합니다. 운영 상황에서 마주할 수 있는 문제들을 고려한 설계 방법을 자세히 알려줄 뿐만 아니라 경험해보지 않으면 알 수 없는 현장의 노하우와 전략도 제공합니다. 또한 여러분이 정성스럽게 만든 프로그램이 얼마나 위태로운 환경에서 운영되는지 깨달을 수 있도록 여러 가지 현실적인 예를 들어 알기 쉽게 설명합니다. 추가로 최신 클라우드 환경과 시스템 아키텍처, 카오스 공학까지 다루고 있어 실무자와 관리자 모두의 현장 능력을 한 단계 끌어올려줄 것입니다. 현장에서 자주, 그리고 오래도록 참고할 수 있는 엔지니어링 필독서를 찾고 있다면 반드시 읽어보세요!
Release의 모든 것 pdf 다운로드
[1부 안정성 구축]
1장 운영 환경의 현실
_1.1 올바른 목표 설정
_1.2 도전의 범위
_1.3 여기도 백만 달러, 저기도 백만 달러
_1.4 ‘포스’를 사용하라
_1.5 실용주의 아키텍처
_마치며
2장 사례 연구: 항공사를 멈추게 한 예외
_2.1 변경 시간대
_2.2 작동 중단
_2.3 장애의 영향
_2.4 사후 분석
_2.5 단서 수색
_2.6 결정적 단서
_2.7 외양간 고치기?
3장 시스템 안정화
_3.1 안정성 정의
_3.2 수명 연장
_3.3 장애 모드
_3.4 균열 확산 차단
_3.5 장애 사슬
_마치며
4장 안정성 안티 패턴
_4.1 통합 지점
__4.1.1 소켓 기반 프로토콜
__4.1.2 오전 5시 문제
__4.1.3 HTTP 프로토콜
__4.1.4 업체 제공 API 라이브러리
__4.1.5 통합 지점 문제 대응책
__요점 정리
_4.2 연쇄 반응
__요점 정리
_4.3 연계 장애
__요점 정리
_4.4 사용자
__4.4.1 트래픽
___힙 메모리
___힙 외부 메모리, 호스트 외부 메모리
___소켓
___닫힌 소켓
__4.4.2 지나친 서비스 비용
__4.4.3 불쾌한 사용자
__4.4.4 해로운 사용자
__요점 정리
_4.5 블록된 스레드
__4.5.1 블록 지점 파악
__4.5.2 라이브러리
__요점 정리
_4.6 자기 부정 공격
__4.6.1 자기 부정 회피
__요점 정리
_4.7 척도 효과
__4.7.1 지점 간 통신
__4.7.2 공유 자원
__요점 정리
_4.8 처리 능력 불균형
__4.8.1 처리 능력 테스트
__요점 정리
_4.9 도그파일
__요점 정리
_4.10 지렛대 원리
__4.10.1 전면 장애 증폭
__4.10.2 제어와 안전 장치
__요점 정리
_4.11 응답 지연
__요점 정리
_4.12 제한 없는 결과
__4.12.1 검은 월요일
__요점 정리
_마치며
5장 안정성 패턴
_5.1 시간 제한
__요점 정리
_5.2 회로 차단기
__요점 정리
_5.3 격벽
__요점 정리
_5.4 정상 상태
__5.4.1 데이터 정리
__5.4.2 로그 파일
__5.4.3 메모리 전용 캐시
__요점 정리
_5.5 빠른 실패
__요점 정리
_5.6 파손 방치
__5.6.1 크기 제한
__5.6.2 교체 속도
__5.6.3 감독
__5.6.4 재통합
__요점 정리
_5.7 핸드셰이킹
__요점 정리
_5.8 테스트 하네스
__요점 정리
_5.9 결합 분리 미들웨어
__요점 정리
_5.10 부하 제한
__요점 정리
_5.11 배압 생성
__요점 정리
_5.12 조속기
__요점 정리
_마치며
[2부 운영 고려 설계]
6장 사례 연구: 램프 속 우주의 힘
_6.1 첫 번째 크리스마스
_6.2 맥박 확인
_6.3 추수감사절
_6.4 블랙 프라이데이
_6.5 생명 징후
_6.6 진단 테스트
_6.7 전문가 호출
_6.8 처치 방안 비교
_6.9 처치 결과
_6.10 휴식 시간
7장 기반
_7.1 데이터 센터와 클라우드의 네트워크
__7.1.1 네트워크 인터페이스와 이름
__7.1.2 다중 네트워크 프로그래밍
_7.2 물리 호스트, 가상 머신, 컨테이너
__7.2.1 물리 호스트
__7.2.2 데이터 센터의 가상 머신
__7.2.3 데이터 센터의 컨테이너
__7.2.4 클라우드 내 가상 머신
__7.2.5 클라우드 내 컨테이너
_마치며
8장 프로세스
_8.1 코드
__8.1.1 코드 빌드
__8.1.2 불변 폐기 가능 인프라
_8.2 구성
__8.2.1 구성 파일
__8.2.2 폐기 가능 인프라의 구성
_8.3 투명성
__8.3.1 투명성을 위한 설계
__8.3.2 투명성 기술
__8.3.3 로그 기록
___로그 위치
___로그 수준
___인간적 요인
___주술적 운영
___로그에 관한 최종 메모
__8.3.4 인스턴스 측정값
__8.3.5 상태 점검
_마치며
9장 상호 연결
_9.1 규모에 맞는 해법
_9.2 DNS
__9.2.1 DNS를 사용한 서비스 발견
__9.2.2 DNS를 사용한 부하 분산
__9.2.3 DNS를 사용한 글로벌 서버 부하 분산
__9.2.4 DNS의 가용성
__요점 정리
_9.3 부하 분산
__9.3.1 소프트웨어 부하 분산
__9.3.2 하드웨어 부하 분산
__9.3.3 상태 점검
__9.3.4 고정 연결
__9.3.5 요청 유형별 분할
__요점 정리
_9.4 수요 제어
__9.4.1 시스템에 장애가 나는 이유
__9.4.2 장애 예방
__요점 정리
_9.5 네트워크 경로
_9.6 서비스 발견
_9.7 표류성 가상 IP 주소
_마치며
10장 제어 평면
_10.1 적합도 평가
_10.2 기계적 확대율
__10.2.1 사람의 실수가 아닌 시스템 장애
__10.2.2 자동화 진행 속도
_10.3 플랫폼과 생태계
_10.4 운영 수준 개발 환경
_10.5 시스템 전반의 투명성
__10.5.1 실사용자 모니터링
__10.5.2 경제적 가치
__10.5.3 파편화의 위험
__10.5.4 로그와 통계
__10.5.5 수집 대상 측정값 선정
_10.6 구성 서비스
_10.7 프로비저닝과 배치 서비스
_10.8 명령과 제어
__10.8.1 제어 항목
__10.8.2 명령 전달 방법
__10.8.3 스크립트 기능 인터페이스
__요점 정리
_10.9 플랫폼 제품
_10.10 점검 목록
_마치며
11장 보안
_11.1 OWASP 상위 10개
__11.1.1 삽입
__11.1.2 취약한 인증과 세션 관리
__11.1.3 사이트 간 스크립팅
__11.1.4 취약한 접근 제어
___조사 가치 경감
___허가된 접근
__11.1.5 보안 구성 오류
__11.1.6 민감 데이터 노출
__11.1.7 부실한 공격 방어
__11.1.8 사이트 간 요청 위조
__11.1.9 취약점이 밝혀진 구성 요소 사용
__11.1.10 보호되는 않는 API
_11.2 최소 권한의 원칙
__11.2.1 컨테이너와 최소 권한
_11.3 비밀번호 관리
_11.4 상시 업무 절차로서의 보안
_마치며
[3부 시스템 전달]
12장 사례 연구: 고도를 기다리며
13장 배치 고려 설계
_13.1 반려 동물과 가축
_13.2 시스템 점검 시간이라는 오류
_13.3 자동 배치
_13.4 지속적 배치
_13.5 배치의 여러 단계
__13.5.1 관계형 데이터베이스 스키마
__13.5.2 스키마 없는 데이터베이스
__13.5.3 웹 자산 파일
__13.5.4 적용
__13.5.5 정리
_13.6 전문가의 배치
_마치며
14장 버전 관리
_14.1 다른 서비스를 고려한 버전 관리
__14.1.1 호환되는 API 변경
__14.1.2 호환성을 깨는 API 변경
_14.2 다른 서비스의 버전 관리
_마치며
[4부 체계적 문제 해결]
15장 사례 연구: 고객에게 짓밟히다
_15.1 최종 점검과 출시
_15.2 QA 지향
_15.3 부하 테스트
_15.4 대중에 의한 살인
_15.5 테스트 간극
_15.6 후유증
16장 적응
_16.1 볼록 곡선 수익률
_16.2 절차와 조직
__16.2.1 플랫폼 팀
__16.2.2 고통 없는 출시
__16.2.3 서비스 멸종
__16.2.4 팀 규모 자율성
__16.2.5 효율성 주의
_16.3 시스템 아키텍처
__16.3.1 진화적 아키텍처
__16.3.2 느슨한 클러스터
__16.3.3 명시적 맥락
__16.3.4 선택 가능성
___분할
___대체
___강화와 배제
___역전
___이식
__요점 정리
_16.4 정보 아키텍처
__16.4.1 메시지, 이벤트, 명령
__16.4.2 자체 ID 제어 서비스
__16.4.3 URL 이원론
__16.4.4 복수성 수용
__16.4.5 개념 누수 방지
__요점 정리
_마치며
17장 카오스 공학
_17.1 개선을 위한 파괴
_17.2 카오스 공학의 선구자
_17.3 유인원 부대
__17.3.1 선택적 참여? 선택적 탈퇴?
_17.4 나만의 원숭이 입양
__17.4.1 사전 조건
__17.4.2 실험 설계
__17.4.3 혼돈 주입
__17.4.4 카오스 대상 선정
__17.4.5 자동화와 반복
_17.5 재해 시뮬레이션
_마치며