검색결과 : 국립세종도서관
상세검색 닫기
자료유형
본문언어
출판년도 ~
정렬
상세검색 +

자료검색

검색결과

  • 홈으로
  • 검색결과
글씨 글씨 확대 글씨 축소
클라우드 네이티브 : 클라우드 네이티브 애플리케이션을 설계, 개발, 운영하는 핵심 가이드 / 지은이 : 보리스 숄,트렌트 스완슨,피터 야우쇼베츠 ;옮긴이 : 정원천
클라우드 네이티브 : 클라우드 네이티브 애플리케이션을 설계, 개발, 운영하는 핵심 가이드 책표지
  • ·표제/책임표시사항 클라우드 네이티브 : 클라우드 네이티브 애플리케이션을 설계, 개발, 운영하는 핵심 가이드 / 지은이 : 보리스 숄,트렌트 스완슨,피터 야우쇼베츠 ;옮긴이 : 정원천
  • ·발행사항 서울 : 한빛미디어, 2020
  • ·형태사항 252 p. :삽화 ;24 cm
  • ·주기사항 원표제:Cloud native :using containers, functions, and data to build next-generation applications
    색인 수록
    원저자명: Boris Scholl, Trent Swanson, Peter Jausovec
    영어 원작을 한국어로 번역
  • ·표준번호/부호 ISBN: 9791162243183  93000: \22000 
  • ·분류기호 한국십진분류법-> 004.588  듀이십진분류법-> 004.6782  
  • ·주제명 클라우드 컴퓨팅[cloud computing]
권별정보 자료위치출력 관심도서 보기 관심도서 담기

※ 좌우로 스크롤하시면 내용이 보입니다.

권별정보 안내
신청 편/권차 편제 저작자 발행년도 등록번호 청구기호 자료있는 곳 자료상태 예약자 반납예정일 매체구분
지은이: 보리스 숄,트렌트 스완슨,피터 야우쇼베츠 ;옮긴이: 정원천 2020 SE0000535939 004.588-20-4 일반자료실(2층) 대출 가능 0 - 인쇄자료(책자형) 
지은이: 보리스 숄,트렌트 스완슨,피터 야우쇼베츠 ;옮긴이: 정원천 2020 SE0000535940 004.588-20-4=2 일반자료실(서고) 서고 비치(온라인 신청 후 이용) 0 - 인쇄자료(책자형) 
※ 신청 종류
- 대출예약신청:
자료상태가 ‘대출중’인 경우 해당 도서를 예약하여 도서 반납 시 우선적으로 대출받을 수 있는 서비스
- 청사대출신청:
정부세종청사(6-3동, 2-1동)에 위치한 무인예약도서대출반납기에서 도서 수령‧반납이 가능한 서비스
- 무인대출신청:
도서관 1문(정문)에 위치한 무인예약도서대출기에서 도서 수령이 가능한 서비스
- 서고자료신청:
서고에 보관된 자료에 대한 열람신청 서비스 이용방법: 로그인 → 자료검색 → [상세정보] 클릭 → 권별정보에서 자료 선택 →[서고자료신청] → 자료비치완료 문자 수신 → 해당 자료실에서 자료 수령
서가 둘러보기
서가둘러보기 로딩중

목차


지은이 · 옮긴이 소개 -4
옮긴이의 말 -5
이 책에 대하여 -6
감사의 말 -8

CHAPTER 1 클라우드 네이티브 소개
1.1 분산 시스템 -19
1.1.1 분산 시스템의 오류 -20
1.1.2 CAP 이론 -22
1.2 12요소 앱 -23
1.3 가용성과 서비스 수준 협약서 -25
1.4 마치며 -26

CHAPTER 2 기본 지식
2.1 컨테이너 -27
2.1.1 컨테이너 격리 수준 -29
2.1.2 컨테이너 오케스트레이션 -31
2.1.3 쿠버네티스 개요 -32
2.1.4 쿠버네티스와 컨테이너 -35
2.2 서버리스 컴퓨팅 -37
2.3 함수 -37
2.4 VM부터 클라우드 네이티브까지 -39
2.4.1 리프트 앤 시프트 -39
2.4.2 애플리케이션 현대화 -39
2.4.3 애플리케이션 최적화 -42
2.5 마이크로서비스 -43
2.5.1 마이크로서비스 아키텍처 장점 -44
2.5.2 마이크로서비스 아키텍처의 과제 -46
2.6 마치며 -48

