확장메뉴
주요메뉴


닫기
사이즈 비교
소득공제
Continuous Delivery

Continuous Delivery

: 신뢰할 수 있는 소프트웨어 출시

에이콘 애자일 시리즈-07이동
첫번째 리뷰어가 되어주세요 | 판매지수 138
정가
40,000
판매가
36,000 (10% 할인)
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩)
지역변경
  • 배송비 : 무료 ?
eBook이 출간되면 알려드립니다. eBook 출간 알림 신청
분철서비스 시작 시 알려드립니다. 분철서비스 알림신청
  •  해외배송 가능
  •  최저가 보상
  •  문화비소득공제 신청가능

품목정보

품목정보
발행일 2013년 11월 28일
쪽수, 무게, 크기 584쪽 | 1426g | 188*250*35mm
ISBN13 9788960774957
ISBN10 8960774952

책소개 책소개 보이기/감추기

목차 목차 보이기/감추기

저자 소개 관련자료 보이기/감추기

저자 : 제즈 험블
Jez Humble
11살에 첫 번째 ZX Spectrum을 접한 이래로 컴퓨터와 전자공학에 매료되어 직업전선에 뛰어들기 전까지 수년 동안 6502와 ARM 어셈블러, 베이직을 사용하는 에이콘(Acorn) 장비를 개조하는 일을 즐겨왔다. IT 거품 시기인 2000년에 IT 분야에 입문한 이후 지금까지 개발자, 시스템 관리자, 트레이너, 컨설턴트, 관리자, 발표자로 근무했다. 다양한 비영리 단체, 통신 회사, 금융 서비스, 온라인 소매점 컨설팅과 여러 플랫폼 및 기술을 활용해왔다. 2004년부터 소트웍스와 소트웍스 북경, 방갈로르, 런던, 샌프란시스코 지점을 위해 근무했다. 옥스퍼드에서 물리와 철학 학사를 받았으며 런던 대학의 동양과 아프리카 학부에서 음악인류학 석사를 받았다. 현재 샌프란시스코에서 부인과 딸과 함께 살고 있다.
저자 : 데이비드 팔리
David Farley
컴퓨터에 흥미를 느낀 지 약 30년 가까이 되었다. 그 기간 동안 거의 모든 소프트웨어 형식(팜웨어부터 운영체제 및 장치 드라이버 수정, 게임 개발과 모든 규모의 크기와 형식의 상용 애플리케이션까지)을 경험했다. 약 20년 전 대규모의 분산 시스템 업무를 시작했으며, 느슨한 결합과 메시지 기반 시스템(SOA의 선구자인) 연구를 수행했다. 영국과 미국에서 크고 작은 팀과 함께 복잡한 소프트웨어를 개발한 폭넓은 경험을 보유하고 있다. 1990년대 초반부터 애자일 개발 방법인 반복 주기 개발, 지속적 통합, 상용 프로젝트에 상당 수준의 테스트 자동화를 도입한 선구자다. 소트웍스에서 근무하는 4년 반의 기간 동안 애자일 개발 접근법을 연마했으며, 가장 규모가 크고 도전적인 프로젝트의 주요 기술 작업을 진행했다. 현재는 세상에서 가장 고성능의 증권 거래를 구축하기 위해 이 책에서 기술한 모든 주요 기술을 사용하는 조직인 LMAX에 근무 중이다.
역자 : 유석문
기전공학과 석사 과정 후 LG전자 우면연구소, 인텔리코리아, 핸디소프트에서 소프트웨어 개발자로 근무했다. 이후 NHN(현 NAVER)에서 QA, 지도 서비스 개발, 효과적인 소프트웨어 개발 방법의 연구 및 전파 업무를 수행했으며, 오픈소스 NTAF 개발에 참여했다. 저서로 『소프트웨어 품질 관리: NHN은 이렇게 한다!』(공저), 『프로그래머로 산다는 것』(공저)이 있다.
역자 : 김은하
테스트 자동화를 위한 오픈소스 개발에 참여했고, 소프트웨어 품질 향상을 위한 연구 활동을 하고 있다. 저서로 『소프트웨어 품질 관리: NHN은 이렇게 한다!』(공저)가 있다.
역자 : 설현준
부산광역시 출생으로, 중학교 때 도미해 코넬 대학교에서 컴퓨터공학과를 졸업하고, 동 대학교 대학원에서 컴퓨터공학 전공으로 공학석사 학위를 취득했다. 2011년 이후로 Naver에서 소프트웨어 개발과 음성합성/음성인식 연구를 맡아왔다. 현재 Naver Labs의 음성인식개발 랩에서 대리로 근무 중이다.

