RELEASE의 모든 것-대규모 웹 분산 시스템을 위한 운영 고려 설계-

고객평점
저자마이클 나이가드
출판사항한빛미디어, 발행일:2023/11/29
형태사항p.468 국판:23
매장위치자연과학부(B2) , 재고문의 : 051-816-9500
ISBN9791169211710 [소득공제]
판매가격 36,000원   32,400원  (인터넷할인가:10%)
포인트 1,620점
배송비결제주문시 결제
  • 주문수량 

총 금액 : 0원

책 소개

*이 도서는 『Release It 릴리스 잇』(위키북스, 2007)의 2판입니다

아마존 소프트웨어 공학 분야 베스트셀러! 아키텍트, 설계자, 개발자를 위한 소프트웨어 엔지니어링 필독서

"이 책은 소프트웨어 출시 전, 필수 체크리스트 같은 책이다"

"이걸 왜 해야 할까? 귀찮게 여겼던 일들에 답을 주는 책이다"


35년 경력 전문가의 경험이 담긴 소프트웨어 엔지니어링 베스트셀러로, 소프트웨어를 문제 없이 빠르

게 출시할 수 있는 설계 방법에 초점을 맞춘 책입니다. 특히 사례 연구를 기반으로 최신 데브옵스 관행,

마이크로서비스, 클라우드 아키텍처를 포함한 대규모 웹 분산 시스템의 설계/구축/운영 방법을 자세히

설명합니다. 또한 매출, 시간, 평판의 손실을 최소화하는 실용적이고 현실적인 노하우까지 제공합니다.


출시 때마다 걱정에 휩싸여 있나요? 바로 이 책이 실패 없는 출시로 가는 길을 안내해줄 것입니다.


<< 주요 내용 >>

- 운영 환경에서의 안정성 패턴과 안티 패턴

- 운영 고려 설계와 배치 고려 설계

- 시스템 아키텍처(진화적 아키텍처)와 정보 아키텍처


자신 있는 출시를 위한 소프트웨어 설계 방법과 운영 노하우

이 책은 ‘운영 고려 설계’에 초점을 맞춰 문제 없이 잘 작동하는 프로그램을 만드는 방법을 설명합니다. 운영 상황에서 마주할 수 있는 문제들을 고려한 설계 방법을 자세히 알려줄 뿐만 아니라 경험해보지 않으면 알 수 없는 현장의 노하우와 전략도 제공합니다.

또한 여러분이 정성스럽게 만든 프로그램이 얼마나 위태로운 환경에서 운영되는지 깨달을 수 있도록 여러 가지 현실적인 예를 들어 알기 쉽게 설명합니다.

추가로 최신 클라우드 환경과 시스템 아키텍처, 카오스 공학까지 다루고 있어 실무자와 관리자 모두의 현장 능력을 한 단계 끌어올려줄 것입니다.

현장에서 자주, 그리고 오래도록 참고할 수 있는 엔지니어링 필독서를 찾고 있다면 반드시 읽어보세요!


예제 소스

https://pragprog.com/titles/mnee2/release-it-second-edition/ 

작가 소개

지은이 : 마이클 나이가드

전문 프로그래머이자 건축가로, 미국 정부와 은행, 금융, 농업, 소매 업계를 위한 시스템을 설계, 구축, 엔지니어링했다. 토탈리티 코퍼레이션의 엔지니어링 디렉터로 일하면서 여러 흥미로운 프로젝트를 수행하고 운영 팀을 이끌었다. 이 경험을 통해 높은 안정성을 갖춘 소프트웨어를 구축하는 것에 관한 독특한 관점을 갖게 됐다. 이 외에도 수많은 기사와 사설을 작성하고, 기술 콘퍼런스에서 인기 있는 연사로 활동 중이다.


옮긴이 : 박성철

40년 전 우연히 빠진 컴퓨터를 중심으로 삶을 엮어내고 있다. 용인의 한적한 산기슭에서 아내 그리고 아들과 함께 행복한 가정을 꾸리고 살고 있다. 컴퓨터를 적절하게 사용해서 현실의 문제를 해결하고 한계를 극복하는 일을 좋아한다. 지금은 컬리에서 멋진 개발자들과 세상을 더 낫게 만드는 즐거운 퀘스트를 수행 중이다. 소프트웨어 개발을 탐구하면서 그에 대한 인식을 바꾸고 개발 현장을 개선하는 데 관심이 많다.


목 차

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

_마치며

역자 소개


01. 반품기한
  • 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
  • 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
02. 반품 배송비
반품 배송비
반품사유 반품 배송비 부담자
단순변심 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다.
상품의 불량 또는 오배송 고객 부담이 아닙니다.
03. 배송상태에 따른 환불안내
환불안내
진행 상태 결제완료 상품준비중 배송지시/배송중/배송완료
어떤 상태 주문 내역 확인 전 상품 발송 준비 중 상품이 택배사로 이미 발송 됨
환불 즉시환불 구매취소 의사전달 → 발송중지 → 환불 반품회수 → 반품상품 확인 → 환불
04. 취소방법
  • 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
  • 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
05. 환불시점
환불시점
결제수단 환불시점 환불방법
신용카드 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) 신용카드 승인취소
계좌이체 실시간 계좌이체 또는 무통장입금
취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준)
계좌입금
휴대폰 결제 당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소
전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준)
당일취소 : 휴대폰 결제 승인취소
익월취소 : 계좌입금
포인트 취소 완료 후, 당일 포인트 적립 환불 포인트 적립
06. 취소반품 불가 사유
  • 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
  • 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
  • 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
  • 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
  • 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
  • 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.

환불불가
상품군 취소/반품 불가사유
의류/잡화/수입명품 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우
계절상품/식품/화장품 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우
가전/설치상품 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.)
자동차용품 상품을 개봉하여 장착한 이후 단순변심의 경우
CD/DVD/GAME/BOOK등 복제가 가능한 상품의 포장 등을 훼손한 경우
내비게이션, OS시리얼이 적힌 PMP 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우
노트북, 테스크탑 PC 등 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우