책 소개
◈ 이 책에서 다루는 내용 ◈
◆ JEE 애플리케이션을 위한 지속적인 통합 - 메이븐과 젠킨스 2를 이용한 자바 애플리케이션을 위한 빌드 작업의 생성과 구성
◆ 젠킨스 2에 내장된 전달 파이프라인과 지속적인 통합의 수명주기를 관리하기 위한 전체적인 자동화에 대한 빌드 파이프라인 생성
◆ 런타임 환경 생성을 위해 셰프를 사용하는 구성 관리 정보
◆ 아마존 EC2, AWS 일래스틱 빈스토크, 마이크로소프트 애저 웹 앱스 그리고 도커 컨테이너에의 애플리케이션 배포
◆ 인프라스트럭처, 애플리케이션 서버, 웹 서버의 모니터링과 오픈소스 모니터링 솔루션과 New Relic을 사용한 애플리케이션의 모니터링
◆ 애플리케이션 배포 자동화를 달성하기 위해 다양한 빌드 작업의 오케스트레이션 - 전체적인 자동화를 위한 매개변수화된 빌드 작업의 생성
◈ 이 책의 대상 독자 ◈
기본적으로 기술적인 독자를 대상으로 하고 있는 책이지만 이전에 지속적인 통합, 클라우드 컴퓨팅, 구성 관리, 지속적인 전달 및 지속적인 배포 경험이 없다고 가정한다. 독자는 젠킨스, 아틀라시안(Atlassian) Bamboo와 같은 지속적인 통합 도구에 초보이거나 경험이 있을 수 있다.
이 책은 지속적인 통합, 클라우드 컴퓨팅, 구성 관리, 지속적인 전달, 스프링 기반 샘플 애플리케이션에 대한 지속적인 배포를 다룬다. 주된 목표는 전체적인 자동화를 이해하고 그를 기반으로 더 확장할 수 있는 단일 기술 스택으로 자동화를 구현하는 것이다.
◈ 이 책의 구성 ◈
1장, '시작하기 - 데브옵스 개념, 도구, 그리고 기술'에서는 데브옵스 운동에 대한 이해, 개발팀의 문제, 운영 팀의 문제, 조직이 직면한 문제, 폭포수 모델과 애자일 모델, 협력의 중요성, 클라우드 컴퓨팅, 데브옵스를 적용해야 하는 이유, 데브옵스의 혜택, 데브옵스 수명 주기, 빌드 자동화, 지속적인 통합과 모범 사례, 구성 관리, 지속적인 전달과 지속적인 배포, 모범 사례, 지속적인 모니터링과 지속적인 피드백을 다룬다. 또한 코드 저장소의 개요, 메이븐(Maven), 젠킨스 2.0(Jenkins 2.0), 셰프(Chef, AWS), 마이크로소프트 애저(Microsoft Azure), 도커(Docker), 나기오스(Nagios), 히게이아 데브옵스 대시보드(Hygieia DevOps Dashboard), 예제 JEE 애플리케이션의 개요도 다룬다.
2장, '젠킨스 2를 통한 지속적인 통합'에서는 지속적인 통합의 개요, 젠킨스 2.0 설치, 젠킨스에서의 자바와 메이븐 설정, 메이븐을 통한 자바 애플리케이션에 대한 빌드 작업(build job)의 생성과 구성, 대시보드 뷰 플러그인, 노드 관리, 빌드 상태에 기반한 이메일 통보 그리고 젠킨스와 소나(Sonar) 통합을 자세히 설명한다.
3장, '코드 작성과 빌드 파이프라인 구성'에서는 도메인 특화 언어(DSL)를 사용하는 내장 전달 파이프라인, 빌드 파이프라인 플러그인, 웹 서버 내의 WAR 파일 배포 내용을 다룬다.
4장, '셰프의 설치와 구성'에서는 셰프 구성 관리 도구, 셰프 호스트, 셰프 워크스테이션(Chef workstation)의 설치와 구성, 셰프 워크스테이션을 이용한 셰프 노드(Chef node)의 통합에 대한 이해를 제공한다.
5장, '도커 설치와 구성'에서는 도커 컨테이너의 개요, 가상머신과 컨테이너 사이의 차이점 이해, CentOS에의 도커 설치와 구성, 첫 번째 도커 컨테이너 생성, 그리고 컨테이너 관리에 대한 내용을 다룬다.
6장, '클라우드 프로비저닝과 셰프를 통한 구성 관리'에서는 셰프와 클라우드 프로비저닝, 아마존 웹 서비스와 마이크로소프트 애저를 위한 나이프(knife) 플러그인 설치, 그리고 아마존 웹 서비스와 마이크로소프트 애저에서의 가상머신 생성 및 구성에 대한 내용을 다룬다.
7장, 'AWS, 애저, 그리고 도커에서의 애플리케이션 배포'에서는 원격 서버에 애플리케이션 배포하기 위한 선행 조건, 톰캣 관리자 애플리케이션 사용, 톰캣 도커 컨테이너에서의 애플리케이션 배포, AWS 엘라스틱 빈스토크에서의 애플리케이션 배포, 마이크로 애저 웹 앱스에서의 애플리케이션 배포를 다룬다.
8장, '인프라스트럭처와 애플리케이션의 모니터링'에서는 모니터링의 개요, 나기오스 모니터링 도구와 나기오스를 통한 빠른 시작 방법, 나기오스의 설치, AWS EC2 인스턴스에 대한 모니터링 구성, AWS 엘라스틱 빈스토크 모니터링, 마이크로소프트 애저 웹 앱 서비스 모니터링, 마이크로소프트 애저 애플리케이션에 대한 이해 그리고 뉴 랠릭을 통한 웹 애플리케이션과 톰캣 서버의 모니터링에 대한 내용을 다룬다.
9장, '애플리케이션 배포에 대한 오케스트레이션'에서는 지속적인 통합, 구성 관리, 지속적인 전달 등에 대한 다양한 빌드 작업의 오케스트레이션 방법을 자세히 다룬다. 9장은 전체적인 자동화를 위한 매개변수화(parameterized)된 빌드 작업의 생성, 애플리케이션 배포 자동화를 위한 빌드 파이프라인 실행, 아마존 엘라스틱 빈스토크(Platform as a Service)에서의 배포 단계, VSTS(Visual Studio Team Server)에서의 전체적인 배포 자동화 구현 단계와 지속적인 통합을 위한 TFS 온라인, 지속적인 전달과 지속적인 배포, 도커 컨테이너에서의 배포 단계를 설명한다. 또한 데브옵스 대시보드인 히게이아(Hygieia)에 대한 간단한 소개와 실행 방법도 살펴본다.
작가 소개
지은이 : 마테쉬 소니
IT 업계에서 9년간의 경험이 있는 학구적인 인물이다. SCJP, SCWCD, VCP, IBM Urbancode Certified Professional로 데브옵스와 클라우드 컴퓨팅을 좋아하며 자바 프로그래밍에 관심이 있다. 매력적인 디자인 패턴을 찾고 있으며 때때로 http://etutorialsworld.com에 재능으로 기여하기도 한다. 아이들과 함께 놀고 카메라를 만지고 인드로다 공원(Indroda Park)에서 사진찍는 것을 좋아한다. 기술적인 세부 사항을 모른 채 좋은 사진을 찍는 데 중독돼 있다. 마하트마 간디의 고향이 있는 지방의 수도에서 살고 있다.
옮긴이 : 김영기
삼성전자 네트워크 사업부 SE 그룹에서 소프트웨어 개발과 관련한 다양한 업무를 수행하고 있다. 주요 이력으로 지능망(IN)과 모바일 자바 애플리케이션 개발, 정적 분석과 소프트웨어 구조 분석, 소프트웨어 개발 도구 및 인프라 관리 등이 있다. 현재는 형상 관리와 개발 전략을 담당하고 있으며, 소프트웨어 개발과 관련된 조직 및 개발 문화, 애자일과 데브옵스, 인프라 자동화에 관심이 많다.
목 차
1장. 시작하기 - 데브옵스 개념, 도구, 기술
__데브옵스 운동의 이해
____빠르게 변화하는 시대와 데브옵스
______폭포수 모델
______애자일 모델
______협력
______클라우드 컴퓨팅 - 파괴적 혁신
______왜 데브옵스인가?
____데브옵스의 혜택
__데브옵스 수명주기 - 이것은 모두 "지속적인" 것에 대한 것이다
____빌드 자동화
____지속적인 통합
______모범 사례
____클라우드 컴퓨팅
____구성 관리
____지속적인 전달/지속적인 배포
______지속적인 전달의 모범 사례
____지속적인 모니터링
____지속적인 피드백
__도구와 기술
____코드 저장소 - Git
______장점
______특징
______SVN과 Git의 차이점
____빌드 도구 - 메이븐
______pom.xml 파일 예제
____지속적인 통합 도구 - 젠킨스
______핵심 기능과 이점
____구성 관리 도구 - 셰프
______기능
____클라우드 서비스 제공업체
____컨테이너 기술
______도커
____모니터링 도구
______제노스
______나기오스
____배포 오케스트레이션/지속적인 전달 - 젠킨스
______전체적인 오케스트레이션: 젠킨스 플러그인
____데브옵스 대시보드
__샘플 자바 EE 애플리케이션의 개요
____작업 목록
____진단 테스트
____요약
2장. 젠킨스 2를 통한 지속적인 통합
__소개
__젠킨스 설치
____젠킨스 설정
__젠킨스 대시보드
__젠킨스에의 자바와 메이븐 구성
____자바 구성
____메이븐 설정
__메이븐을 이용한 자바 애플리케이션의 빌드 작업 생성 및 구성
__GitHub에서의 소스 코드 구성과 인증
__빌드 작업 구성
__JUnit 설정
__Dashboard View 플러그인 - 개요 및 사용법
__노드 관리
____젠킨스 2에서의 슬레이브 노드 생성 및 구성
____마스터 및 슬레이브 노드에 빌드 작업 구성하기
__빌드 상태에 기반한 이메일 알림 전송
__젠킨스와 소나의 통합
__진단 테스트
__요약
3장. 코드 작성과 빌드 파이프라인 구성
__내장된 전달 파이프라인 생성
____스크립트 생성
______예제 1 - 작업을 만들기 위한 그루비 스크립트 생성
______예제 2 - 테스트 보고서를 게시하기 위한 빌드 단계 생성
______예제 3 - 빌드 작업 산출물 보관
______예제 4 - 노드에서 빌드 단계 수행하기
______예제 5 - 빌드 작업의 명확한 단계 표시
__컴파일과 단위 테스트 실행을 위한 파이프라인 생성
__Build Pipeline 플러그인 사용하기
__배포 작업 통합
__진단 테스트
__요약
4장. 셰프의 설치와 구성
__셰프 시작하기
__호스티드 셰프의 개요
__셰프 워크스테이션의 설치와 구성
__셰프 워크스테이션을 이용한 셰프 노드 통합
__쿡북을 이용한 소프트웨어 패키지 설치
__역할 생성하기
__진단 테스트
__요약
5장. 도커의 설치와 구성
__도커 컨테이너의 개요
__가상 머신과 컨테이너의 차이점 이해
__CentOS에의 도커 설치와 구성
__첫 번째 도커 컨테이너의 생성
__도커의 클라이언트-서버 아키텍처 이해
__컨테이너 관리
__Dockerfile에서의 도커 이미지 생성
__진단 테스트
__요약
6장. 클라우드 프로비저닝과 셰프를 통한 구성 관리
__셰프와 클라우드 프로비저닝
__아마존 웹 서비스와 마이크로소프트 애저에 나이프 플러그인 설치
__아마존 EC2에서 가상 머신의 생성 및 구성
__마이크로소프트 애저에서 가상머신의 생성과 구성
__도커 컨테이너
__진단 테스트
__요약
7장. AWS, 애저, 도커에서의 애플리케이션 배포
__선행 조건 - 원격 서버에 대한 애플리케이션 배포
____톰캣 서버 설정
__도커 컨테이너에의 애플리케이션 배포
__AWS에 애플리케이션 배포하기
__마이크로소프트 애저에 애플리케이션 배포하기
__진단 테스트
__요약
8장. 인프라스트럭처와 애플리케이션의 모니터링
__모니터링 시작하기
__모니터링 도구와 기법의 개요
____나기오스
______나기오스로 빠르게 시작하기
__AWS 일레스틱 빈스토크 모니터링
__마이크로소프트 애저 웹 애플리케이션 서비스 모니터링
__진단 테스트
__요약
9장. 애플리케이션 배포에 대한 오케스트레이션
__전체적인 자동화를 위한 빌드 작업 생성
__키를 사용해 SSH 인증 구성하기
__빌드 작업 오케스트레이션을 위한 빌드 파이프라인 구성
__애플리케이션 배포 자동화를 위한 파이프라인 실행
__히게이아 - 데브옵스 대시보드
__진단 테스트
__요약
역자 소개
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |