데브옵스(DevOps)란 소프트웨어의 개발(Development)과 운영(Operations)의 합성어로 소프트웨어 개발자와 정보 기술 전문가 사이의 소통과 협업, 그리고 통합을 통해 지속적이고 안정적으로 소프트웨어를 개발하고 운용하는 환경과 문화를 나타낸다. 2016년 1판 출간 이후 최신 연구 결과와 프랙티스, 사례 연구들을 기반으로 내용을 다듬고 보강해 2판을 출간했다. 2020년 COVID-19 팬데믹 이후 모든 것이 변해버린 오늘날, 이 책을 통해 데브옵스의 개념뿐만 아니라 데브옵스가 갖는 현대적인 의의는 물론 실제 개발에서 활용 가능한 다양한 개념과 원칙에 대한 통찰력을 얻을 수 있을 것이다.
Contents
1부. 세 가지 방법/
1부 / 소개
1장. 애자일, 지속적인 전달, 그리고 세 가지 방법
__제조(생산) 가치 흐름
__기술 가치 흐름
__데브옵스를 뒷받침하는 세 가지 원칙
____사례 연구: 2판 추가 크루징 고도에 접근하기:
____아메리칸 에어라인즈의 데브옵스 여행(Part 1)(2020)
__결론
2장. 첫 번째 방법: 흐름 원칙
__업무 시각화하기
__진행 중 작업(WIP) 제한하기
__배치 작업의 크기 줄이기
__핸드오프 횟수 줄이기
__제약 조건을 지속적으로 확인하고 향상시키기
__가치 흐름에서 어려움과 낭비 제거하기
____사례 연구: 2판 추가 헬스케어에서의 흐름과 제약 사항 관리(2001)
__결론
3장. 두 번째 방법: 피드백 원칙
__복잡한 시스템에서 안전하게 작업하기
__문제를 발생 시점에 확인하기
__스워밍과 문제 해결을 통한 새로운 지식 축적
__사례 연구: 2판 추가 엑셀라, 안돈 코드 당기기(2018)
__품질 활동을 원천에 더 가깝게 유지하기
__다운스트림 워크 센터 최적화하기
__결론
4장. 세 번째 방법: 지속적인 학습과 실험 원칙
__조직적 학습과 안전 문화 활성화하기
__일상 업무 개선을 제도화하라
__국소적인 발견을 조직 전체의 개선으로 전환하라
__일상 업무에 탄력성 패턴을 추가하라
__리더가 학습 문화를 강화한다
____사례 연구: 2판 추가 벨 연구소 이야기(1925)
__결론
1부 / 결론
2부. 어디서 시작하는가?
2부 / 소개
5장. 시작할 가치 흐름을 선택하기
__노드스트롬의 데브옵스 트랜스포메이션
__그린필드 서비스 VS. 브라운필드 서비스
____사례 연구: 2판 추가 케슬 런: 공중 급유 시스템의
______브라운필드 전환(2020)
__기록 시스템과 참여 시스템을 모두 고려하라
__가장 공감적이고 혁신적인 그룹에서 시작하라
__데브옵스를 전체 조직으로 확장하기
____사례 연구: 2판 추가 데브옵스를 비즈니스 전체로 확장하기:
__아메리칸 에러라인즈의 데브옵스 여행(Part 2)(2020)
____사례 연구: 2판 추가 HMRC, (대규모 PaaS를 이용한)
______폐허에서 경제 살리기(2020)
__결론
6장. 가치 흐름 내 작업의 이해 및 시각화와 조직 전체로의 확장
__노드스트롬의 가치 흐름 매핑 경험
__가치 흐름을 지원하는 팀 식별하기
__가치 흐름 맵을 만들어 작업을 이해하라
__전담 트랜스포메이션 팀 구축하기
____사례 연구 링크드인, 오퍼레이션 인버전(2011)
__행동 변화를 촉진하기 위한 도구 사용
__결론
7장. 콘웨이의 법칙을 고려한 조직 및 아키텍처 설계 방법
__엣시에서의 콘웨이의 법칙
__조직의 아키타입
__과도한 기능 지향(비용 최적화)에 따른 문제
__시장 지향 팀 활성화하기(속도 최적화)
__기능 지향 작업 만들기
__테스팅, 운영, 보안은 모든 사람의 일상 업무다
__모든 팀원이 제너럴리스트가 되게 하라
__프로젝트가 아닌 서비스와 제품에 투자하라
__콘웨이의 법칙에 따라 팀의 경계를 설계하라
__개발자 생산성과 안전성을 위해
____느슨하게 결합된 아키텍처를 구축하라
__팀 규모를 작게 유지하라(피자 두 판의 법칙)
____사례 연구 Target, API 활성화(2015)
__결론
8장. 일상 업무와 운영을 통합해 최상의 결과를 얻는 방법
__빅 피시 게임즈
__개발자의 생산성 향상을 위한 공유 서비스를 생성하라
__운영 엔지니어를 서비스 팀에 포함하라
__서비스 팀마다 운영 연락 담당자를 지정하라
__개발 팀의 정기적 업무 활동에 운영을 통합하라
____사례 연구: 2판 추가 네이션와이드 빌딩 소사이어티,
______일을 더 잘하는 방법(2020)
__결론
2부 / 결론
3부. 첫 번째 방법: 흐름 개선을 위한 기술적 프랙티스
3부 / 소개
9장. 배포 파이프라인의 기반 생성
__엔터프라이즈 데이터 웨어하우스 이야기(2009)
__개발, 테스트, 프로덕션 환경을 온디맨드 방식으로
____생성할 수 있게 하라
__전체 시스템을 위한 단일 저장소를 생성하라
__복구보다 재구축하기 쉬운 인프라스트럭처를 만들어라
____사례 연구: 2판 추가 컨테이너로 300억 달러의
______이익을 거둔 호텔 기업(2020)
__유사 프로덕션 환경에서의 실행도 포함하게 개발 항목의
____‘완료’ 정의를 수정하라
__결론
10장. 빠르고 신뢰할 수 있는 자동화 테스팅을 활성화하라
__구글의 웹 서버 이야기(2005)
__코드를 지속적으로 빌드 및 테스트하고 환경과 통합하라
__빠르고 신뢰도가 높으며 자동화된 검증 테스트 스위트를 만들어라
__가능한 한 초기에 자동화 테스트의 오류를 찾아내라
__배포 파이프라인이 망가지면 안돈 코드를 당겨라
__결론
11장. 지속적인 통합을 활성화하고 연습하라
__HP 레이저젯 펌웨어(2014)
__소규모 배치 개발과 트렁크에 코드를
__드물게 커밋할 때 발생하는 일
__트렁크 기반 개발 프랙티스를 적용하라
____사례 연구 바자보이스, 지속적인 통합(2012)
__결론
12장. 리스크가 낮은 출시를 자동화하고 활성화하라
__배포 프로세스를 자동화하라
____사례 연구 CSG 인터내셔널, 일일 배포(2013)
____사례 연구 엣시, 자체 서비스 개발자 배포 및 지속적 배포 사례(2014)
__출시와 배포를 분리하라
____사례 연구 딕슨스 리테일, 매장 관리 시스템의 블루 그린 배포(2008)
____사례 연구 페이스북 챗, 다크 론치(2008)
__지속적인 전달과 지속적인 배포에 대한 조사
____사례 연구: 2판 추가 CSG, 개발과 운영의 윈윈 관계 만들기(2016)
__결론
13장. 위험도가 낮은 출시를 위한 아키텍처
__생산성, 테스트 용이성 및 안전성을 향상하는 아키텍처
__아키텍처의 아키타입 - 모놀리스 vs. 마이크로서비스
____사례 연구 아마존, 진화적 아키텍처(2002)
__엔터프라이즈 아키텍처의 안전한 진화를 위한
____교살자 애플리케이션 패턴을 사용하라
____사례 연구 블랙보드, Learn 프로젝트에서의 교살자 패턴(2011)
__결론
3부 / 결론
4부. 두 번째 방법: 피드백을 위한 기술적 프랙티스
4부 / 소개
14장. 문제 확인과 해결을 가능케 하는 텔레메트리를 생성하라
__엣시의 데브옵스 트랜스포메이션
__중앙 집중식 텔레메트리 인프라스트럭처를 구축하라
__프로덕션에 유용한 애플리케이션 로깅 텔레메트리를 생성하라
__텔레메트리를 사용해서 문제 해결을 안내하라
__일상 업무에서 프로덕션 지표 생성을 활성화하라
__텔레메트리와 정보 방열기에 접근하기 위한 자체 서비스를 생성하라
____사례 연구 링크드인, 자체 서비스 지표 생성(2011)
__텔레메트리의 부족한 점을 파악하고 보완하라
__결론
15장. 텔레메트리를 분석해 문제를 더 잘 예측하고 목표를 달성하라
__넷플릭스에서의 텔레메트리(2012)
__잠재적 문제를 감지하기 위해 평균과 표준 편차를 사용하라
__바람직하지 않은 결과를 측정하고 경고하라
__텔레메트리 데이터가 가우스 분포를 따르지 않을 때 발생하는 문제
____사례 연구 넷플릭스, 자동 용량 확장(2012)
__이상 탐지 기법 사용하기
____사례 연구 향상된 이상 탐지 기법(2014)
__결론
16장. 피드백을 활성화해 개발과 운영이 코드를 안전하게 배포하게 하라
__텔레메트리를 사용해 배포를 보다 안전하게 만들어라
__개발은 운영과 페이저 순환 의무를 공유한다
__개발자가 다운스트림 작업을 따르게 하라
__초기에는 개발자 스스로 제품 서비스를 관리하게 하라
____사례 연구 구글, 실행 및 핸드오프 준비 리뷰(2010)
__결론
17장. 일상 업무에 가설 주도 개발과 A/B 테스팅을 통합하라
__인튜이트의 가설 주도 개발(2012)
__A/B 테스팅의 간략한 역사
__기능 테스팅에 A/B 테스팅 통합하기
__A/B 테스팅을 출시와 통합하기
__A/B 테스팅을 기능 계획에 통합하기
____사례 연구 Yahoo! Answers,
______빠른 출시 주기 실험을 통한 매출의 2배 증가(2010)
__결론
18장. 리뷰 및 조정 프로세스를 만들어 현재 작업의 품질을 높여라
__깃허브의 동료 리뷰(2011)
__변경 승인 프로세스의 위험성
__‘과도한 변경 통제’로 인한 잠재적 위험
____사례 연구: 2판 추가 아디다스,
______여섯 개의 눈의 원칙에서 출시까지(2020)
__변경에 대한 조정과 계획을 활성화하라
__변경 사항에 대한 동료 리뷰를 활성화하라
____사례 연구 구글, 코드 리뷰(2010)
__더 많은 수동 테스트 수행 및 변경 금지에 따른 잠재적 위험
__페어프로그래밍을 활성화해서 모든 변경을 개선하라
____사례 연구 피보탈 랩스, 페어 프로그래밍을 이용한
______망가진 코드 리뷰 프로세스 교체(2011)
__풀 리퀘스트 프로세스의 효과 평가하기
__관료적 절차를 과감하게 제거하라
__결론
4부 / 결론
5부. 세 번째 방법: 지속적인 학습과 실험을 위한 기술적 프랙티스
5부 / 소개
19장. 일상 업무의 일부로서 학습을 활성화하고 주입하라
__AWS 미 동부 리전과 넷플릿스(2011)
__공정한 학습 문화를 조성하라
__사고가 발생한 뒤에는 회고 미팅을 계획하라
__회고 리뷰는 가능한 한 널리 공개하라
__사고에 대한 내성을 줄여 가장 약한 실패 신호를 발견하라
__실패를 재정의하고 계산된 리스크 감수를 장려하라
__프로덕션 실패를 주입해 탄력성과 학습을 활성화하라
__게임 데이를 도입해 실패를 연습하라
____사례 연구: 2판 추가 CSG, 장애를 강력한 학습 기회로
______전환하기(2021)
__결론
20장. 국지적 발견을 조직 전체의 개선으로 전환하라
__챗 룸과 챗봇을 사용해 조직적 지식을 자동화하고 저장하라
__깃허브의 휴봇
__소프트웨어의 표준화 프로세스를 재사용할 수 있게 자동화하라
__전체 조직을 위해 단일 공유 소스 코드 저장소를 생성하라
__자동화 테스트를 문서화와 실천 커뮤니티로 활용해 지식을 확산하라
__비기능 요구 사항을 체계화해 운영을 설계하라
__코드화된 비기능 요구 사항을 활용해 운영을 위한 설계를 하라
__재사용 가능한 운영 사용자 스토리를 개발 항목으로 만들어라
__기술적 선택 사항이 조직의 목표 달성에 도움이 되는지 확인하라
____사례 연구 엣시, 신규 기술 스택 표준화(2010)
____사례 연구: 2판 추가 타깃, 크라우드 소싱을 통한
______기술 거버넌스 (2018)
__결론
21장. 조직의 학습과 개선을 만들기 위한 시간을 확보하라
__타깃, 30일 도전(2015)
__리추얼을 제도화함으로써 기술 부채를 상환하라
__모든 사람이 가르치고 배울 수 있게 하라
__데브옵스 콘퍼런스에서 경험을 공유하라
____사례 연구 네이션와이드 인슈어런스, 캐피털원,
______타깃의 내부 기술 콘퍼런스(2014)
__커뮤니티 구조를 만들어 프랙티스를 확산하라
__결론
5부 / 결론
6부. 정보 보안, 변화 관리, 컴플라이언스 통합을 위한 기술적 프랙티스
6부 / 소개
22장. 정보 보안은 모든 사람의 일상 업무이다
__보안을 개발 이터레이션 데모에 통합하라
__보안을 결함 추적과 포스트모템에 통합하라
__예방 차원의 보안 통제를 공유 소스 코드 저장소와
__공유 서비스에 통합하라
__보안을 배포 파이프라인에 통합하라
__애플리케이션의 보안을 보장하라
____사례 연구 트위터, 정적 보안 테스트(2009)
__소프트웨어 공급망의 보안을 확인하라
__환경에 대한 보안을 확보하라
____사례 연구 18F, 컴플라이언스 용병을 통한
______연방 정부 컴플라이언스 자동화
__정보 보안을 프로덕션 텔레메트리와 통합하라
____사례 연구 엣시, 환경 계측(2010)
__배포 파이프라인을 보호하라
____사례 연구: 2판 추가 파이 마에, 보안의 시프팅 레프트(2020)
__결론
23장. 배포 파이프라인 보호하기
__보안과 컴플라이언스를 변경 승인 프로세스에 통합하라
__위험도가 낮은 변경 사항을 표준 변경 사항으로 재분류하라
__변경 사항이 일반 변경 사항으로 분류될 때 수행해야 할 작업
____사례 연구 세일즈포스닷컴, 표준 변경 사항으로
______자동화된 인프라스트럭처의 변경 처리(2012)
__코드 리뷰를 통해 직무를 분리하라
____사례 연구 엣시, PCI 준수와 직무 분리의 교훈적 일화(2014)
____사례 연구: 2판 추가 캐피털 원, ‘전혀 두려움 없는’
______하루당 10회 출시를 향산 비즈니스와 개발 사이의 파트너십
__감사관과 컴플라이언스 책임자를 위한 문서와 증거를 확보하라
____사례 연구 규제 환경에서 컴플라이언스 증명하기(2015)
____사례 연구 ATM 시스템을 위한 프로덕션 텔레메트리에
______의존하기(2013)
__결론
6부 / 결론
이제 행동할 때다: 데브옵스 핸드북의 결론
2판을 마치며
부록
Author
진 킴,제즈 험블,패트릭 드부아,존 윌리스,니콜 포스그렌,김모세
베스트셀러 작가이자 연구자로 다수의 수상 경력이 있는 CTO이며 IT 레볼루션의 창업자다. 대표 저서로는 『피닉스 프로젝트』(에이콘, 2021), 『유니콘 프로젝트』(에이콘, 2023), 『디지털 트랜스포메이션 엔진』(에이콘, 2020) 등이 있다. 2014년부터 데브옵스 엔터프라이즈 서밋의 창시자이자 오거나이저로서 크고 복잡한 기업의 기술 전환에 관해 연구하고 있다.
베스트셀러 작가이자 연구자로 다수의 수상 경력이 있는 CTO이며 IT 레볼루션의 창업자다. 대표 저서로는 『피닉스 프로젝트』(에이콘, 2021), 『유니콘 프로젝트』(에이콘, 2023), 『디지털 트랜스포메이션 엔진』(에이콘, 2020) 등이 있다. 2014년부터 데브옵스 엔터프라이즈 서밋의 창시자이자 오거나이저로서 크고 복잡한 기업의 기술 전환에 관해 연구하고 있다.