Top

클라우드 전환 그 실제 이야기 [지속 가능한 클라우드]

  • 지은이공용준
  • ISBN : 9791161754031
  • 20,000원
  • 2020년 03월 31일 펴냄
  • 페이퍼백 | 244쪽 | 188*235mm
  • 시리즈 : 클라우드 컴퓨팅

책 소개

요약

클라우드로 전환하려면 새로운 기술을 도입하고, 새로운 제품을 만들고, 새로운 조직도 만들어야 하며, 천문학적인 비용이 든다. 이 책은 십 수년 간의 클라우드 개발/도입/전파에만 매달려 수없는 실패를 경험한 후에 얻은 지식을 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단계의 조직적인 변화를 설명한다.

저자/역자 소개

지은이의 말

2006년 3월 14일 전자 상거래로 유명했던 아마존이 아마존 웹 서비스 플랫폼(Amazon Web Service, 이하 AWS)을 시작하면서 클라우드 컴퓨팅이란 단어가 대중에게 알려지기 시작했다. 이때의 AWS는 3가지 종류뿐이었다. 스토리지 서비스인 S3, 큐(Queue) 서비스인 SQS 그리고 가상머신 서비스인 EC2가 처음 시작이었다(2020년 현재는 약 200여 가지의 제품이 만들어져 있다). 이후 IaaS(Infra as a Service), PaaS(Platform as a Service), APaaS(Application Platform as a Service), SaaS (software as a service) 등의 단어가 클라우드와 함께 등장했다.
클라우드 컴퓨팅이라는 단어와 함께 SDN(Software Defined Network), NFV(Network Function Virtualization), SDDC(Software Defined Data Center) 등의 기술 신조어가 등장했다. 그리고 클라우드 관리 측면에서 데브옵스(DevOps), SRE, DevSecOps 등 클라우드와 관련된 수많은 단어가 등장하기 시작했다.
이 책을 쓰게 된 이유는 내가 아주 오랜 기간 스스로에게 물었던 질문들이기도 하고 동료 선후배와 일하면서 수없이 했던 (또는 들었던) 질문에 답하기 위해서다. 첫 번째 질문은 ‘대체 클라우드란 무엇인가?’이다. 선문답처럼 느껴질 수 있지만 나를 포함해 이 책을 읽는 대부분의 독자는 신호처리/데이터 구조와 같은 IT 요소 기술을 사용해 어떤 IT 제품을 만들어 내야 하는 엔지니어이기 때문에 굉장히 중요한 질문이다. 나는 모두가 같은 답을 해야 한다고 생각하지 않는다. 각자의 상황과 목표가 다르기 때문이다. 그리고 그 답이 꼭 고도의 지혜를 담은 ‘정답’이어야 한다고 생각하지도 않는다. 환경은 자주 변한다. 어제의 정답이 내일은 문제를 만들기도 하는 오답이 돼 버리기도 하기 때문이다. 하지만 답이 있고 없고는 굉장한 차이다. 그때 그때의 목적에 맞도록 클라우드를 만들고 다음 목표를 세우는 데 도움을 주고자 이 책을 썼다.
두 번째 질문은 ‘클라우드를 만들고 유지하려면 몇 명이 필요해요?’이다. 2016년쯤 어떤 텔레콤 세미나에서 내가 발표했던 내용을 요약한 ‘오픈스택, 2명이 운영하다 보니’라는 굉장히 자극적인 기사 덕에 아주 많은 공격을 받았다. 대부분의 회사와 개발자가 클라우드를 자체적으로 하려다가 인력(사람의 수, 그에 따른 연봉 비용, 조직 관리 등)쪽 이슈 때문에 결국 포기하는 사례를 아주 많이 봤다. 클라우드를 어떻게 시작해야 하는지 그리고 어떻게 유지해야 하는지 그리고 이것들을 어떻게 좀 더 IT적으로 할 수 있을지 설명하려고 했다.
세 번째 질문은 ‘어떻게 확산시킬 수 있었어요?’라는 질문이다. 세상에 좋은 기술과 제품은 많다(나는 기술은 없고 제품만 있다고 생각하기는 한다). 하지만 기술이나 제품이 자신 또는 조직의 문제를 풀어줄 수 있느냐는 다른 이슈이다. 클라우드도 마찬가지다. 결국에는 클라우드 제품에 맞춰서 조직 구성원의 일하던 방식과 정책까지 모두 바꿔야 하는데, 이런 지난한 과정을 거치다 보면 클라우드와 같은 신제품은(게다가 벤더에서 제공하는 것이 아닌, 자신이 직접 만드는 경우는) 거의 대부분 사장되기 마련이다. 나도 현 직장 이전의 모든 직장에서는 클라우드 부서가 전부 없어졌다. 이 책을 읽는 여러분은 그 실패를 겪지 않았으면 하는 마음에 이 책을 쓰게 됐다.
많은 분이 클라우드 제품으로 문제를 잘 해결하는 데 이 책이 조그만 도움이 되길 바란다.

지은이 소개

공용준

유명 인터넷 회사의 클라우드 기술팀 리딩을 맡고 있다. 클라우드 서비스와 데이터 분석에 필요한 기술을 연구, 개발해서 실제 서비스에 적용하는 것을 기쁨으로 살고 있다. 컴퓨팅 중소기업 발전을 위해 한국정보화진흥원 중소기업 기술 자문위원, 한국데이터베이스진흥원에서 빅데이터/머신러닝 자문위원으로도 활동하고 있다. 2011년에 정통부 산하의 클라우드 정책 연구단 기술고문을 역임했다. 주요 저서로는 『카프카, 테이터 플랫폼의 최강자』(책만, 2018), 『클라우드 API를 활용한 빅데이터 분석』(에이콘, 2015), 『실전 클라우드 인프라 구축 기술』(한빛미디어, 2014)이 있다.

목차

목차
  • 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.100 아래에서 3행 : '몇일'동안 -> 며칠동안