장바구니 담기 close

장바구니에 상품을 담았습니다.

카오스 공학

카오스 공학

  • 러스마일스
  • |
  • 에이콘출판
  • |
  • 2021-02-26 출간
  • |
  • 228페이지
  • |
  • 188 X 235 X 13 mm
  • |
  • ISBN 9791161754949
판매가

20,000원

즉시할인가

18,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
18,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★

■ 카오스 엔지니어처럼 생각하는 방법
■ 시스템에서 무엇이 잘못될 수 있는지 결정하기 위한 가설 백로그 작성
■ 가설을 발전시켜 게임 데이의 카오스 공학 실험으로 작성
■ 오픈소스 카오스 툴킷을 사용해 자동화된 카오스 실험 작성과 실행 및 학습
■ 카오스 실험을 테스트로 전환해 발견한 취약점을 극복했는지 확인
■ 실행 중인 자동화된 카오스 실험의 관찰과 제어

★ 이 책의 대상 독자 ★

운영환경에서 어떤 식으로든 자신의 코드를 책임지는 사람들을 위한 책이다. 즉, 개발자, 운영자, 데브옵스 담당자를 의미할 수 있다. ‘어떤 식으로든 책임지는’의 의미는 실행 중인 시스템의 가용성, 안정성, 전반적인 견고성을 책임진다는 말이다. 그리고 시스템이 중단됐을 때 만들어지는 협업 그룹의 일부가 될 수 있다는 의미다.
여러분은 담당하는 시스템의 안정성을 개선하려는 사이트 신뢰성 엔지니어일 수 있다. 또한 코드의 소유권을 갖지 못한 채 운영환경에서 데브옵스를 수행하는 팀에서 일할 수도 있다. 여러분의 책임 수준이 어느 정도든 간에 운영환경에서 코드가 실행되는 방식과 조직에서 운영환경을 잘 관리하는 큰 그림에 관심이 있다면 이 책이 그러한 과제를 해결하는 데 도움이 될 것이다.

★ 이 책의 구성 ★

무료 오픈소스 도구, 특히 카오스 툴킷(‘예제 설명’ 절 참고)을 사용해 카오스 공학을 수행하기 위한 실용적인 가이드다. 오픈소스 커뮤니티의 샘플을 통해 실무자에게 필요한 사고방식, 프로세스, 예제, 일부 도구를 소개한다. 실무자가 직접 작성했기 때문에 성공적인 카오스 공학 실험을 계획하고 실행하는 방법을 배울 수 있다(3장과 5장 참고).
카오스 공학은 과학적 방법을 따른다. 1부에서는 카오스 공학 과학자처럼 생각하는 방법(1장 참고), 카오스 실험을 위해 준비된 가설 백로그를 만드는 방법을 배운다(2장 참고). 마지막으로 소중한 가설을 완전한 카오스 공학 실험으로 발전시키는 방법, 게임 데이를 배운다(3장 참고). 2부에서는 카오스 공학 실험을 자동화하는 방법을 다루고, 카오스 공학을 어떻게 반복 학습하는지 구현하는 방법을 탐구한다. 3부에서는 카오스 공학에서의 협력 및 운영상의 문제를 다룬다(9장 참고).
위와 같은 학습 경로를 통해 이 책은 지금 바로 전체 조직에서 카오스 공학을 안전하고 신중하게 도입하고자 필요한 모든 것을 여러분과 동료에게 제공하는 것을 목표로 한다.

★ 옮긴이의 말 ★

언제 어디서 튀어나올지 모르는 시스템 에러 때문에 걱정이 많았을 것이다. 뛰어난 센스로 복잡한 에러를 해결하더라도 더 큰 산이 연이어 버티고 있다. 클라우드 전환의 소용돌이 속에서 점점 작아지고 분리되는 소프트웨어 모듈, 그에 반해 시스템의 취약점은 더욱 깊이 숨어들고 그에 따른 영향력은 커져만 간다. 또한 이러한 문제는 시스템에 국한되지 않는다. 소프트웨어에서 시작해 플랫폼, 인프라, 프로세스, 나아가 사람과 조직에 이르기까지 취약점의 종류와 내용도 매우 다양해지고 있다.
그렇다면 과학과 응용 공학이 결합된 체계적인 접근 방식으로 이 모든 취약점을 완벽하게 해결할 수 없을까? 그리고 가능하다면 취약점을 미리 파악하고, 조치를 신속하게 취하고, 철저하게 검증하는 방식으로 실패의 위험을 사전에 차단할 수 없을까? 이미 눈치챘겠지만 100% 완벽한 사전 준비란 결코 존재하지 않는다. 다만 완벽에 가까이 다가가려는 노력이 있을 뿐이다. 카오스 공학은 그러한 노력 중 단연 최고라 할 수 있다.
꾸준한 연습과 실전 경험이 최고를 만드는 것처럼 카오스 공학은 카오스 실험을 체계적으로 계획하고, 이를 반복적으로 운영환경의 시스템에 적용하는 과정에서 취약점을 찾아 개선함으로써 최고의 시스템과 엔지니어를 만들어낸다. 이 책은 카오스 공학이 왜 필요한지 구체적으로 설명하며, 카오스 실험을 어떻게 계획하고, 자동화를 통해 반복하는 방법과 효과 등을 상세히 기술한다. 이론에 이어 카오스 실험을 정의하고 수행하는 예제와 코드 설명으로 곧바로 실전에 나설 수 있도록 돕는다. 따라서 최고의 카오스 엔지니어가 되기 위한 입문서로 안성맞춤이다.
사실 카오스 공학은 국내 소프트웨어 환경에서 도입이 쉽지 않다. 기능 요건의 우선순위에 밀려 소프트웨어 품질 개선 및 코드/시스템의 유지 보수 활동이 등한시되고 있기 때문이다. 소프트웨어 외주 제작 문화와 소프트웨어 공학 성숙도의 저하는 이런 문제를 더욱 키워왔다. 하지만 소프트웨어 세상의 패러다임이 급격히 변화하고 있다. 클라우드와 빅데이터, 인공지능으로 대표되는 디지털 트랜스포메이션에 의해 기존 방식은 점점 존재 가치를 잃어가고 있다. 누구나 클라우드 전환을 통해 인공지능 기술을 접목하는 지금 이 순간부터 카오스 공학은 적정 기술을 넘어 필수 기술로 자리매김할 수 있을 것이다.


