본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

Release의 모든 것 2판 상세페이지

컴퓨터/IT 개발/프로그래밍

Release의 모든 것 2판

대규모 웹 분산 시스템을 위한 운영 고려 설계
소장종이책 정가36,000
전자책 정가20%28,800
판매가28,800
Release의 모든 것 2판 표지 이미지

Release의 모든 것 2판작품 소개

<Release의 모든 것 2판> *이 도서는 『Release It 릴리스 잇』(위키북스, 2007)의 2판입니다
아마존 소프트웨어 공학 분야 베스트셀러! 아키텍트, 설계자, 개발자를 위한 소프트웨어 엔지니어링 필독서
"이 책은 소프트웨어 출시 전, 필수 체크리스트 같은 책이다"
"이걸 왜 해야 할까? 귀찮게 여겼던 일들에 답을 주는 책이다"

35년 경력 전문가의 경험이 담긴 소프트웨어 엔지니어링 베스트셀러로, 소프트웨어를 문제 없이 빠르
게 출시할 수 있는 설계 방법에 초점을 맞춘 책입니다. 특히 사례 연구를 기반으로 최신 데브옵스 관행,
마이크로서비스, 클라우드 아키텍처를 포함한 대규모 웹 분산 시스템의 설계/구축/운영 방법을 자세히
설명합니다. 또한 매출, 시간, 평판의 손실을 최소화하는 실용적이고 현실적인 노하우까지 제공합니다.

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

<< 주요 내용 >>
운영 환경에서의 안정성 패턴과 안티 패턴
운영 고려 설계와 배치 고려 설계
시스템 아키텍처(진화적 아키텍처)와 정보 아키텍처


출판사 서평

자신 있는 출시를 위한 소프트웨어 설계 방법과 운영 노하우
이 책은 ‘운영 고려 설계’에 초점을 맞춰 문제 없이 잘 작동하는 프로그램을 만드는 방법을 설명합니다. 운영 상황에서 마주할 수 있는 문제들을 고려한 설계 방법을 자세히 알려줄 뿐만 아니라 경험해보지 않으면 알 수 없는 현장의 노하우와 전략도 제공합니다.
또한 여러분이 정성스럽게 만든 프로그램이 얼마나 위태로운 환경에서 운영되는지 깨달을 수 있도록 여러 가지 현실적인 예를 들어 알기 쉽게 설명합니다.
추가로 최신 클라우드 환경과 시스템 아키텍처, 카오스 공학까지 다루고 있어 실무자와 관리자 모두의 현장 능력을 한 단계 끌어올려줄 것입니다.
현장에서 자주, 그리고 오래도록 참고할 수 있는 엔지니어링 필독서를 찾고 있다면 반드시 읽어보세요!


추천사
손 닿는 곳에 두고 자주 꺼내 읽다 보면 서비스 운영에 관한 깊은 이해와 해결책을 체득하고 누
구나 겪을 수 있는 다양한 문제에 대비하는 데 도움이 될 것입니다. 이 책을 통해 서비스 운영 노하우를 한 단계 끌어올리고 나아가 누구나 믿고 맡길 수 있는 엔지니어로 거듭나기를 바랍니다.
김영재, LINE 기술임원

대규모 서비스를 운영할 때 이 책이 정말 많은 도움이 되었습니다. 또한 2판에서는 클라우드와 카오스 공학 같은 기술의 변화를 반영하면서 꽤 많은 부분이 바뀌어서 더욱 흥미로웠습니다. 분명 여러분에게도 최고의 책이 될 것입니다.
강대명, 레몬트리 CTO

이 책은 소프트웨어 출시 전 점검 목록 같은 책입니다. 소프트웨어를 출시하고, 그와 관련된 다양한 운영 이슈를 예로 들어 증상을 설명하고, 원인을 분석하고, 해결하는 과정을 이야기합니다.
김지헌, 컬리 소프트웨어 엔지니어

정상급 서버 개발자의 운영에 관한 고뇌와 통찰을 알차게 담은 책으로, 실무자뿐만 아니라 관리자도 반드시 읽어야 할 필독서입니다. 이 책의 소중한 조언을 성실하게 숙지하여 선제적 위기 대처 능력을 갖추는 것이 IT 관리자의 바람직한 성공 전략이 될 것입니다.
김효민, 이디야 CIO

시니어 개발자로 도약하기 위해 반드시 알아야 할 내용들을 담은 비법서로, 개발 이후 실제 운영 환경에서의 다양한 상황을 다룹니다. 특히 경험하지 않으면 알기 어려운 현장의 노하우들을 실제 이론과 잘 접목하여 생동감 있게 알려줍니다.
김삼영, 체커 쿼리파이 개발자

이 책은 개발의 목표가 ‘기능 구현 완료’가 아닌 ‘기능의 정상 작동’이라는 것을 알게 해줍니다. 또한 개발 시 반드시 고려해야 할 부분을 잘 짚어주어 개발 완료 후 생기는 문제를 최소화할 수 있게 해줍니다.
김동우, 스타트업 백엔드 개발자

이 책은 여러분의 제품에서 향후에 발생할지도 모를 여러 운영상의 문제를 미리 방지하고, 장애를 피해 편안하고 긴 잠을 잘 수 있도록 도움을 줄 것입니다.
안단희, 레피아 솔루션 개발 팀

단순히 애플리케이션을 구축하고 테스트한 후 일을 끝내는 것이 아니라 각 요소별로 더 준비해야 할 것이 없는지 이 책을 통해 확인해볼 수 있습니다. 초심자라면 책에 나오는 용어들만 익혀도 실무 현장에서 큰 도움이 될 것입니다.
이장훈, 데브옵스 엔지니어

대규모 인프라 구성과 소프트웨어 구조에 관해 많은 통찰을 얻게 해준 책입니다. 특히 ‘사례 연구’는 어떤 방향으로 서비스를 개선해야 할지 감을 잡게 해주었습니다.
김준성, 쿠프마케팅 서비스개발 팀 웹 개발자


저자 프로필

마이클 나이가드 Michael Nygard

  • 경력 프로그래머, 건축가

2023.12.04. 업데이트 작가 프로필 수정 요청

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


저자 소개

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

옮긴이 박성철
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 재해 시뮬레이션
_마치며


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전