품목정보
발행일 | 2022년 08월 26일 |
---|---|
쪽수, 무게, 크기 | 696쪽 | 1322g | 188*245*33mm |
ISBN13 | 9791192469256 |
ISBN10 | 1192469259 |
발행일 | 2022년 08월 26일 |
---|---|
쪽수, 무게, 크기 | 696쪽 | 1322g | 188*245*33mm |
ISBN13 | 9791192469256 |
ISBN10 | 1192469259 |
추천사 xiv 머리말 xvii 감사의 글 xix PART 1 클라우드 컴퓨팅 개론 1 CHAPTER 1 클라우드 컴퓨팅 개념 3 1.1 클라우드 관련 용어 3 1.2 클러스터링 5 1.3 컴퓨팅 자원의 효율적 활용 8 __1.3.1 특정 시간 동안 사용되지 않은 컴퓨팅 자원의 활용 9 __1.3.2 작업의 로드가 작은 컴퓨팅 자원의 활용 10 __1.3.3 컴퓨팅 자원의 활용과 안정성 12 __1.3.4 클라우드 컴퓨팅 서비스 17 __1.3.5 아마존과 클라우드 22 __1.3.6 클라우드 서비스를 가능하게 하는 기술 23 __1.3.7 가상머신 관리 툴 26 __1.3.8 HTC의 또 다른 예 그리드 컴퓨팅 27 연습문제 29 CHAPTER 2 클라우드 컴퓨팅의 역사와 모델 31 2.1 클라우드 컴퓨팅 개념의 탄생 31 2.2 클라우드 컴퓨팅의 정의 33 2.3 클라우드 컴퓨팅의 특성과 배포 모델 35 __2.3.1 클라우드 컴퓨팅의 5가지 특성 35 __2.3.2 클라우드 컴퓨팅의 3가지 서비스 모델 37 __2.3.3 클라우드 컴퓨팅의 4가지 배포 모델 38 2.4 클라우드를 활용하는 이유 40 __2.4.1 인프라 규모 산정의 용이성 40 __2.4.2 비용의 절감 41 __2.4.3 탄력성 41 __2.4.4 가용성 42 __2.4.5 신속성 43 __2.4.6 투명한 사용량 측정 43 __2.4.7 복원성 43 2.5 클라우드 컴퓨팅에 영향을 준 기술들 44 __2.5.1 클러스터링 44 __2.5.2 그리드 컴퓨팅 46 __2.5.3 가상화 49 2.6 클라우드 서비스 제공자의 역할 50 2.7 자원성능의 확장 52 2.8 클라우드를 사용할 때 고려할 사항 53 연습문제 57 CHAPTER 3 HTC 59 3.1 HTC 기본 개념 59 3.2 HTC 사용 예 63 __3.2.1 OSG를 통해 본 HTC 사용 예 63 __3.2.2 데이터 챌린지에 HTC의 활용 66 3.3 HTCondor 기본 개념 67 __3.3.1 HTCondor의 역사 67 __3.3.2 HTCondor 동작 방식 및 용어 69 3.4 HTCondor 실행 과정 예제 71 __3.4.1 HTCondor 작업 준비 71 __3.4.2 작업명세서 파일 준비 73 __3.4.3 작업 제출과 모니터링 76 연습문제 79 PART 2 가상머신 기반 HTC 81 CHAPTER 4 VirtualBox 기반 HTCondor 클러스터 생성 83 4.1 클러스터 구성 개요 83 4.2 VirtualBox 설치 84 4.3 CentOS 가상머신 생성 88 __4.3.1 CentOS 다운로드하기 88 __4.3.2 가상머신 만들기 90 __4.3.3 가상머신에 CentOS 설치하기 95 4.4 CentOS 가상머신 네트워크 설정 102 __4.4.1 네트워크 설정 103 __4.4.2 SSH 접속 110 4.5 가상머신 복사하고 접속하기 114 __4.5.1 가상머신 복사 114 __4.5.2 복제한 가상머신에 기본 환경설정 118 __4.5.3 가상머신 간 네트워크 통신 확인 128 연습문제 133 CHAPTER 5 HTCondor 클러스터 구축 135 5.1 HTCondor Master 노드 구성하기 136 __5.1.1 Master 노드에 HTCondor 설치를 위한 기본설정 136 __5.1.2 HTCondor 설치하기 138 5.2 HTCondor 워커 노드 구성하기 144 __5.2.1 워커 노드에 HTCondor 설치를 위한 기본설정 144 __5.2.2 워커 노드에 HTCondor 설치하기 145 연습문제 150 CHAPTER 6 HTCondor 클러스터를 활용한 작업 처리 151 6.1 작업을 기술하는 작업명세서 151 6.2 간단한 작업 작성해보기 152 6.3 인자를 갖는 작업 156 6.4 여러 작업을 동시에 실행하기 158 6.5 디렉터리 분리로 여러 작업 동시실행 162 6.6 파일 이름 분리로 여러 작업 동시실행 166 6.7 $(Process) 이용한 디렉터리 분리 168 6.8 요구사항을 갖는 작업 170 연습문제 176 CHAPTER 7 자동화 기반 HTCondor 클러스터 구축 177 7.1 자동화 도구가 필요한 이유 177 7.2 Vagrant로 노드 구성하기 178 __7.2.1 Vagrant 설치를 위한 기본설정 178 __7.2.2 Vagrantfile 수정 180 __7.2.3 Vagrant를 이용한 가상머신 생성 184 7.3 Ansible로 HTCondor 설정하기 188 __7.3.1 Ansible 설치 및 기본설정 189 __7.3.2 Ansible 호스트 통신 확인 190 __7.3.3 Ansible 플레이북 작성 192 연습문제 196 PART 3 아마존 AWS 클라우드 197 CHAPTER 8 아마존 AWS를 활용한 가상머신 생성과 접속 199 8.1 아마존 AWS 계정 만들기 199 8.2 아마존 AWS 가상머신 만들기 206 8.3 가상머신에 접속하기 212 연습문제 216 CHAPTER 9 AWS 동적 자원 관리 프로그래밍 218 9.1 동적 자원 관리 프로그래밍 구조 218 9.2 EC2 HTCondor 마스터 노드 생성 221 9.3 HTCondor 슬레이브 이미지 만들기 227 9.4 AWS 자원 동적 관리 툴 233 __9.4.1 List Instances 234 __9.4.2 Start Instances 235 __9.4.3 AIM 이미지로 인스턴스 생성 238 __9.4.4 인스턴스 중지 241 __9.4.5 인스턴스 재시작 244 __9.4.6 가용 리전 및 존 245 9.5 동적 관리 툴 만들기 247 연습문제 253 PART 4 가상화 기술 255 CHAPTER 10 가상화 기술 개념 257 10.1 가상화의 기본 개념 257 __10.1.1 가상화의 정의 258 __10.1.2 가상화 대상 시스템 258 __10.1.3 프로세스 가상머신 260 10.2 하이퍼바이저 261 __10.2.1 타입 1 하이퍼바이저 261 __10.2.2 타입 2 하이퍼바이저 263 __10.2.3 대표적인 하이퍼바이저 264 __10.2.4 하이퍼바이저의 라이프 사이클 266 10.3 가상화 267 __10.3.1 가상화 타입 269 __10.3.2 전가상화 271 __10.3.3 반가상화 274 __10.3.4 하이브리드 가상화 276 __10.3.5 OS 레벨 가상화 277 __10.3.6 가상화 타입 요약 278 연습문제 279 CHAPTER 11 CPU, 메모리, I/O 가상화 280 11.1 CPU 가상화 280 __11.1.1 에뮬레이션 281 __11.1.2 특권 모드와 비특권 모드 283 __11.1.3 트랩 285 __11.1.4 CPU 가상화 구현 287 11.2 메모리 가상화 294 __11.2.1 가상메모리 294 __11.2.2 페이지 테이블 298 __11.2.3 가상화 환경에서 메모리 변환 301 __11.2.4 TLB 에뮬레이션 방식 메모리 가상화 303 __11.2.5 섀도 페이지 테이블 방식 메모리 가상화 307 __11.2.6 직접 페이지 테이블 접근 방식의 메모리 가상화 310 __11.2.7 하드웨어 지원 페이징 312 11.3 I/O 가상화 317 __11.3.1 I/O 장치 에뮬레이션 318 __11.3.2 I/O 반가상화 320 __11.3.3 직접 접근 I/O 325 __11.3.4 IOMMU 328 __11.3.5 SR-IOV 332 연습문제 333 PART 5 가상화 기술 활용 335 CHAPTER 12 가상머신 라이브 마이그레이션 337 12.1 가상머신 마이그레이션 기술 337 __12.1.1 프리카피 방식 338 __12.1.2 포스트카피 방식 339 __12.1.3 하이브리드 방식 340 12.2 가상머신 생성 및 실습 환경 구성 341 __12.2.1 가상머신 생성 341 __12.2.2 가상화 패키지 설치 및 설정 343 __12.2.3 가상머신 복제 345 __12.2.4 가상머신 환경설정 347 12.3 KVM 가상머신 생성 및 라이브 마이그레이션 351 __12.3.1 가상머신 이미지 저장소 생성 352 __12.3.2 CirrOS 가상머신 생성 352 __12.3.3 cirros 가상머신에 작업파일 생성 354 __12.3.4 KVM 라이브 마이그레이션 356 연습문제 358 CHAPTER 13 가상머신으로 오픈스택 구축하기 360 13.1 오픈스택 개요 및 구조 360 __13.1.1 오픈스택 개요 360 __13.1.2 오픈스택 구조 362 13.2 오픈스택 구축을 위한 실습 환경 364 13.3 오픈스택 설치 370 13.4 오픈스택 접속 및 가상머신 생성 373 __13.4.1 오픈스택 대시보드 접근 373 __13.4.2 오픈스택 커맨드 라인 툴을 이용한 접근 382 연습문제 388 PART 6 컨테이너 기술 391 CHAPTER 14 컨테이너 기본 개념 393 14.1 컨테이너 기본 개념과 기술의 진보 393 __14.1.1 기본 개념 393 __14.1.2 컨테이너 기술의 역사 395 14.2 컨테이너와 가상머신 399 연습문제 402 CHAPTER 15 리눅스 컨테이너 403 15.1 리눅스 컨테이너 LXC 403 __15.1.1 리눅스 컨테이너 아키텍처 403 __15.1.2 마운트 네임스페이스 406 __15.1.3 UTS 네임스페이스 409 __15.1.4 PID 네임스페이스 411 __15.1.5 IPC 네임스페이스 415 __15.1.6 네트워크 네임스페이스 416 __15.1.7 사용자 네임스페이스 442 15.2 LXC 컨테이너 452 __15.2.1 LXC 설치하기 452 __15.2.2 LXC 컨테이너 생성 456 __15.2.3 LXC 컨테이너 네트워크 설정 및 접속 459 __15.2.4 LXC 컨테이너 내부 파일 463 __15.2.5 다운로드 템플릿을 이용한 컨테이너 생성 466 __15.2.6 커스텀 컨테이너 생성 469 __15.2.7 LXC 컨테이너 종료, 삭제하기 475 연습문제 477 CHAPTER 16 도커 479 16.1 도커 개요 479 __16.1.1 기본 개념 479 __16.1.2 도커 구동 방식 481 __16.1.3 도커 아키텍처 483 __16.1.4 도커 기반 기술 487 16.2 도커 실습 490 __16.2.1 도커 설치하기 490 __16.2.2 이미지, 프로세스, 접속, 모니터링 493 16.3 도커파일, 스웜, 스택 510 __16.3.1 실습 환경 구성 510 __16.3.2 도커파일을 통한 컨테이너 생성 511 __16.3.3 도커 이미지 공유하기 518 __16.3.4 도커 서비스 522 16.4 도커 스웜 529 __16.4.1 도커 오케스트레이션 툴 529 __16.4.2 도커 스웜을 통한 서비스 구축 531 __16.4.3 도커 스택 538 연습문제 547 CHAPTER 17 쿠버네티스 549 17.1 쿠버네티스 등장 배경 549 17.2 쿠버네티스 구조 552 17.3 실습환경 구성 555 17.4 쿠버네티스 클러스터 구성 564 17.5 쿠버네티스에 서비스 올리기 571 연습문제 583 PART 7 클라우드 활용 585 CHAPTER 18 도커와 젠킨스를 이용한 CI/CD 파이프라인 구성 587 18.1 CI/CD 기본 개념 587 __18.1.1 전통적인 소프트웨어개발 프로세스 587 __18.1.2 지속적인 통합: CI 589 __18.1.3 지속적인 제공과 배포: CD 590 18.2 CI/CD 파이프라인 실습환경 구성 592 __18.2.1 CI/CD 파이프라인 구성 개념 592 __18.2.2 AWS Lightsail 인스턴스 생성 및 설정 593 __18.2.3 도커 설치 596 __18.2.4 젠킨스 설치 및 설정 598 18.3 CI 구성: GitHub, 젠킨스 연동 설정 605 __18.3.1 GitHub example 리포지터리 생성 605 __18.3.2 develop 아이템 생성 및 설정 607 __18.3.3 develop 브랜치에 코드 푸시 610 __18.3.4 젠킨스 main 아이템 설정 614 __18.3.5 젠킨스 플러그인 추가 설치 및 설정 617 18.4 CD 구성: 도커 허브와 젠킨스 연동 설정 620 __18.4.1 도커 허브 웹훅 설정 621 __18.4.2 dockerhub 아이템 설정 621 __18.4.3 배포 인스턴스 설정 및 테스트 623 연습문제 626 CHAPTER 19 클라우드 기술의 데이터 센터 활용 627 19.1 데이터 센터의 구조 627 __19.1.1 데이터 센터의 내부 구조 627 __19.1.2 확장가능한 데이터 센터 630 19.2 데이터 센터의 당면 과제 632 __19.2.1 자동화와 원격 관리 632 __19.2.2 데이터 센터의 안정성 확보 634 __19.2.3 에너지 효율적인 데이터 센터 636 19.3 효율적인 IT 인프라 639 __19.3.1 컴퓨팅 장비 639 __19.3.2 스토리지 장비 641 __19.3.3 네트워크 장비 645 19.4 데이터 센터에 활용되는 가상화 기술 648 __19.4.1 서버 가상화 648 __19.4.2 스토리지 가상화 650 __19.4.3 네트워크 가상화 654 19.5 클라우드 데이터 센터의 연결 기술 656 __19.5.1 인터네트워크 657 __19.5.2 데이터 센터 접근을 위한 다양한 프로토콜 659 __19.5.3 데이터의 전송과 패킷 662 연습문제 667 찾아보기 669 |
바야흐로 클라우드가 대세인 시대가 도래했다..넓게보면 결국 IT Full 아웃소싱인데..요즘에는 개인 개발자들도 AWS를 쓰고 도커를 무리없이 사용하는 환경이니....
여튼 이책은 클라우드의 기초외에 클라우드의 기본 개념 정리부터 오픈스택, 도커 컨테이너, AWS, CI/CD 파이프라인까지 클라우드 컴퓨팅을 위한 전반적인 지식을 나름 잘설명해주고 있다. 가상머신 접속 부터 연습문제까지 있으니 책을 읽어가면서 테스트 해보기에도 적합하다.
여기저기 블로그나 비싼 강의를 통해서 접할 수 있는 단편적 지식들이 모두 모아져 있다는 점에서 합격점을 주고 싶다. 하지만 너무 내용이 방대하고 분량도 방대하다보니, 이 책을 통해서
반적인 클라우드에 대한 개념을 잡고 필요한 부분은 그때그때 필요에 따라 발췌독하기를 추천한다.
초보들에게는 다소 어려운 책이라 판단되지만, 클라우드나 IT기술 기본 개념과 구조에 대한 책들은 치고 넘치니, 실제 실무나 중급이상자들에게 필요한책들이 진정한 IT 기술전문서적이 아닐까?
앞으로도 수준높은 IT전문서적이 계속 출간되기를 원하며 소감을 마친다.
#클라우드 #HTC #가상화 #컨테이너 #CI/CD #AWS #앤서블
저자분은 한국과학기술정보연구원 국가슈퍼컴퓨팅본부에서 일하신 경험이 있어 HTC(High Throughput Computing)관점에서 클라우드 컴퓨팅을 풀어내고 있다. 나는 책을 선택할 때 어떤 관점을 가지고 책을 서술 하는지가 하나의 중요한 포인트다. 해당 도서는 저자의 인사이트 및 시야까지 배울 수 있는 좋은 책이라고 판단된다. 기초적인 클라우드 컴퓨팅 개념부터 가상머신, 가상화, 컨테이너 기반 기술 더 나아가 CI/CD까지 정말 넓은 범위를 기술하고있다. 개념 뿐만 아니라 다양한 실습 예제가 있고 프로그래밍도 있다. 클라우드 컴퓨팅 도서의 끝판왕이라고 생각된다.
해당 도서는 연습문제도 있어, 클라우드 컴퓨팅 대학 교제로 정말 괜찮을 것 같다는 생각이 들었다. 클라우드 관련 업무를 하고 있지만, 해당 도서에서 새로 배운 개념과 오개념을 많이 바로 잡았다. 도서의 실습 부분은 친절하게 잘 돼 있고, 하나하나 따라 가면서 실습하기에 어려움이 없었다. 실습이 풍부하게 들어가 있어 해당 도서는 실습까지 직접 해봐야 내것으로 만들 수 있다. 경험상 실습이 많은 도서는 하나하나 커맨드를 입력해 출력 결과를 보는것이 정말 많이 도움이 되고, 눈으로 책을 보기만 하는것은 이 책의 의도와 맞지 않을 거라는 생각이 든다. 또한, 가상머신으로 실습도 있고, 퍼블릭클라우드인 AWS에서도 실습을 할 수 있어 다양한 관점에서 실습해볼 수 있다. 후반부에는 리눅스 컨테이너 실습이 있는데 해당 부분 실습을 본인은 정말 재밌게 했다. 도커, 도커스웜, k8s 모두 다루고 있어서 넓게 알 수 있다.
해당 도서로 클라우드 컴퓨팅 이론과 실습을 정말 넓게 알 수 있다. 책 페이지가 좀 되지만, 그만큼 저자가 애착을 가지고 썻다는것을 느낄 수 있는 책이다. 클라우드 컴퓨팅 관련 도서 추천을 받으면 자신있게 추천할 수 있는 책이고 해당 도서를 읽고 난 뒤 클라우드 컴퓨팅에 대해 전반적으로 이해하고 있는 자신을 발견할 수 있을 거 같다.
" 이 책은 제이펍의 전문서 리뷰어로 채택되어 읽게 된 책입니다."