책 속으로 책속으로 보이기/감추기

저자 서문

어제 당신의 상관이 시스템의 대단한 신 기능을 고객에게 시연하라 요구했지만 아무것도 보여줄 수 없었을 것이다. 모든 개발자가 신규 기능을 개발하고 있지만 애플리케이션을 당장 실행할 수 있는 사람은 없다. 코드를 컴파일하고 지속적 통합 서버에서 모든 단위 테스트를 통과했지만 외부에서 접근할 수 있는 UAT 환경에 신규 버전을 출시하는 데 며칠이 걸린다. 그처럼 짧은 시간에 알려주고 시연을 요구하는 건 불합리한 일일까?

제품에 심각한 오류가 있다. 매일 비즈니스에서 손실이 발생하고 있다. 무엇을 수정해야 하는지 알고 있다. 세 단계 계층 시스템에서 모두 사용하는 라이브러리 하나와 그에 대응하는 데이터베이스를 수정하면 된다. 하지만 지난번 소프트웨어 신 버전을 실환경에 출시하는 데 주말 새벽 3시까지 작업을 해야 했고 그 일 직후 배포를 담당했던 직원이 사직해버렸다. 다음 번 출시는 주말을 넘겨 작업하게 되리란 사실을 알고 있으며, 이는 근무 시간에 애플리케이션이 동작하지 않을 것이란 의미다.

모두 공통의 문제이긴 하지만 이 문제들은 소프트웨어 개발 프로세스에서 피할 수 없는 결과가 아니다. 이건 뭔가 잘못되고 있다는 표시다. 소프트웨어 출시는 매우 빠르고 반복 가능한 프로세스여야 한다. 요즘 많은 회사가 하루에 수차례 출시를 수행한다. 심지어 코드 기반이 매우 복잡한 큰 규모의 프로젝트에서도 가능하다. 이 책에서는 이를 수행하는 방법을 보여준다.

“당신의 조직은 한 줄의 코드를 수정해 배포하는 데 얼마의 시간이 걸립니까? 배포 방법은 반복적이고 신뢰할 수 있습니까?”라고 메리 포펜딕과 톰 포펜딕은 질문한다. 변경하기로 마음 먹는 것에서 실제 적용까지 걸리는 시간을 순환(cycle)이라 하며, 프로젝트의 중요한 지표다.
많은 조직의 순환 시간을 측정해보면 수 주나 수개월이며 배포 프로세스는 전혀 반복적이거나 신뢰할 수 없다. 수동으로 처리하고 때론 실환경 배포뿐만 아니라 테스트나 스테이징 환경에 소프트웨어를 배포하는 경우에도 한 팀의 사람이 필요하다. 이와 유사한 복잡한 프로젝트 환경에서 시작한 경우라도 집중적인 개량을 통해 중요한 수정사항의 경우 팀의 순환 시간을 수 시간 또는 수 분으로 단축했다. 이것이 가능했던 이유는 빌드, 배포, 테스트, 출시 프로세스의 여러 단계를 변경해 완전히 자동화하고, 반복적이고, 신뢰할 수 있는 프로세스를 구축했기 때문이다. 자동화가 핵심이다. 개발자, 테스터, 운영자가 소프트웨어의 생성과 배포에 관련한 공통 작업을 버튼 하나를 눌러 수행할 수 있다.

