| 000 | 00000cam c2200205 c 4500 | |
| 001 | 000045951106 | |
| 005 | 20180821112033 | |
| 007 | ta | |
| 008 | 180820s2018 ggka b 001c kor | |
| 020 | ▼a 9791196203733 ▼g 93000 | |
| 035 | ▼a (KERIS)BIB000014861954 | |
| 040 | ▼a 241050 ▼c 241050 ▼d 241050 ▼c 241050 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 082 | 0 4 | ▼a 005.133 ▼2 23 |
| 085 | ▼a 005.133 ▼2 DDCK | |
| 090 | ▼a 005.133 ▼b 2018z3 | |
| 100 | 1 | ▼a Long, Josh |
| 245 | 1 0 | ▼a 클라우드 네이티브 자바 : ▼b 스프링 마이크로서비스 아키텍처와 데브옵스를 실천하는 클라우드 기반 서비스의 모든 것 / ▼d 조쉬 롱 외 지음 ; ▼e 정윤진 외 옮김 |
| 246 | 1 9 | ▼a Cloud native Java : ▼b designing resilient systems with Spring Boot, Spring Cloud, and Cloud Foundry |
| 260 | ▼a 의왕 : ▼b 책만, ▼c 2018 | |
| 300 | ▼a 783 p. : ▼b 삽화 ; ▼c 24 cm | |
| 500 | ▼a 부록: A. 자바 EE와 스프링 부트, B. 한국어판 특별 부록 클라우드 파운드리 환경의 준비와 활용 | |
| 504 | ▼a 서지적 각주 및 색인수록 | |
| 546 | ▼a 영어로 된 원저작을 한국어로 번역 | |
| 700 | 1 | ▼a Bastani, Kenny, ▼e 저 |
| 700 | 1 | ▼a 정윤진, ▼e 역 |
| 700 | 1 | ▼a 오명운, ▼e 역 |
| 700 | 1 | ▼a 장현희, ▼e 역 |
| 900 | 1 0 | ▼a 롱, 조쉬, ▼e 저 |
| 900 | 1 0 | ▼a 바스타니, 케니, ▼e 저 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 세종학술정보원/과학기술실(5층)/ | 청구기호 005.133 2018z3 | 등록번호 151342446 (3회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
풀 사이클 개발자로 진화하고 싶은 엔터프라이즈 자바 개발자가 꼭 읽어야 할 클라우드 시대의 생존 지침서. 스프링 부트, 스프링 클라우드, 클라우드 파운드리를 이용한 다양한 예제를 통해 확장성 높은 마이크로서비스 아키텍처 설계와 데브옵스(DevOps), 애자일 개발의 진정한 실천 방법을 알려준다.
아마존, 넷플릭스, 엣시 같은 회사는 전통적인 대기업과 비교해 어떤 차이가 있을까? 아마존과 넷플릭스는 클라우드 네이티브 방식으로 서비스를 만들고 운영하면서 경쟁력을 유지하고 앞서갈 수 있었다. 이 책은 자바 개발자가 스프링 부트, 스프링 클라우드, 클라우드 파운드리를 이용해서 더 나은 소프트웨어를 더 빨리 개발할 수 있는 실용적인 가이드를 제공한다.
많은 기업이 이미 클라우드 컴퓨팅, 테스트 주도 개발, 마이크로서비스, 지속적 통합 및 전달로 소프트웨어 개발 방식을 전향하고 있다. 이 책을 읽다 보면 레거시 애플리케이션을 클라우드 네이티브 애플리케이션으로 전환하는 데 도움을 주는 도구와 방법론에 자연스럽게 흠뻑 빠져들게 될 것이다.
"자바 생태계에서 클라우드 네이티브 애플리케이션을 만드는 개발자라면 꼭 읽어야 할 필독서다. 회복력 있는(resilient) 서비스 제작, REST와 비동기 이벤트로 들어오는 데이터 흐름 관리, 테스트, 배포, 관측성(observability)과 관련된 핵심 작업까지 모든 것을 다루는 책이다."
- 대니얼 브라이언트 / 스펙토랩스(SpectoLabs) CTO
"클라우드 네이티브로의 여행을 떠나는 모든 이가 이 책에 담긴 정제된 통찰과 경험을 통해 많은 것을 배울 수 있다."
- 데이브 사이어 박사 / 스프링 프레임워크 기여자, 스프링 부트와 스프링 클라우드의 공동 설립자
* 기본: 클라우드 네이티브 사고 방식의 장점을 알아본다. 스프링 부트 애플리케이션을 설정하고 테스트하는 방법과 레거시 애플리케이션을 클라우드로 옮기는 방법을 설명한다.
* 마이크로서비스: 스프링을 활용해서 HTTP 기반 RESTful 서비스를 만들어본다. 요청을 분산 시스템에 적절히 라우팅하는 방법을 알아보고 관문 역할을 하는 엣지 서비스를 구축한다.
* 데이터 통합: 스프링 데이터 프레임워크를 활용해서 데이터를 관리하는 방법과, 이벤트 주도, 메시징 중심 아키텍처를 지원하는 스프링을 사용해서 분산 서비스를 통합하는 방법을 알아본다.
* 배포 및 운영: 관찰 가능한 시스템을 만드는 방법을 알아본다. 서비스 브로커를 이용해서 상태 유지 서비스와 연결해보고, 지속적 전달에 담긴 진정한 의미를 이해한다.
예제 코드, 연습 등 보충 자료는 http://github.com/Cloud-Native-Java에서 내려받을 수 있다.
[이 책의 구성]
1부 '기초'
1장 '클라우드 네이티브 애플리케이션'과 2장 '부트캠프: 스프링 부트와 클라우드 파운드리 소개'에서는 클라우드 네이티브 사고(thinking)의 필요성에 대해 살펴보고 스프링 부트와 클라우드 파운드리를 소개한다.
3장 '12요소 애플리케이션 설정'에서는 스프링 부트 애플리케이션을 설정하는 방법을 알아본다. 이 내용은 책 전반에 걸쳐 계속 나온다.
4장 '테스트'에서는 가장 단순한 컴포넌트에서 분산 시스템에 이르기까지 스프링 애플리케이션을 테스트하는 방법에 대해 알아본다.
5장 '애플리케이션 마이그레이션'에서는 일반적인 보통의 애플리케이션을 클라우드 파운드리와 같은 클라우드 플랫폼으로 이전하는 데 필요한 리팩토링을 가볍게 살펴보고, 여러분이 클라우드 플랫폼으로부터 필요한 가치를 얻을 수 있도록 도와줄 것이다.
2부 '웹 서비스'
6장 'REST API'에서는 스프링으로 RESTful HTTP 서비스를 만들어본다. 이 장에서 다루는 내용은 API 개발과 도메인 주도 개발에서 많이 사용된다.
7장 '라우팅'에서는 분산 시스템에서 요청(request)의 출입을 제어하는 일반적인 방법을 알아본다.
8장 '엣지 서비스'에서는 외부로부터의 요청을 받아들이는 첫 번째 관문 역할을 하는 서비스를 만드는 방법을 알아본다.
3부 '데이터 통합'
9장 '데이터 관리'에서는 스프링 데이터를 사용해서 스프링 애플리케이션에서 데이터를 관리하는 방법을 알아본다. 여기에서 다루는 내용은 도메인 주도 사고의 기초가 된다.
10장 '메시징'에서는 스프링의 이벤트 주도, 메시징 중심 아키텍처를 이용해서 분산 서비스와 데이터를 통합하는 방법을 알아본다.
11장 '배치 프로세스와 태스크'에서는 클라우드 파운드리 같은 클라우드 플랫폼의 확장성을 이용해서 오래 지속되는 작업부하를 처리하는 방법을 알아본다.
12장 '데이터 통합'에서는 분산 시스템에서 상태를 관리하는 몇 가지 방법을 알아본다.
4부 '운영 환경'
13장 '관측 가능한 시스템'에서는 관측성(observability)과 운영을 지원하는 시스템을 만드는 방법을 알아본다.
14장 '서비스 브로커'에서는 클라우드 파운드리 같은 플랫폼을 지원하는 서비스 브로커를 만드는 방법을 알아본다. 서비스 브로커는 메시지 큐, 데이터베이스, 캐시처럼 상태를 가진 서비스를 클라우드 플랫폼에 연결해준다.
15장 '지속적 전달'에서는 지속적 전달 뒤에 숨어있는 중요한 개념을 살펴본다. 이 책에서는 마지막 장에 해당하지만, 클라우드 네이티브를 향한 여러분의 여정에서는 출발점에 해당한다.
5부 '부록'
부록 A '자바 EE와 스프링 부트'에서는 스프링 부트 애플리케이션을 자바 EE 환경에 통합하는 방법을 살펴본다.
마지막으로, 한국어판 특별 부록 B '클라우드 파운드리 환경의 준비와 활용'에서는 클라우드 파운드리를 준비하고 애플리케이션을 배포하며 서비스를 준비하는 방법에 대해 알아본다.
[이 책의 독자 대상]
이 책은 스프링 부트, 스프링 클라우드와 클라우드 파운드리를 이용해서 더 나은 소프트웨어를 더 빠르게 만들고 싶어하는 자바/JVM 개발자를 주요 대상으로 한다. 마이크로서비스라는 용어에 대해 들어본 적이 있고, 하늘 높이 치솟는 스프링 부트의 인기를 느끼고 있으며, 오늘날 대부분의 기업들이 왜 클라우드 파운드리를 사용하는지 궁금하다면, 이 책은 바로 여러분을 위한 책이다.
정보제공 :
저자소개
조쉬 롱(지은이)
스프링 개발 애드버킷(Advocate)이자 <인포큐닷컴InfoQ.com>의 자바 큐 편집자이며, 『스프링 레시피 2판』(에이프레스)을 비롯한 여러 권의 책을 저술했다. 그는 더서버사이드 자바 심포지움(TheServerSide Java Symposium), 스프링원(SpringOne), 오스콘(OSCON), 자바존(JavaZone), 데복스(Devoxx), 자바투데이즈(Java2Days) 등 국제적인 여러 컨퍼런스에 발표자로 참여했다. 스프링 소스 코드 작업을 하지 않을 때는 지역 자바 사용자 그룹이나 커피 숍에 주로 머무른다. 기술의 한계를 극복할 수 있는 솔루션을 좋아하며, 관심 분야는 확장성, BPM(Business Process Management), 그리드 처리, 모바일 컴퓨팅, '스마트'라는 수식어를 달고 있는 다양한 시스템이다. 스프링 소스 블로그(blog.springsource.org)에 글을 쓰며, 개인 블로그(joshlong.com)도 운영 중이다.
케니 바스타니(지은이)
피보탈의 스프링 개발자 애드버킷이다. 오픈소스 기여자이자 블로거로서 그래프 데이터베이스에서 마이크로서비스까지 다양한 주제로 열정적인 개발자 커뮤니티에서 활동 중이며, 오스콘, 스프링원 플랫폼, GOTO와 같은 여러 컨퍼런스에 발표자로 정기적으로 참여한다. 개인 블로그(kennybastani.com)에서 소프트웨어 아키텍처에 대한 강좌와 이벤트 주도 마이크로서비스와 서버리스 아키텍처를 만드는 오픈 소스 예제를 볼 수 있다.
장현희(옮긴이)
지난 10여 년간 호주와 캐나다에서 시니어 엔지니어 및 스태프 엔지니어로 경험을 쌓았으며 현재는 프린시펄 소프트웨어 엔지니어(principal software engineer)로서 소프트웨어 개발은 물론 성공적인 엔지니어링 팀과 문화의 구축에 힘을 쏟고 있다. 지금까지 30권이 넘는 개발 관련서를 집필/번역하면서 책이라는 매개체로 멀리서나마 국내 개발자들과 꾸준히 소통하고 있으며 대표적인 번역서로는 『일 잘하는 엔지니어의 생각 기법』(책만, 2025) 『필독! 개발자 온보딩 가이드』(책만, 2023), 『딱 한 줄로! 파이썬 제대로 코딩하기』(책만, 2024), 『스태프 엔지니어』(길벗, 2022), 『SRE를 위한 시스템 설계와 구축』(한빛미디어, 2022), 『엔터프라이즈 데이터 플랫폼 구축』(책만, 2020), 『사이트 신뢰성 엔지니어링』(제이펍, 2018), 『클라우드 네이티브 자바』(책만, 2018) 등이 있다.
정윤진(옮긴이)
커널 및 드라이버 엔지니어로 경력을 시작해서 시스템 엔지니어를 지나 데브옵스를 거쳐 현재는 테크놀로지스트라는 생소한 일을 하고 있다. 카페24 연구소 초기 멤버로 각종 호스팅 서비스의 개발에 참여, 장단기 장애 해결과 일일 단위 문제 해결 등을 수행하다가, 알서포트에서 베어메탈과 AWS 기반의 글로벌 시스템을 한국, 일본, 미국과 유럽 등지에 구현했다. 이후 스파크 앤 어소시에이트에서 클라우드 스케일링 팀과 함께 애자일 기반으로 KT 클라우드 개발 및 국내 제조 회사의 사설 클라우드 개발에 참여했으며, 이후 아마존 웹 서비스의 솔루션 아키텍트로 활동하며 크고 작은 회사의 서비스의 클라우드 마이그레이션을 돕다가, 지금은 피보탈에서 일하고 있다.
오명운(옮긴이)
생태계에 조금이라도 보탬이 되려는 개발자. 개인 깃허브 페이지(https://github.com/Homo Efficio/dev-tips)에 잡다한 문제 해결 기록을 공유하고 있으며, 계단 오르기로 체력과 호흡을 개선하며 활력을 되찾고 있다. 네이버제트에서 제페토 서비스를 만들고 있다. 『OpenAPI와 스웨거를 활용한 실전 API 설계』(책만, 2023), 『실전 스프링 부트』(제이펍, 2023), 『스프링 부트 실전 활용 마스터』(책만, 2021), 『엔터프라이즈 데이터 플랫폼 구축』(책만, 2020) 등을 번역했으며, 적은 양이라도 꾸준히 번역 작업을 이어갈 생각이다.
목차
[1부 기초]
1장 클라우드 네이티브 애플리케이션
아마존 사례
플랫폼의 약속
패턴
확장성
신뢰도
애자일성
넷플릭스 사례
__마이크로서비스
__일체형 쪼개기
__넷플릭스 OSS
__클라우드 네이티브 자바
12요소 방법론
__코드베이스
__의존 관계
__설정__지원 서비스
__빌드, 릴리스, 실행
__프로세스
__포트 바인딩
__동시성
__처분성
__개발/운영 짝맞춤
__로그
__관리 프로세스
정리
2장 부트캠프: 스프링 부트와 클라우드 파운드리 소개
스프링 부트
스프링 이니셜라이저
스프링 툴 스위트 시작하기
__스프링 툴 스위트 설치
__스프링 이니셜라이저로 새 프로젝트 생성
스프링 가이드
__STS에서 스프링 가이드 따라하기
설정
클라우드 파운드리
정리
3장 12요소 애플리케이션 설정
혼동스러운 설정
스프링 프레임워크의 설정 지원
__설정 정보 이해를 위한 PropertyPlaceholderConfigurer 클래스
__Environment 추상화와 @Value
__프로파일
스프링 부트 방식의 설정
스프링 클라우드 설정 서버로 중앙 집중형 설정 사용하기
__스프링 클라우드 설정 서버
__스프링 클라우드 설정 클라이언트
__보안
새로고침 가능한 설정
정리
4장 테스트
테스트의 구성
스프링 부트 애플리케이션 테스트
통합 테스트
__테스트 슬라이스
__모의 기법 활용
__@SpringBootTest로 서블릿 컨테이너 설정
__슬라이스
전 구간 테스트
__분산 시스템 테스트
__컨슈머 주도 계약 테스트
__스프링 클라우드 컨트랙트
정리
5장 애플리케이션 마이그레이션
계약
애플리케이션 환경 마이그레이션
__바로 가져다 쓰는 빌드팩
__커스텀 빌드팩
__컨테이너화된 애플리케이션
애플리케이션을 클라우드로 옮기기 위한 가벼운 리팩토링
__지원 서비스 연동
__스프링을 이용한 서비스 짝맞춤
정리
[2부 웹 서비스]
6장 REST API
레너드 리차드슨의 성숙도 모델
스프링 MVC를 이용한 간단한 REST API
컨텐트 협상
__바이너리 데이터 읽고 쓰기
__구글 프로토콜 버퍼
에러 처리
하이퍼미디어
__미디어 타입과 스키마
API 버저닝
REST API 문서화
클라이언트
__편리한 REST 클라이언트 제품
__RestTemplate
정리
7장 라우팅
DiscoveryClient 추상화
클라우드 파운드리 라우트 서비스
정리
8장 엣지 서비스
Greetings 서비스
간단한 엣지 서비스
넷플릭스 페인
넷플릭스 주울을 통한 필터링과 프록시
__커스텀 주울 필터
엣지 서비스의 보안
OAuth
__서비스 쪽 애플리케이션
__HTML5와 자바스크립트 단일 페이지 애플리케이션
__사용자 없는 애플리케이션
__신뢰할 수 있는 클라이언트
스프링 시큐리티
스프링 클라우드 시큐리티
__스프링 시큐리티 OAuth 인가 서버
__Greetings 자원 서버 보안 조치
__OAuth 보안이 적용된 단일 페이지 애플리케이션 만들기
정리
[3부 데이터 통합]
9장 데이터 관리
데이터 모델링
__관계형 데이터베이스 관리 시스템
__NoSQL
스프링 데이터
__스프링 데이터 애플리케이션의 구조
__도메인 클래스
__리포지토리
__도메인 데이터를 위한 자바 패키지 구성
JDBC를 사용한 RDBMS 접근 시작해보기
스프링의 JDBC 지원
스프링 데이터 예제
스프링 데이터 JPA
__계정 서비스
__통합 테스트
스프링 데이터 몽고디비
__주문 서비스
__통합 테스트
스프링 데이터 네오포제이
__재고 서비스
__통합 테스트
스프링 데이터 레디스
__캐싱
정리
10장 메시징
스프링 인티그레이션을 사용한 이벤트 주도 아키텍처
__메시징 종단점
__간단한 컴포넌트에서 복잡한 시스템으로
메시지 브로커, 브릿지, 경쟁적 컨슈머 패턴, 이벤트 소싱
__발행-구독
__점대점
스프링 클라우드 스트림
__스트림 프로듀서
__스트림 컨슈머
정리
11장 배치 처리와 태스크
배치 작업
스프링 배치
__첫 번째 배치 작업
스케줄링
메시징을 사용한 스프링 배치 작업의 원격 파티셔닝
태스크 관리
프로세스 중심의 워크플로우 통합
메시징을 사용한 분산
정리
12장 데이터 통합
분산 트랜잭션
장애의 격리와 단계적 성능 저하
사가 패턴
CQRS
__불만 접수 API
__불만 접수 통계 API
스프링 클라우드 데이터 플로우
__스트림
__태스크
__REST API
__데이터 플로우 클라이언트
정리
[4부 운영 환경]
13장 관측 가능한 시스템
만들면 운영까지
마이크로서비스 살인 미스테리
12요소 운영
새로운 계약
관측성
푸시와 풀 기반의 관측성 차이와 분석
스프링 부트 액추에이터를 사용한 애플리케이션 현재 상태 수집하기
메트릭
/info 종단점을 사용해서 서비스 분별하기
정상동작 상태 확인
감사 이벤트
애플리케이션 로깅
__로그 출력의 지정
__로그 수준의 지정
분산 추적
__스프링 클라우드 슬루스로 실마리 찾기
__어느 정도의 데이터라야 충분할까
__오픈 집킨: 수천 개의 추적만큼 가치 있는 한 장의 사진
__그 밖의 플랫폼과 기술
대시보드
__히스트릭스 대시보드를 사용한 서비스 모니터링
__코드센트릭 스프링 부트 어드민
__오디나 마이크로서비스 대시보드
__피보탈 클라우드 파운드리의 앱스매니저
치유
정리
14장 서비스 브로커
지원 서비스의 수명 주기
플랫폼으로서의 관점
스프링 클라우드 클라우드 파운드리 서비스 브로커로 사용자 정의 서비스 브로커 구현하기
__간단한 아마존 S3 서비스 브로커
__서비스 카탈로그
__서비스 인스턴스의 관리
__서비스 바인딩
__서비스 브로커의 보호
배포
__보쉬를 이용한 릴리스
__클라우드 파운드리를 활용한 릴리스
아마존 S3 서비스 브로커 등록하기
아마존 S3 서비스 인스턴스 생성하기
__서비스 인스턴스 활용하기
S3 클라이언트 애플리케이션
전체적인 동작 확인하기
정리
15장 지속적 전달
지속적 통합을 넘어서
__플리커와 엣시의 존 알스포
__넷플릭스의 에이드리안 코크로프트
__아마존의 지속적 전달
파이프라인
테스트
마이크로서비스 환경에서의 지속적 전달
도구
__컨코스
__컨테이너
마이크로서비스의 지속적 전달
__컨코스 설치
__기본적인 파이프라인 디자인
__지속적 통합
컨슈머 주도 계약 테스트
__사용자 마이크로서비스의 파이프라인
데이터
운영 환경으로!
[5부 부록]
부록 A 자바 EE와 스프링 부트
부록 B [한국어판 특별부록] 클라우드 파운드리 환경의 준비와 활용
정보제공 :