CHAPTER 3 클라우드 네이티브 애플리케이션 설계
3.1 클라우드 네이티브 애플리케이션 기초 -51
3.1.1 운영 효율성 -52
3.1.2 보안 -53
3.1.3 신뢰성과 가용성 -55
3.1.4 확장성과 비용 -56
3.2 클라우드 네이티브 vs 전통적인 아키텍처 -57
3.3 함수 vs 서비스 -62
3.3.1 함수 시나리오 -62
3.3.2 함수 이용 시 고려할 점 -62
3.3.3 함수와 서비스의 조합 -64
3.4 API 설계와 버저닝 -66
3.4.1 API 하위와 상위 호환성 -68
3.4.2 시맨틱 버저닝 -69
3.5 서비스 커뮤니케이션 -69
3.5.1 프로토콜 -70
3.5.2 메시징 프로토콜 -72
3.5.3 직렬화 고려 사항 -73
3.5.4 멱등성 -73
3.5.5 요청과 응답 -74
3.5.6 발행자와 구독자 -76
3.5.7 Pub 및 Sub과 요청 및 응답 중 선택하기 -78
3.5.8 동기 vs 비동기 -79
3.6 게이트웨이 -80
3.6.1 라우팅 -81
3.6.2 애그리게이션 -82
3.6.3 오프로딩 -83
3.6.4 게이트웨이 구현 -84
3.7 이그레스 -84
3.8 서비스 메시 -85
3.8.1 트래픽 관리 -89
3.8.2 장애 처리 -91
3.8.3 보안 -93
3.8.4 트레이싱 모니터링 -95
3.9 아키텍처 예제 -96
3.10 마치며 -100

CHAPTER 4 데이터 다루기
4.1 데이터 스토리지 시스템 -103
4.1.1 오브젝트, 파일 , 디스크 -103
4.1.2 데이터베이스 -105
4.1.3 스트림과 큐 -108
4.1.4 블록체인 -108
4.1.5 데이터베이스 선택하기 -109
4.2 다양한 데이터스토어 데이터 -112
4.2.1 데이터 캡처 변경 -113
4.2.2 변경 사항을 이벤트로 변경 로그에 기록하기 -117
4.2.3 트랜잭션 관리자 -117
4.2.4 보상 트랜잭션 -119
4,2,5 추출, 변환, 로드(ETL) -120
4.2.6 마이크로 서비스와 데이터 레이크 -121
4.3 클라이언트가 데이터에 접근하기 -124
4.3.1 제한된 클라이언트 토큰 (발렛키) -125
4.3.2 데이터베이스 서비스의 FGAC -126
4.3.3 GraphQL 데이터 서비스 -127
4.4 빠르게 확장 가능한 데이터 -129
4.4.1 데이터 샤딩 -130
4.4.2 데이터 캐싱 -130
4.4.3 콘텐츠 전송 네트워크 -131
4.5 데이터 분석 -134
4.5.1 스트림 -134
4.5.2 배치 -134
4.5.3 오브젝트 스토리지의 데이터 레이크 -135
4.5.4 데이터 레이크와 데이터 웨어하우스 -135
4.5.5 분산 쿼리 엔진 -136
4.6 쿠버네티스상 데이터베이스 -137
4.6.1 스토리지 불륨 -138
4.6.2 스테이트풀셋 -140
4.6.3 데몬셋 -141
4.7 마치며 -141

