이미 소장하고 있다면 판매해 보세요.
|
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 재해 시뮬레이션 _마치며 |
Michael Nygard
박성철의 다른 상품
|
자신 있는 출시를 위한 소프트웨어 설계 방법과 운영 노하우
이 책은 ‘운영 고려 설계’에 초점을 맞춰 문제 없이 잘 작동하는 프로그램을 만드는 방법을 설명합니다. 운영 상황에서 마주할 수 있는 문제들을 고려한 설계 방법을 자세히 알려줄 뿐만 아니라 경험해보지 않으면 알 수 없는 현장의 노하우와 전략도 제공합니다. 또한 여러분이 정성스럽게 만든 프로그램이 얼마나 위태로운 환경에서 운영되는지 깨달을 수 있도록 여러 가지 현실적인 예를 들어 알기 쉽게 설명합니다. 추가로 최신 클라우드 환경과 시스템 아키텍처, 카오스 공학까지 다루고 있어 실무자와 관리자 모두의 현장 능력을 한 단계 끌어올려줄 것입니다. 현장에서 자주, 그리고 오래도록 참고할 수 있는 엔지니어링 필독서를 찾고 있다면 반드시 읽어보세요! 주요 내용 - 운영 환경에서의 안정성 패턴과 안티 패턴 - 운영 고려 설계와 배치 고려 설계 - 시스템 아키텍처(진화적 아키텍처)와 정보 아키텍처 |
|
손 닿는 곳에 두고 자주 꺼내 읽다 보면 서비스 운영에 관한 깊은 이해와 해결책을 체득하고 누
구나 겪을 수 있는 다양한 문제에 대비하는 데 도움이 될 것입니다. 이 책을 통해 서비스 운영 노하우를 한 단계 끌어올리고 나아가 누구나 믿고 맡길 수 있는 엔지니어로 거듭나기를 바랍니다. - 김영재 (LINE 기술임원) |
|
대규모 서비스를 운영할 때 이 책이 정말 많은 도움이 되었습니다. 또한 2판에서는 클라우드와 카오스 공학 같은 기술의 변화를 반영하면서 꽤 많은 부분이 바뀌어서 더욱 흥미로웠습니다. 분명 여러분에게도 최고의 책이 될 것입니다. - 강대명 (레몬트리 CTO)
|
|
이 책은 소프트웨어 출시 전 점검 목록 같은 책입니다. 소프트웨어를 출시하고, 그와 관련된 다양한 운영 이슈를 예로 들어 증상을 설명하고, 원인을 분석하고, 해결하는 과정을 이야기합니다. - 김지헌 (컬리 소프트웨어 엔지니어)
|
|
정상급 서버 개발자의 운영에 관한 고뇌와 통찰을 알차게 담은 책으로, 실무자뿐만 아니라 관리자도 반드시 읽어야 할 필독서입니다. 이 책의 소중한 조언을 성실하게 숙지하여 선제적 위기 대처 능력을 갖추는 것이 IT 관리자의 바람직한 성공 전략이 될 것입니다. - 김효민 (이디야 CIO)
|
|
시니어 개발자로 도약하기 위해 반드시 알아야 할 내용들을 담은 비법서로, 개발 이후 실제 운영 환경에서의 다양한 상황을 다룹니다. 특히 경험하지 않으면 알기 어려운 현장의 노하우들을 실제 이론과 잘 접목하여 생동감 있게 알려줍니다. - 김삼영 (체커 쿼리파이 개발자)
|
|
이 책은 개발의 목표가 ‘기능 구현 완료’가 아닌 ‘기능의 정상 작동’이라는 것을 알게 해줍니다. 또한 개발 시 반드시 고려해야 할 부분을 잘 짚어주어 개발 완료 후 생기는 문제를 최소화할 수 있게 해줍니다. - 김동우 (스타트업 백엔드 개발자)
|
|
이 책은 여러분의 제품에서 향후에 발생할지도 모를 여러 운영상의 문제를 미리 방지하고, 장애를 피해 편안하고 긴 잠을 잘 수 있도록 도움을 줄 것입니다. - 안단희 (레피아 솔루션 개발 팀)
|
|
단순히 애플리케이션을 구축하고 테스트한 후 일을 끝내는 것이 아니라 각 요소별로 더 준비해야 할 것이 없는지 이 책을 통해 확인해볼 수 있습니다. 초심자라면 책에 나오는 용어들만 익혀도 실무 현장에서 큰 도움이 될 것입니다. - 이장훈 (데브옵스 엔지니어)
|
|
대규모 인프라 구성과 소프트웨어 구조에 관해 많은 통찰을 얻게 해준 책입니다. 특히 ‘사례 연구’는 어떤 방향으로 서비스를 개선해야 할지 감을 잡게 해주었습니다. - 김준성 (쿠프마케팅 서비스개발 팀 웹 개발자)
|