Release의 모든 것

대규모 웹 분산 시스템을 위한 운영 고려 설계
$40.82
SKU
9791169211710
+ Wish
[Free shipping over $100]

Standard Shipping estimated by Fri 05/31 - Thu 06/6 (주문일로부 10-14 영업일)

Express Shipping estimated by Tue 05/28 - Thu 05/30 (주문일로부 7-9 영업일)

* 안내되는 배송 완료 예상일은 유통사/배송사의 상황에 따라 예고 없이 변동될 수 있습니다.
Publication Date 2023/11/29
Pages/Weight/Size 153*223*30mm
ISBN 9791169211710
Categories IT 모바일 > OS/데이터베이스
Description
아마존 소프트웨어 공학 분야 베스트셀러! 아키텍트, 설계자, 개발자를 위한 소프트웨어 엔지니어링 필독서

"이 책은 소프트웨어 출시 전, 필수 체크리스트 같은 책이다"
"이걸 왜 해야 할까? 귀찮게 여겼던 일들에 답을 주는 책이다"

35년 경력 전문가의 경험이 담긴 소프트웨어 엔지니어링 베스트셀러로, 소프트웨어를 문제 없이 빠르게 출시할 수 있는 설계 방법에 초점을 맞춘 책입니다. 특히 사례 연구를 기반으로 최신 데브옵스 관행, 마이크로서비스, 클라우드 아키텍처를 포함한 대규모 웹 분산 시스템의 설계/구축/운영 방법을 자세히 설명합니다. 또한 매출, 시간, 평판의 손실을 최소화하는 실용적이고 현실적인 노하우까지 제공합니다. 출시 때마다 걱정에 휩싸여 있나요? 바로 이 책이 실패 없는 출시로 가는 길을 안내해줄 것입니다.
Contents
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 재해 시뮬레이션
_마치며
Author
마이클 나이가드,박성철
전문 프로그래머이자 건축가로, 미국 정부와 은행, 금융, 농업, 소매 업계를 위한 시스템을 설계, 구축, 엔지니어링했다. 토탈리티 코퍼레이션의 엔지니어링 디렉터로 일하면서 여러 흥미로운 프로젝트를 수행하고 운영 팀을 이끌었다. 이 경험을 통해 높은 안정성을 갖춘 소프트웨어를 구축하는 것에 관한 독특한 관점을 갖게 됐다. 이 외에도 수많은 기사와 사설을 작성하고, 기술 콘퍼런스에서 인기 있는 연사로 활동 중이다.
전문 프로그래머이자 건축가로, 미국 정부와 은행, 금융, 농업, 소매 업계를 위한 시스템을 설계, 구축, 엔지니어링했다. 토탈리티 코퍼레이션의 엔지니어링 디렉터로 일하면서 여러 흥미로운 프로젝트를 수행하고 운영 팀을 이끌었다. 이 경험을 통해 높은 안정성을 갖춘 소프트웨어를 구축하는 것에 관한 독특한 관점을 갖게 됐다. 이 외에도 수많은 기사와 사설을 작성하고, 기술 콘퍼런스에서 인기 있는 연사로 활동 중이다.