이 책은 아이디어에서 비즈니스 가치를 실현하는 순환 시간을 짧고 안전하게 하여 소프트웨어 출시를 혁신화하는 방법을 다룬다.
소프트웨어를 고객에게 인도하지 못하면 수익을 창출하지 못한다. 이것이 명백한 사실임에도 대부분의 조직이 소프트웨어를 실환경에 출시하는 작업을 주로 수동으로, 에러가 발생하기 쉬운 위험한 프로세스로 처리한다. 순환 시간을 측정해보면 수개월인 경우가 보통이며, 이보다 못한 회사도 많다. 출시 주기가 1년보다 긴 경우도 있다. 큰 규모의 회사에서 아이디어를 제품으로 구현하는 데 가장 긴 순환 주기가 아닌 일주일의 지연이라도 발생하면 수백만 불의 기회 비용이 발생한다.
이런 상황임에도 위험도가 낮은 소프트웨어 출시를 가능하게 만드는 프로세스와 메커니즘이 최신의 소프트웨어 개발 프로젝트의 중요한 부분으로 취급받지 못하고 있다.
우리의 목적은 소프트웨어를 개발자로부터 실환경으로 인도하는 배포 과정을 신뢰할 수 있고, 예측 가능하며, 가시화된 그리고 잘 이해된 대규모 자동화 프로세스로 위험을 정량화할 수 있게 만드는 것이다. 이 책에서 설명하는 접근법을 이용하면 수 분 또는 수 시간 안에 아이디어를 동작하는 코드로 만들어 실환경에 배포하는 동시에 배포할 소프트웨어의 품질을 개선할 수 있다.

성공적인 소프트웨어 배포와 관련된 중요 비용은 첫 번째 출시 후 발생한다. 이 비용은 지원, 유지 보수, 신 기능 추가, 오류 수정 비용이다. 특히, 소프트웨어의 첫 번째 출시에선 사용자에게 가치를 제공하는 최소한의 기능만 포함하는 반복적인 프로세스를 이용하는 경우 그렇다. 그러므로 이 책의 원서 제목인 ‘지속적 인도(Continuous Delivery)’는 애자일 선언의 첫 번째 원칙인 ‘최상위의 목적은 빠르고 지속적으로 가치 있는 소프트웨어를 인도함으로써 고객을 만족시키는 것이다.’ 성공적인 소프트웨어는 첫 번째 출시가 배포 프로세스의 시작이라는 실제 상황을 반영한다.

이 책에서 기술하는 모든 기술은 사용자에게 새로운 버전의 소프트웨어를 인도하는 데 관련된 시간과 위험을 줄인다. 피드백을 증가시키고 제품 인도와 관련된 개발자, 테스터, 운영자 간의 협업을 개선함으로써 이를 달성한다. 이 기술들은 오류 수정이든 신규 기능 인도 상황이든 간에, 애플리케이션의 수정 시 수정하고 결과를 배포해 사용하는 데 걸리는 시간을 가능한 한 줄이고, 문제는 수정이 용이한 가능한 한 빠른 시점에 발견하고 관련 위험을 잘 이해할 수 있게 보장한다.

옮긴이의 말

상황 1
"서비스 긴급 배포 좀 해주세요!"
"담당자가 휴가라 불가능해요.'

상황 2
"서버 한 대만 설정이 잘못되어 장애가 발생했어요."

상황 3
"소스 코드가 빌드조차 안 되는 상태로 오래 방치되고 있어요."

상황 4
"서비스 장애가 발생했는데 이전 버전으로 복구할 수 있나요?"
"불가능해요. 개발자가 서비스 환경에서 디버깅 중이니 기다려주세요."

상황 5
"성능 테스트 결과가 왜 이렇게 안 맞는 건가요?"
"테스트 환경과 실 서비스 환경이 달라서 그렇습니다."

소프트웨어 개발에 참여해본 독자라면 위에서 열거한 상황 중 적어도 한 가지 이상은 겪어봤을 것이며, 어쩌면 이 문제들을 모두 겪은 독자는 더 많을 것이다. 좋은 기획 내용을 개발자가 코드로 생산하고 QA가 테스트하고 운영자가 배포하면 소프트웨어 개발이 끝난다고 쉽게 생각할 수 있지만, 이 과정이 원활하게 동작하려면 많은 노력이 필요하다. 특히, 이러한 작업을 개인에게 의지해 수동으로 진행하는 경우라면 문제 발생을 피할 수 없다. 여러 대의 서버를 수동으로 설정하다 실수를 해서 장애가 발생하고, 수동으로 모든 테스트를 수행하느라 오랜 시간이 걸리고, 여러 개발자가 개발한 코드를 통합하는 과정에서 무수한 오류가 쏟아져 나와 많은 비용 낭비와 시간 지연이 발생한다. 나 또한 이러한 문제로 많은 어려움을 겪었으며, 이를 극복하기 위해 오랜 시간 노력해왔다.