목차


1부. 카오스 공학의 핵심

1장. 카오스 공학의 정수
카오스 공학의 정의
__카오스 공학은 전체 사회공학 시스템을 해결한다
__어두운 부채의 위치
카오스 공학 프로세스
카오스 공학 관행
__샌드박스/스테이징 또는 운영환경?
카오스 공학과 관찰 가능성
‘카오스 엔지니어’가 있는가?
요약

2장. 가설 백로그 작성
실험으로 시작할 것인가?
가설 수집
__사건 분석
__시스템 스케치
__“무엇이 잘못될 수 있을까?” 포착
가능성과 영향 소개
__가능성-영향 지도 작성
__고려 항목 추가
가설 백로그 만들기
요약

3장. 수동 게임 데이 계획과 실행
게임 데이란?
게임 데이 계획
__가설 선택
__게임 데이 스타일 선택
__참여자와 관찰자 결정
__장소 선택
__실행 시점과 지속 시간 결정
__게임 데이 실험 설명
__승인 받기
게임 데이 실행
__안전 모니터 고려
요약

2부. 카오스 공학 자동화

4장. 자동화된 카오스 공학용 도구 확보
파이썬 3 설치
카오스 툴킷 커맨드라인 인터페이스 설치
요약

5장. 첫 번째 자동화된 카오스 실험 작성과 실행
샘플 대상 시스템 구축
__샘플 시스템 둘러보기
취약점의 증거 탐색과 발견
__실험 실행
__chaos run의 표면 아래
__‘개선 기회’를 나타낼 수 있는 정상 상태 편차
시스템 개선
개선 검증
요약

6장. 카오스 공학의 시작부터 종료까지
대상 시스템
__플랫폼: 세 개의 워커 노드로 구성된 쿠버네티스 클러스터
__애플리케이션: 단일 서비스, 세 번 복제
__사람: 애플리케이션 팀과 클러스터 관리자
취약점 사냥
__실험 이름 지정
__정상 상태에 대한 가설 정의
__실험 방법에 혼란스런 상황 주입
__카오스 툴킷 쿠버네티스 드라이버 설치
__실험 방법에서 쿠버네티스 드라이버 사용
롤백과 함께 좋은 시민되기
모든 내용을 통합하고 실험 실행
__취약점 극복: 중단 예산 적용
요약

7장. 카오스 협업
실험 정의 공유
__구성 값 이동
__구성 속성을 환경 변수로 지정
__시크릿의 외부화
__시크릿의 범위 지정
기여 모델 지정
사람이 읽을 수 있는 카오스 실험 보고서 생성과 공유
__단일 실험의 실행 보고서 생성
__다중 실험의 실행 보고서 생성과 공유
요약

8장. 사용자 정의 카오스 드라이버 생성
코드 수정 없이 사용자 정의 드라이버 생성
__HTTP 호출로 조사 항목과 동작 구현
__프로세스 호출을 통한 조사 항목과 동작 구현
파이썬으로 자신만의 사용자 정의 카오스 드라이버 생성
__카오스 툴킷 확장 프로젝트용 신규 파이썬 모듈 생성
__조사 항목 추가
요약

3부. 카오스 공학 운영

9장. 카오스와 운영
실험 ‘제어’
컨트롤 활성화
__실험에서 인라인으로 컨트롤 활성화
__전역으로 컨트롤 활성화
요약

10장. 카오스 공학의 관찰 가능성 구현
카오스 실험에 로깅 추가
__중앙 집중식 카오스 로깅 수행
카오스 실험 추적
__OpenTracing 소개
__OpenTracing 컨트롤 적용
요약

11장. 카오스 실험 자동화에서 사람의 개입
컨트롤을 위한 신규 카오스 툴킷 확장 생성
사람과 상호작용하는 (매우) 간단한 컨트롤 추가
실험 활동 건너뛰기 또는 실행
요약

12장. 지속적인 카오스
지속적인 카오스란 무엇인가?
cron을 사용해 지속적인 카오스 계획
__카오스 테스트 실행을 위한 스크립트 생성
__cron에 카오스 테스트 스크립트 추가
젠킨스로 지속적인 카오스 계획
__젠킨스 복사본 가져오기
__젠킨스 빌드에 카오스 테스트 추가
빌드 트리거를 사용해 젠킨스에서 카오스 테스트 계획
요약

부록A. 카오스 툴킷 참조
부록B. 카오스 툴킷 커뮤니티 플레이그라운드

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.