[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 재해 시뮬레이션_마치며