소프트웨어 개발에서 뛰어난 아이디어를 구현해 고객이 사용할 수 있게 되는 데까지 걸리는 시간을 사이클 타임(cycle time)이라 정의한다. 사이클 타임이 짧으면 고객은 최신의 기능을 자주 접할 수 있으며 개발사는 고객의 반응을 살피고 적합한 소프트웨어를 개발할 수 있는 확률이 높아진다. 사이클 타임을 줄이려면 소프트웨어를 고객에게 전달하는 데 필요한 개발, 테스트, 빌드, 배포, 출시 등의 단계를 효과적으로 수행해야 하며, 전체 프로세스가 효율적으로 관리돼야 한다.

이 책은 이에 필요한 기술과 사례를 다루고 있다. 독자는 효과적인 소프트웨어 개발에 필요한 여러 기법과 실천 방법을 배울 수 있으며, 적용 사례를 이용해 각 상황에 적합한 해결책을 도출해낼 수 있다. 그런 의미에서 이 책을 독자에게 소개할 수 있는 기회가 주어진 것에 매우 감사한 마음이다. 이 책을 활용해 효과적인 소프트웨어 개발과 출시를 수행하여 개인의 휴식과 발전을 위한 시간을 할애할 수 있는 분이 많아지길 희망한다.
대표 역자 유석문
---본문 중에서

출판사 리뷰 출판사 리뷰 보이기/감추기

추천평 추천평 보이기/감추기

90년대 후반 켄트 벡과 함께 스위스에서 보험 회사를 위한 작업을 수행했다. 켄트 벡이 프로젝트를 소개할 때 고도로 훈련된 팀이 매일 밤 소프트웨어를 실환경에 배포하는 점이 흥미로웠다. 정기적인 배포는 여러 이점이 있었다. 작성한 소프트웨어를 배포 시까지 기다릴 필요가 없고, 문제와 기회에 빨리 응답할 수 있으며, 빠른 작업 전환 덕에 비즈니스 고객, 최종 고객과 긴밀한 관계를 구축할 수 있었다.

지난 십 년간 소트웍스(ThoughtWorks)에 근무하며 해온 프로젝트의 공통 주제는 아이디어를 사용할 수 있는 소프트웨어로 만드는 데 걸리는 주기를 줄이는 것이었다. 많은 프로젝트를 살펴봤고 거의 대부분 주기를 단축했다. 일반적으로 매일 제품을 배포하진 않지만 팀은 보편적으로 격주 출시를 수행한다.

데이브와 제즈는 이런 변화를 일으키는 일원으로, 신뢰할 수 있는 소프트웨어를 자주 배포하는 문화를 구축하는 프로젝트에 적극 참여했다. 그들은 동료들과 함께 일 년에 한 번 배포하며 문제점을 겪는 상황에서 출시가 일상적인 일이 되도록 조직을 변화시켰다.
적어도 개발 팀에게 이 방법의 기본은 지속적 통합(CI)이다. CI는 전체 팀의 동기화를 유지하고 통합 문제로 인한 지연을 제거한다. 몇 년 전 폴 듀발(Paul Duvall)이 이 시리즈의 CI 책을 저술했다. 하지만 CI는 첫 단계다. 소프트웨어가 완전하게 메인라인에 통합됐더라도 실환경에서 수행되지 않고 있다면 소프트웨어라고 말할 수 없다. 데이브와 제즈는 그들의 책에서 ‘최후의 길’을 다루기 위해 CI로부터 이야기를 선택해 통합 코드를 실환경 소프트웨어로 만드는 배포 파이프라인을 어떻게 구축하는지를 설명한다.

이런 식의 배포에 대한 생각은 오랫동안 소프트웨어 개발의 잊혀진 구석이었으며, 개발과 운영 팀 사이의 공간에 놓여 있었다. 그러므로 이 책에서 이런 팀이 함께 작업하는 초기 선구자 역할을 하여 개발과 운영 활동으로 발전하는 기술이 나오는 것은 당연한 일이다. 또한 이 프로세스는 테스터를 포함하며, 테스트는 오류 없는 출시를 보장하는 핵심 요소다. 이런 종류의 모든 고수준의 자동화를 묶어 빠르고 오류 없이 작업을 완료할 수 있다.

