책 소개
2021년 대한민국학술원 우수학술도서 선정도서
요약
클라우드로 전환하려면 새로운 기술을 도입하고, 새로운 제품을 만들고, 새로운 조직도 만들어야 하며, 천문학적인 비용이 든다. 이 책은 십 수년 간의 클라우드 개발/도입/전파에만 매달려 수없는 실패를 경험한 후에 얻은 지식을 ITIL/CMMI라는 형식으로 정리했다. 클라우드 전환을 꿈꾸는 모든 사람에게 도움이 될 것이다.
이 책에서 다루는 내용
■ 실제 사례를 바탕으로 클라우드 개발에 필요한 요소와 기술 적용 방법 설명
■ 자동화 기술과 자동 테스트 기술을 활용해 애자일 개발을 실행하는 방법
■ 클라우드 제품을 지속적으로 개발/유지할 수 있는 방법
■ 클라우드 기술과 제품의 목적을 ITIL 기반으로 설명
■ 클라우드 기술이 가져오는 변화를 CMMI 기법을 사용해 설명
■ 프라이빗/하이브리드 클라우드에 필요한 기술을 충실히 설명
이 책의 대상 독자
■ 애자일 개발에 관심이 많은 개발자
■ 클라우드를 만들고 사용하고 싶은 소프트웨어 아키텍트
■ 클라우드 전환에 깊은 관심이 있는 의사 결정자나 기획자
이 책의 구성
이 책은 크게 3개의 부(Part)로 나눠져 있다. 1부는 클라우드를 계획하는 데 있어 클라우드의 정의를 만들고, 이 정의에 따라 ITIL(Information Technology Infrastructure Library)을 만들고 계획하는 방법을 설명한다. 그리고 CMMI(Capability Maturity Model Integration)라는 진행 방법도 설명한다.
1부의 내용은 제품 기획을 하는 기획자, 클라우드를 기반으로 개발해야 하는 개발자, 기업의 IT를 관장하는 CTO/CIO가 보면 도움이 될 것이다.
1장, ‘클라우드 컴퓨팅이란 무엇인가?’에서는 클라우드의 정의와 특성을 설명한다. 그리고 클라우드 경험이 진화함에 따라서 정의를 변경하고 이에 따르는 실제적인 예를 코드 기반으로 간단하게 설명한다.
2장, ‘클라우드 컴퓨팅과 ITIL’에서는 ITIL을 설명하고 ITIL에 클라우드 제품이 어떻게 연결되는지 간단한 코드와 함께 설명한다.
3장, ‘클라우드 계획하기’에서는 CMMI를 설명하고, 클라우드를 개발/도입/적용할 때 각 단계별로 어떤 형태의 전략을 세워야 하는지 그리고 결과물은 어떻게 나타내야 하는지 설명한다.
2부는 1부에서 설명한 개념을 IT 제품에 어떻게 적용해서 개발조직을 바꿨는지 설명한다. 여기서 나오는 내용은 개발리더, 일반 개발자, 데브옵스(DevOps) 개발자, 애자일(Agile) 개발에 관심이 많은 분에게 도움이 될 것이다.
4장, ‘클라우드 서비스 개발환경 만들기’에서는 클라우드 서비스를 만들기 위한 프레임워크를 설명한다. 자동화 제품을 적용하는 데 필요한 내용을 실제 코드를 기반으로 설명한다.
5장, ‘클라우드 서비스 구성 자동화하기’에서는 설정 자동화 툴을 자세히 설명한다. 이 툴을 통해서 샌드박스(실서비스를 반영하지만 규모는 아주 작은 환경)를 자동으로 만드는 방법을 소개한다.
6장, ‘클라우드 서비스 테스트 자동화하기’에서는 테스트의 종류와 샌드박스용 자동화 코드를 테스트하는 방법을 설명한다. 그리고 테스트/샌드박스를 통한 개발이 개발 문화에 미치는 영향을 살펴본다.
3부는 1~2부에서 설명한 클라우드의 개념에 따라 어떤 목적으로 제품을 만들었는지와 제품으로 인한 조직적 변화를 CMMI에 맞춰 설명한다. 신기술을 조직에 적용하고 싶은 조직 리더, 제품 기획자에게 도움이 될 것이다.
7장, ‘IaaS의 목적과 효과’에서는 IaaS 제품에 들어갔던 주요 기술과 목적을 설명한다. 그리고 이 제품이 가져온 CMMI 1단계의 변화를 설명한다.
8장, ‘텔레메트리 클라우드의 목적과 효과’에서는 모니터링 클라우드 제품의 주요 콘셉트와 이 콘셉트를 구현하기 위해 적용된 기술을 설명한다. 그리고 이 제품이 적용되면서 CMMI 2단계에 해당하는 부분을 설명한다.
9장, ‘컨테이너 클라우드의 목적과 효과’에서는 컨테이너 클라우드 제품이 개발된 주요 목적과 여기에 사용된 기술을 설명한다. 그리고 이 제품을 적용해 만든 CMMI 3단계의 조직적인 변화를 설명한다.
목차
목차
- 1부. The planning
- 1장. 클라우드 컴퓨팅이란 무엇인가?
- 1.1 클라우드의 태동
- 1.2 클라우드 컴퓨팅이란 무엇일까?
- 1.2.1 IaaS, PaaS, SaaS
- 1.3 클라우드의 실제적인 정의
- 1.3.1 프로그램 가능한 리소스 관리 ‘Programmable Resource Management’
- 1.3.2 Programmable Resource Life Cycle management
- 1.3.3 Programmable Service management
- 1.4 정리하기
- 2장. 클라우드 컴퓨팅과 ITIL
- 2.1 ITIL이란 무엇인가?
- 2.2 ITIL V3와 IT서비스
- 2.3 ITIL의 요소 변화
- 2.4 클라우드 컴퓨팅과 ITIL
- 2.5 정리
- 3장. 클라우드 계획하기
- 3.1 CMMI란?
- 3.2 클라우드 서비스 개발과 CMMI-DEV
- 3.2.1 문화와 조직
- 3.2.2 디자인과 아키텍처
- 3.2.3 빌드와 배치
- 3.2.4 테스트와 검증
- 3.2.5 정보와 리포팅
- 3.3 클라우드 개발과 클라우드 네이티브 개발
- 3.4 정리
- 2부. The execution
- 4장. 클라우드 서비스 개발환경 만들기
- 4.1 클라우드 서비스 개발환경의 특징 및 요소
- 4.2 카카오 클라우드 개발 프레임워크 KFIELD
- 4.3 KField 개발 배치 형상
- 4.3.1 kfeild 물리형상
- 4.3.2 kfield 개발 형상을 코드로 작성하기
- 4.4 CMMI-DEV관점에서의 kfield단계
- 4.4.1 문화와 조직 관점에서의 단계
- 4.4.2 디자인과 아키텍처 관점에서의 단계
- 4.4.3 빌드와 배치 관점에서의 단계
- 4.4.4 테스트와 검증 관점에서의 단계
- 4.4.5 정보와 리포팅 관점에서의 단계
- 4.5 정리하기
- 5장. 클라우드 서비스 구성 자동화하기
- 5.1 서비스 구성 자동화 프레임워크 chef
- 5.1.1 Chef 레시피와 롤
- 5.1.2 chef로 배치하기
- 5.2 kfield에서 IaaS 배치하기
- 5.2.1 kfield IaaS배치 형상
- 5.2.2 서비스 설치 예제
- 5.2.2.1 환경 설정
- 5.2.2.2 애플케이션 설치
- 5.2.2.3 OS 서비스에 등록
- 5.2.3 서비스 디스커버리 구현
- 5.3 인스턴스들에 서비스 배치하기
- 5.4 CMMI-DEV관점에서의 단계
- 5.4.1 문화와 조직 관점에서의 단계
- 5.4.2 디자인과 아키텍처 단계
- 5.4.3 빌드와 배치 관점에서의 단계
- 5.4.4 테스트와 검증관점에서의 단계
- 5.4.5 정보와 리포팅 관점에서의 단계
- 5.5 정리하기
- 6장. 클라우드 서비스 테스트 자동화하기
- 6.1 테스트 그리고 자동 테스트
- 6.2 인프라스트럭처 검증 프레임워크 kitchen
- 6.3 테스트 자동화 하기
- 6.4 kfiled의 테스트 구조
- 6.5 CMMI-DEV관점에서의 단계
- 6.5.1 문화와 조직 관점에서의 단계
- 6.5.2 디자인과 아키텍처 단계
- 6.5.3 빌드와 배치 관점에서의 단계
- 6.5.4 테스트와 검증관점에서의 단계
- 6.5.5 정보와 리포팅 관점에서의 단계
- 6.6 정리하기
- 3부. The Hardening
- 7장. IaaS의 목적과 효과
- 7.1 IaaS의 전략적 목적
- 7.2 IaaS의 주요 기술
- 7.2.1 배경 상황
- 7.2.2 새로운 네트워크 모델 디자인
- 7.2.3 새로운 네트워크 모델 구현
- 7.2.4 새로운 기술 적용 효과
- 7.3 ITIL관점에서 IaaS를 만들고 유지하기
- 7.3.1 서비스 디자인
- 7.3.1.1 가용성 관리
- 7.3.1.2 용량관리
- 7.3.1.3 연속성 관리
- 7.3.2 서비스 전환
- 7.3.2.1 변화관리
- 7.3.2.2 릴리즈 관리
- 7.3.2.3 설정 관리
- 7.3.3 서비스 운영
- 7.3.3.1 장애관리
- 7.3.3.2 문제관리
- 7.3.3.3 요구수행
- 7.3.4 지속적인 서비스 개선
- 7.4 정리하기
- 8장. 텔레메트리 클라우드의 목적과 효과
- 8.1 TaaS의 전략적 목적
- 8.2 TaaS의 주요 기술
- 8.2.1 배경 상황
- 8.2.2 새로운 텔레메트리 시스템 디자인
- 8.2.3 메트릭 텔레메트리 서비스
- 8.2.4 로깅 텔레메트리 서비스
- 8.2.5 텔레메트리 서비스 적용 효과
- 8.3 ITIL 관점에서의 TaaS 개발
- 8.3.1 TaaS를 ITIL에 활용하기
- 8.3.2 TaaS의 표준화
- 8.4 정리하기
- 9장. 컨테이너 클라우드의 목적과 효과
- 9.1 TaaS의 전략적 목적
- 9.2 CaaS의 주요 기술
- 9.1.1 배경 상황
- 9.1.2 컨테이너로 실서비스를 하기 위한 기술
- 9.1.3 컨테이너 클라우드 적용 효과
- 9.3 컨테이너 서비스로 보는 ITIL
도서 오류 신고
정오표
정오표
[p.16 : 아래에서 3행]
9장 - 컨테니어 클라우드의 목적과 효과
->
9장 - 컨테이너 클라우드의 목적과 효과
[p.49 : 아래에서 2행]
그림 2-3과 같은
->
그림 2-4와 같은
[p.122 : 5행]
파일 2-5
->
파일 5-5
[p.122 : 8행]
파일 2-6
->
파일 5-6
[p.123 : 3행]
파일 2-7
->
파일 5-7