CHAPTER 5 데브옵스
5.1 데브옵스란? -143
5.1.1 협업 -144
5.1.2 자동화 -155
5.1.3 린 원칙고 절차 -145
5.1.4 측정 -145
5.1.5 공유 -146
5.2 테스팅 -146
5.2.1 테스트 더블 -147
5.2.2 테스트 자동화 피라미드 -148
5.2.3 어떤 테스트를 언제 실행할 것인가? -153
5.2.4 테스팅 주기 -154
5.2.5 실서비스의 테스팅 -155
5.3 개발 환경과 도구 -159
5.3.1 개발 도구 -160
5.3.2 개발 환경 -162
5.3.3 로컬 개발 환경 -163
5.3.4 원격 클러스터를 이용한 로컬 개발 -164
5.3.5 Skaffold 개발 작업흐름 -165
5.3.6 원격 클러스터를 로컬 개발로 라우트 -166
5.3.7 클라우드 개발 환경 -167
5.4 CI/CD -167
5.4.1 소스 코드 저장소 -167
5.4.2 빌드 단계(CI) -170
5.4.3 테스트 단계(CI) -170
5.4.4 배포 단계(CD) -172
5.4.5 출시 단계(CD -174
5.4.6 출시 후 단계 -175
5.5 모니터링 -176
5.5.1 메트릭 수집하기 -178
5.5.2 관측 가능한 서비스 -184
5.6 설정 관리 -189
5.6.1 단일 환경 변수 -191
5.6.2 다중 환경 변수 -192
5.6.3 불륨으로 ConfigMap 데이터 추가하기 -192
5.6.4 시크릿 저장하기 -193
5.6.5 디폴로이먼트 설정 -194
5.7 예제 CI/CD 흐름 -197
5.8 마치며 -201

CHAPTER 6 모범 사례
6.1 클라우드 네이티브로 이동하기 -203
6.1.1 모놀리스를 적절하게 분리 -203
6.1.2 단순한 서비스를 먼저 분리 -204
6.1.3 작은 규모에서 운영 배우기 -204
6.1.4 손상 방지 레이어 패턴 사용하기 -205
6.1.5 스트랭글러 패턴 사용하기 -206
6.1.6 데이터 마이그레이션 전략 수립 -206
6.1.7 보일러플레이트 코드 재작성하기 -207
6.1.8 프레임워크, 언어, 데이터구조, 데이터스토어 다시 고려하기 -207
6.1.9 코드 제거 -207
6.2 회복력 확인 -208
6.2.1 재시도로 일시적인 실패 처리 -208
6.2.2 재시도 횟수 제한 -209
6.2.3 일시적이 아닌 실패에는 서킷 브래이커 사용 -209
6.2.4 우아한 성능 저하 -209
6.2.5 벌크헤드 패턴 사용하기 -210
6.2.6 헬스 체크와 레디니스 체크 구현 -210
6.2.7 컨테이너에 CPU/ 메모리 제한 설정하기 -210
6.2.8 레이트 리미팅과 스로톨링 구현 -210
6.3 보안 강화 -211
6.3.1 보안 요구 사항을 다른 요구 사항과 동일하게 다루기 -211
6.3.2 설계 시 보안 통합 -211
6.3.3 접근 권한은 최소한만 승인 -211
6.3.4 계정, 구독, 테런트 분리해서 사용하기 -211
6.3.5 모든 비밀정보를 안전하게 저장 -212
6.3.6 데이터 난독화하기 -212
6.3.7 일시적으로 데이터 암호화하기 -212
6.3.8 연합 ID 관리 사용하기 -212
6.3.9 RBAC 사용하기 -213
6.3.10 쿠버네티스 파드 격리하기 -213
6.4 데이터 다루기 -213
6.4.1 관리형 데이터베이스와 분석 서비스 사용하기 -213
6.4.2 데이터 요구 사항에 가장 잘 맞는 데이터스토어 사용하기 -214
6.4.3 데이터를 여러 리전과 존에 보관하기 -214
6.4.4 스케일을 위해 데티어 파티셔닝이나 복제 사용하기 -215
6.4.5 오버페칭과 chatty I/O를 회피하기 -215
6.4.6 데이터베이스와 비즈니스 로직 분리하기 -215
6.4.7 실서비스와 유사한 데이터로 테스트하기 -215
6.4.8 일시적인 장애 처리하기 -216
6.5 성능과 확장성 -216
6.5.1 스케일아웃 가능하게 상태가 없도록 서비스 설계하기 -216
6.5.2 플랫폼의 오토스케일링 기능 이용하기 -216
6.5.3 캐시 사용하기 -217
6.5.4 서비스 한계를 넘어서 확장할 수 있게 파티셔닝 사용하기 -217
6.6 함수 -218
6.6.1 함수를 단일 목적으로 작성하기 -218
6.6.2 함수를 연계하지 않기 -218
6.6.3 함수를 가볍고 단순하게 유지하기 -218
6.6.4 함수를 상태 없게 만들기 -218
6.6.5 함수 실행 시간 줄이기 -219
6.6.6 함수 실행 시간 줄이기 -219
6.6.7 함수 간 통신을 위해 큐를 사용하기 -219
6.7 운용 -219
6.7.1 배포와 출시는 별도의 행위 -219
6.7.2 배포를 작게 유지하기 -220
6.7.3 CI/CD 정의를 구성 요소에 함께 두기 -220
6.7.4 일관도니 애플리케이션 배포 -220
6.7.5 제로 다운타임 출시 사용 -220
6.7.6 배포한 인프라를 수정하지 않기 -221
6.7.7 컨테이너화된 빌드 사용하기 -221
6.7.8 코드로 인프라를 설명하기 -221
6.7.9 쿠버네티스에서 서비스를 구성하는 용도로 네임스페이스를 사용하기 -221
6.7.10 환경 격리 -221
6.7.11 함수 소스 코드 분리하기 -221
6.7.12 커밋과 배포를 연관시키기 -222
6.8 로깅, 모니터링, 알림 -222
6.8.1 통합 로깅 시스템 사용 -222
6.8.2 연관 ID 사용 -222
8.6.3 로그 항목에 컨텍스트 넣기 -223
8.6.4 공통 구조의 로깅 형식 -223
8.6.5 메트릭에 절적한 태그하기 -223
8.6.6 알림으로 인한 피로 방지 -223
8.6.7 KPI 정의하고 알림하기 -224
8.6.8 실서비스에서 지속적으로 테스트하기 -224
8.6.9 기본 메트릭으로 시작하기 -225
6.9 서비스 커뮤니케이션 -225
6.9.1 하위/상위 호환성 설계하기 -225
6.9.2 내부 세부 사항이 유출되지 않게 서비스 계약 정의 -226
6.9.3 비동기 통신 선호 -227
6.9.4 효율적인 직렬화 기법 사용하기 -227
6.9.5 무거운 부하와 트래픽 스파이크를 처리하기 위해 큐와 스트림 사용 -227
6.9.6 효율성을 위한 일괄 처리 -228
6.9.7 큰 메시지 분리하기 -228
6.10 컨테이너 -228
6.10.1 신뢰성 있는 저장소에 이미지 저장하기 -228
6.10.2 도커 빌드 캐시 활용하기 -228
6.10.3 컨테이너를 Privileged 모드로 실행하지 않기 -229
6.10.4 명시적인 컨테이너 이미지 태그를 사용하기 -229
6.10.5 컨테이너 이미지를 작게 유지하기 -229
6.10.6 하나의 컨테이너에 하나의 애플리케이션 실행하기 -230
6.10.7 신뢰성 있는 저장소의 검증된 이미지를 사용하기 -230
6.10.8 이미지에 취약점 검색 도구 사용하기 -231
6.10.9 컨테이너에 데이터를 저장하지 않기 -231
6.10.10 이미지 내부에 비밀정보나 설정을 절대 저장하지 않기 -231
6.11 마치며 -232

CHAPTER 7 이식성
7.1 왜 애플리케이션을 이식할 수 있게 만드는가? -233
7.2 이식성 비용 -234
7.2.1 데이터 중력과 이식성 -235
7.3 이식성을 언제, 어떻게 구현할 것인가? -236
7.3.1 인터페이스 표준화하기 -237
7.3.2 공통 서비스와 기능 -238
7.3.3 추상화와 레이어 -239
7.3.4 다른 벤더들의 관리형 서비스 -241
7.3.5 이식성 도구 -242
7.3.6 이식성 레이어로서의 쿠버네티스 -244
7.4 마치며 -748

찾아보기 -249