이런 모든 작업엔 노력이 필요하지만 효과는 확실하다. 오래 걸리고 높은 집중도가 필요한 출시는 과거의 일이 되었다. 소프트웨어 고객은 아이디어가 매일 사용할 수 있는 동작하는 코드로 변화하는 모습을 목격하게 된다. 가장 중요한 부분은 소프트웨어 개발의 가장 해로운 스트레스 원천을 제거할 수 있다는 점이다. 누구도 월요일 새벽까지 시스템 업그레이드를 출시하기 위해 주말을 사용하고 싶진 않을 테니 말이다.

이 책은 소프트웨어를 자주 일상적인 스트레스 없이 배포하는 방법을 보여주므로 읽기 용이할 것이다. 여러분의 팀을 위해 이에 동의할 수 있기를 바란다.
마틴 파울러

회원리뷰 (0건) 회원리뷰 이동

  등록된 리뷰가 없습니다!

첫번째 리뷰어가 되어주세요.

한줄평 (0건) 한줄평 이동

  등록된 한줄평이 없습니다!

첫번째 한줄평을 남겨주세요.

배송/반품/교환 안내

배송 안내
반품/교환 안내에 대한 내용입니다.
배송 구분 예스24 배송
  •  배송비 : 무료배송
포장 안내

안전하고 정확한 포장을 위해 CCTV를 설치하여 운영하고 있습니다.

고객님께 배송되는 모든 상품을 CCTV로 녹화하고 있으며, 철저한 모니터링을 통해 작업 과정에 문제가 없도록 최선을 다 하겠습니다.

목적 : 안전한 포장 관리
촬영범위 : 박스 포장 작업

  • 포장안내1
  • 포장안내2
  • 포장안내3
  • 포장안내4
반품/교환 안내

상품 설명에 반품/교환과 관련한 안내가 있는경우 아래 내용보다 우선합니다. (업체 사정에 따라 달라질 수 있습니다)

반품/교환 안내에 대한 내용입니다.
반품/교환 방법
  •  고객만족센터(1544-3800), 중고샵(1566-4295)
  •  판매자 배송 상품은 판매자와 반품/교환이 협의된 상품에 한해 가능합니다.
반품/교환 가능기간
  •  출고 완료 후 10일 이내의 주문 상품
  •  디지털 콘텐츠인 eBook의 경우 구매 후 7일 이내의 상품
  •  중고상품의 경우 출고 완료일로부터 6일 이내의 상품 (구매확정 전 상태)
반품/교환 비용
  •  고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담임
  •  직수입양서/직수입일서중 일부는 변심 또는 착오로 취소시 해외주문취소수수료 20%를 부과할수 있음

    단, 아래의 주문/취소 조건인 경우, 취소 수수료 면제

    •  오늘 00시 ~ 06시 30분 주문을 오늘 오전 06시 30분 이전에 취소
    •  오늘 06시 30분 이후 주문을 익일 오전 06시 30분 이전에 취소
  •  직수입 음반/영상물/기프트 중 일부는 변심 또는 착오로 취소 시 해외주문취소수수료 30%를 부과할 수 있음

    단, 당일 00시~13시 사이의 주문은 취소 수수료 면제

  •  박스 포장은 택배 배송이 가능한 규격과 무게를 준수하며, 고객의 단순변심 및 착오구매일 경우 상품의 반송비용은 박스 당 부과됩니다.
반품/교환 불가사유
  •  소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
  •  소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 : 예) 화장품, 식품, 가전제품, 전자책 단말기 등
  •  복제가 가능한 상품 등의 포장을 훼손한 경우 : 예) CD/LP, DVD/Blu-ray, 소프트웨어, 만화책, 잡지, 영상 화보집
  •  소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
  •  디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  •  eBook 대여 상품은 대여 기간이 종료 되거나, 2회 이상 대여 했을 경우 취소 불가
  •  중고상품이 구매확정(자동 구매확정은 출고완료일로부터 7일)된 경우
  •  LP상품의 재생 불량 원인이 기기의 사양 및 문제인 경우 (All-in-One 일체형 일부 보급형 오디오 모델 사용 등)
  •  시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  •  전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상
  •  상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리됨
환불 지연에
따른 배상
  •  대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리
  •  쿠폰은 결제 시 적용해 주세요.
1   36,000
뒤로 앞으로 맨위로 공유하기