확장메뉴
주요메뉴


소득공제 PDF
미리보기 공유하기
eBook

클라우드 네이티브 자바

: 스프링 마이크로서비스 아키텍처와 데브옵스를 실천하는 클라우드 기반 서비스의 모든 것

[ PDF ]
리뷰 총점8.0 리뷰 1건 | 판매지수 108
정가
30,400
판매가
30,400(종이책 정가 대비 20% 할인)
구매 시 참고사항
{ Html.RenderPartial("Sections/BaseInfoSection/DeliveryInfo", Model); }
한 눈에 보는 YES24 단독 선출간
매월 1~7일 디지털머니 충전 시 보너스머니 2배 적립
★90일 대여점★ 이렇게 싸도 대여?
[READ NOW] 2022년 12월호
eBook 전종 10%할인+5%적립 무한발급 슈퍼쿠폰
쇼핑혜택
현대카드
1 2 3 4 5

품목정보

품목정보
출간일 2019년 02월 28일
이용안내 ?
  •  배송 없이 구매 후 바로 읽기
  •  이용기간 제한없음
  •  TTS 불가능
  •  저작권 보호를 위해 인쇄 기능 제공 안함
지원기기 크레마, PC(윈도우), 아이폰, 아이패드, 안드로이드폰, 안드로이드패드, 전자책단말기(일부 기기 사용 불가), PC(Mac)
파일/용량 PDF(DRM) | 31.47MB ?
ISBN13 9791196203788

이 상품의 태그

소개 책소개 보이기/감추기

풀 사이클 개발자로 진화하고 싶은 엔터프라이즈 자바 개발자가 꼭 읽어야 할 클라우드 시대의 생존 지침서!

스프링 부트, 스프링 클라우드, 클라우드 파운드리를 이용한 다양한 예제를 통해 확장성 높은 마이크로서비스 아키텍처 설계와 데브옵스(DevOps), 애자일 개발의 진정한 실천 방법을 알려준다.

"자바 생태계에서 클라우드 네이티브 애플리케이션을 만드는 개발자라면 꼭 읽어야 할 필독서다. 회복력 있는(resilient) 서비스 제작, REST와 비동기 이벤트로 들어오는 데이터 흐름 관리, 테스트, 배포, 관측성(observability)과 관련된 핵심 작업까지 모든 것을 다루는 책이다."
- 대니얼 브라이언트 / 스펙토랩스(SpectoLabs) CTO

"클라우드 네이티브로의 여행을 떠나는 모든 이가 이 책에 담긴 정제된 통찰과 경험을 통해 많은 것을 배울 수 있다."
- 데이브 사이어 박사 / 스프링 프레임워크 기여자, 스프링 부트와 스프링 클라우드의 공동 설립자

아마존, 넷플릭스, 엣시 같은 회사는 전통적인 대기업과 비교해 어떤 차이가 있을까? 아마존과 넷플릭스는 클라우드 네이티브 방식으로 서비스를 만들고 운영하면서 경쟁력을 유지하고 앞서갈 수 있었다. 이 책은 자바 개발자가 스프링 부트, 스프링 클라우드, 클라우드 파운드리를 이용해서 더 나은 소프트웨어를 더 빨리 개발할 수 있는 실용적인 가이드를 제공한다. 많은 기업이 이미 클라우드 컴퓨팅, 테스트 주도 개발, 마이크로서비스, 지속적 통합 및 전달로 소프트웨어 개발 방식을 전향하고 있다. 이 책을 읽다 보면 레거시 애플리케이션을 클라우드 네이티브 애플리케이션으로 전환하는 데 도움을 주는 도구와 방법론에 자연스럽게 흠뻑 빠져들게 된다.

* 기본: 클라우드 네이티브 사고 방식의 장점을 알아본다. 스프링 부트 애플리케이션을 설정하고 테스트하는 방법과 레거시 애플리케이션을 클라우드로 옮기는 방법을 설명한다.
* 마이크로서비스: 스프링을 활용해서 HTTP 기반 RESTful 서비스를 만들어본다. 요청을 분산 시스템에 적절히 라우팅하는 방법을 알아보고 관문 역할을 하는 엣지 서비스를 구축한다.
* 데이터 통합: 스프링 데이터 프레임워크를 활용해서 데이터를 관리하는 방법과, 이벤트 주도, 메시징 중심 아키텍처를 지원하는 스프링을 사용해서 분산 서비스를 통합하는 방법을 알아본다.
* 배포 및 운영: 관찰 가능한 시스템을 만드는 방법을 알아본다. 서비스 브로커를 이용해서 상태 유지 서비스와 연결해보고, 지속적 전달에 담긴 진정한 의미를 이해한다.

예제 코드, 연습 등 보충 자료는 http://github.com/Cloud-Native-Java에서 내려받을 수 있다.

목차 목차 보이기/감추기

[1부 기초]
1장 클라우드 네이티브 애플리케이션
아마존 사례
플랫폼의 약속
패턴
확장성
신뢰도
애자일성
넷플릭스 사례
__마이크로서비스
__일체형쪼개기
__넷플릭스 OSS
__클라우드 네이티브 자바
12요소 방법론
__코드베이스
__의존관계
__설정 __지원서비스
__빌드, 릴리스, 실행
__프로세스
__포트 바인딩
__동시성
__처분성
__개발/운영 짝맞춤
__로그
__관리프로세스
정리

2장 부트캠프: 스프링부트와 클라우드 파운드리 소개
스프링 부트
스프링 이니셜라이저
스프링 툴 스위트 시작하기
__스프링툴 스위트 설치
__스프링이니셜라이저로 새 프로젝트 생성
스프링 가이드
__STS에서스프링 가이드 따라하기
설정
클라우드파운드리
정리

3장12요소 애플리케이션 설정
혼동스러운 설정
스프링프레임워크의 설정 지원
__설정정보 이해를 위한 PropertyPlaceholderConfigurer 클래스
__Environment추상화와@Value
__프로파일
스프링 부트 방식의 설정
스프링클라우드 설정 서버로 중앙 집중형 설정 사용하기
__스프링클라우드 설정 서버
__스프링클라우드 설정 클라이언트
__보안
새로고침 가능한 설정
정리

4장테스트
테스트의 구성
스프링 부트 애플리케이션 테스트
통합 테스트
__테스트슬라이스
__모의기법 활용
__@SpringBootTest로서블릿 컨테이너 설정
__슬라이스
전 구간 테스트
__분산시스템 테스트
__컨슈머주도 계약 테스트
__스프링클라우드 컨트랙트
정리

5장애플리케이션 마이그레이션
계약
애플리케이션 환경 마이그레이션
__바로가져다 쓰는 빌드팩
__커스텀빌드팩
__컨테이너화된애플리케이션
애플리케이션을 클라우드로 옮기기 위한 가벼운 리팩토링
__지원서비스 연동
__스프링을이용한 서비스 짝맞춤
정리

[2부 웹 서비스]
6장REST API
레너드 리차드슨의 성숙도 모델
스프링 MVC를 이용한간단한 REST API
컨텐트 협상
__바이너리데이터 읽고 쓰기
__구글프로토콜 버퍼
에러 처리
하이퍼미디어
__미디어타입과 스키마
API버저닝
RESTAPI 문서화
클라이언트
__편리한REST 클라이언트 제품
__RestTemplate
정리

7장라우팅
DiscoveryClient추상화
클라우드 파운드리 라우트 서비스
정리

8장엣지 서비스
Greetings서비스
간단한 엣지 서비스
넷플릭스 페인
넷플릭스 주울을 통한 필터링과 프록시
__커스텀주울 필터
엣지 서비스의 보안
OAuth
__서비스쪽 애플리케이션
__HTML5와자바스크립트 단일 페이지 애플리케이션
__사용자없는 애플리케이션
__신뢰할수 있는 클라이언트
스프링 시큐리티
스프링 클라우드 시큐리티
__스프링시큐리티 OAuth 인가 서버
__Greetings자원서버 보안 조치
__OAuth보안이적용된 단일 페이지 애플리케이션 만들기
정리

[3부 데이터 통합]
9장데이터 관리
데이터 모델링
__관계형데이터베이스 관리 시스템
__NoSQL
스프링 데이터
__스프링데이터 애플리케이션의 구조
__도메인클래스
__리포지토리
__도메인데이터를 위한 자바 패키지 구성
JDBC를사용한 RDBMS 접근 시작해보기
스프링의 JDBC 지원
스프링 데이터 예제
스프링 데이터 JPA
__계정서비스
__통합테스트
스프링 데이터 몽고디비
__주문서비스
__통합테스트
스프링 데이터 네오포제이
__재고서비스
__통합테스트
스프링 데이터 레디스
__캐싱
정리

10장메시징
스프링 인티그레이션을 사용한 이벤트 주도 아키텍처
__메시징종단점
__간단한컴포넌트에서 복잡한 시스템으로
메시지 브로커, 브릿지, 경쟁적 컨슈머 패턴, 이벤트 소싱
__발행-구독
__점대점
스프링 클라우드 스트림
__스트림프로듀서
__스트림컨슈머
정리

11장배치 처리와 태스크
배치 작업
스프링 배치
__첫번째 배치 작업
스케줄링
메시징을 사용한 스프링 배치 작업의 원격 파티셔닝
태스크 관리
프로세스 중심의 워크플로우 통합
메시징을 사용한 분산
정리

12장데이터 통합
분산 트랜잭션
장애의 격리와 단계적 성능 저하
사가 패턴
CQRS
__불만접수 API
__불만접수 통계 API
스프링 클라우드 데이터 플로우
__스트림
__태스크
__RESTAPI
__데이터플로우 클라이언트
정리

[4부 운영 환경]
13장관측 가능한 시스템
만들면 운영까지
마이크로서비스 살인 미스테리
12요소운영
새로운 계약
관측성
푸시와 풀 기반의 관측성 차이와 분석
스프링 부트 액추에이터를 사용한 애플리케이션 현재 상태 수집하기
메트릭
/info종단점을사용해서 서비스 분별하기
정상동작 상태 확인
감사 이벤트
애플리케이션 로깅
__로그출력의 지정
__로그수준의 지정
분산 추적
__스프링클라우드 슬루스로 실마리 찾기
__어느정도의 데이터라야 충분할까
__오픈집킨: 수천 개의 추적만큼 가치 있는 한 장의 사진
__그밖의 플랫폼과 기술
대시보드
__히스트릭스대시보드를 사용한 서비스 모니터링
__코드센트릭스프링 부트 어드민
__오디나마이크로서비스 대시보드
__피보탈클라우드 파운드리의 앱스매니저
치유
정리

14장서비스 브로커
지원 서비스의 수명 주기
플랫폼으로서의 관점
스프링 클라우드 클라우드 파운드리 서비스 브로커로 사용자 정의서비스 브로커 구현하기
__간단한아마존 S3 서비스 브로커
__서비스카탈로그
__서비스인스턴스의 관리
__서비스바인딩
__서비스브로커의 보호
배포
__보쉬를이용한 릴리스
__클라우드파운드리를 활용한 릴리스
아마존 S3 서비스브로커 등록하기
아마존 S3 서비스인스턴스 생성하기
__서비스인스턴스 활용하기
S3클라이언트애플리케이션
전체적인 동작 확인하기
정리

15장지속적 전달
지속적 통합을 넘어서
__플리커와엣시의 존 알스포
__넷플릭스의에이드리안 코크로프트
__아마존의지속적 전달
파이프라인
테스트
마이크로서비스 환경에서의 지속적 전달
도구
__컨코스
__컨테이너
마이크로서비스의 지속적 전달
__컨코스설치
__기본적인파이프라인 디자인
__지속적통합
컨슈머 주도 계약 테스트
__사용자마이크로서비스의 파이프라인
데이터
운영 환경으로!

[5부 부록]
부록 A자바EE와 스프링 부트
부록 B [한국어판 특별부록]클라우드파운드리 환경의 준비와 활용

저자 소개 (5명)

출판사 리뷰 출판사 리뷰 보이기/감추기

[이 책의 구성]
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 개발자를 주요 대상으로 한다. 마이크로서비스라는 용어에 대해 들어본 적이 있고, 하늘 높이 치솟는 스프링 부트의 인기를 느끼고 있으며, 오늘날 대부분의 기업들이 왜 클라우드 파운드리를 사용하는지 궁금하다면, 이 책은 바로 여러분을 위한 책이다.

[지은이의 말]
소프트웨어는 모두를 평등하게 한다. 소프트웨어는 코드를 통해 사람들에게 새로운 길을 제시하기도 한다. 소프트웨어는 고객에게 가치를 전달할 수 있으며, 사람들의 삶을 송두리째 바꾸기도 한다. 우리 책 『클라우드 네이티브 자바』의 한국어판이 출간된다니 영광이다. 더 많은 사람에게 수많은 길을 터주고 때로는 사람들의 삶을 바꾸는 소프트웨어를 만드는 데 이 책이 조금이라도 기여하기를 바란다. 이 책을 통해 여러분의 코드를 실 서비스로 배포하는 여행을 즐기기를!
- 조쉬 롱(Josh Long) / 『클라우드 네이티브 자바』 저자, 스프링 개발자 애드버킷

우리의 책 『클라우드 네이티브 자바』가 한국어로 번역되다니! 윤진과 명운 님, 현희 님, 한국의 번역팀에 감사한다. 클라우드 애플리케이션에서 사용되는 패턴은 이전과 유사한 것도 있고, 새로운 것들도 존재한다. 자바 스프링 개발자들이 클라우드 기반의 애플리케이션을 구현하는 데 어떤 점들을 살펴야 하는지 이 책에 담기 위해 노력했다. 확장성이란 단순히 서버의 숫자를 늘려갈 수 있음을 의미하는 것이 아니다. 더 많은 요청과 워크로드를 처리하기 위해 그에 적합한 기법들을 사용해야 한다. 이런 방법은 애플리케이션의 규모가 크건 작건 언제나 적용될 수 있어야 하며, 이를 통해 각자의 기능을 하는 신축성 있는 애플리케이션을 모아서 하나의 거대한 서비스를 이룰 수 있다. 지난 2016년 한국 방문에서 발표했던 책을 한글로 공개할 수 있게 되어 매우 기쁘며, 많은 스프링 사용자에게 도움이 되기를 바란다.
- 케니 바스타니(Kenny Bastani) / 『클라우드 네이티브 자바』 저자, 스프링 개발자 애드버킷

[옮긴이의 말]
“소프트웨어를 유지한다는 것은 ‘이전처럼 동작하게 하는 것'이 아니다. ‘변화하는 세상에서도 항상 유용하게 만드는 것’이다.” 스프링 부트 프로젝트의 리드인 피보탈의 필 웹(Phil Webb)은 스프링원 플랫폼 2017 발표(https://youtu.be/MQamx7-bCVI)에서 원자 이론학자 제시카 커(Jessica Kerr)의 말을 인용했다. 오늘날 웹 또는 모바일 기반의 서비스를 제공하는 대부분의 회사는 소프트웨어와 데이터를 다루는 능력, 그 자체가 곧 경쟁력이다. 아이디어를 동작하는 소프트웨어로 구현하고, 이 소프트웨어를 가능한 한 빨리 고객에게 전달해서 그 가치를 검증하는 일을 반복하는 것은 사업의 성패에 매우 중요하다.
필 웹은 그날 발표에서 스프링 프로젝트와 스프링 프레임워크가 발표된 해에 함께 출시된 노키아 6610의 전화기를 예로 들었다. 노키아 6610은 현재도 시장에서 구매할 수 있으며 심지어 수리도 가능하지만 오늘날 아무도 이 전화기를 쓰지 않는다. 대신, 모두가 더 많은 기능이 탑재된 최신 스마트폰을 사용한다. ‘전화기’에 대한 세상의 인식이 바뀌었기 때문이다. 이처럼 변화를 수용하지 못한 기기는 시장에서 외면을 받기 마련이다. 반면 스프링 프로젝트는 여전히 많은 서비스 애플리케이션에서 사용되고 있으며 심지어 최근에는 더욱 더 많은 사용자를 확보하는 중이다. 그 오랜 세월 동안 스프링은 꾸준히 시장의 변화를 반영해 왔기 때문이다. 이어서 필 웹은 스프링 부트 애플리케이션을 시작하고자 할 때 사용하는 스프링 이니셜라이저(http://start.spring.io)의 통계를 예로 들었다. 스프링 MVC에 적용된 다양한 뷰(View) 기술 중 타임리프(Thymeleaf)는 여전히 개발자들이 많이 사용하지만, 벨로시티(Velocity)의 경우는 그 사용량이 점점 줄어들다가 결국 사라졌다. 어느 시점에 스프링 이니셜라이저에서 이 벨로시티의 사용량이 제로가 된 이유는 스프링 팀에서 벨로시티를 더 이상 지원하지 않기로 결정했기 때문이다. 벨로시티 프로젝트는 더 이상 활발하게 진행되지 않고 업데이트가 이루어지지 않았기 때문에, 스프링 사용자들에게 안정성, 보안 등의 측면에서 악영향을 미칠수 있는 벨로시티를 제외했다는 것이다.
피보탈의 클라우드 파운드리 연구 개발 총괄인 온시 파쿠리(Onsi Fakuhouri)는 스프링원 플랫폼 2017 발표(https://youtu.be/_uB5bBsMZIk)에서 "우리가 개념적으로 설정한 목적지에 다다르는 과정은 상상에서처럼 올곧은 것이 아니라 수많은 난관과 어려움이 산재해 있으며, 그런 어려움을 모두 헤치고 막상 도착한 곳은 원했던 목적지가 아닐 수도 있다."고 말했다. 따라서 이런 거대한 위험을 안고 가는 것보다는, 관찰-선택-학습으로 이어지는 과정을 반복해야 한다고 덧붙였다. 우리가 초행길에서 목적지를 찾아 갈 때도 이런 방법을 적용해 볼 수 있다. 스마트폰에서 먼저 지도와 주변 지형을 살피고, 비교하고, 이동한다. 원하는 목적지에 더 빠르게 도달하려면 이 과정을 더 빠르게 반복할 수 있으면 된다.
스프링 프로젝트의 생존에서 우리는 온시가 말한 관찰-실행-학습의 반복 예를 살펴볼 수 있다. 스프링은 이 방법을 바탕으로 시장의 개발자들의 요구를 살피고, 이를 반영해서 그 결과를 관찰한다. 그 결과로 스프링 부트 프로젝트가 탄생했고, 스프링 클라우드 프로젝트가 탄생했다. 시장의 클라우드 기반 애플리케이션에 대한 요구는 더욱 더 강력해졌고, 이는 비단 더 높은 가용성 및 확장성뿐만 아니라 더 잦은 변화를 스프링 프레임워크에서 수용해야 함을 의미했다. 따라서 오늘날의 수많은 스프링 프로젝트는 시장의 변화에 대한 요구를 수용하고 적용했기 때문에 노키아 전화기가 처한 상황과는 다르게 성공적으로 살아남은 결과물인 것이다. 그리고 오늘도 다양한 스프링 프로젝트들이 이 과정을 반복하고 있다.
스프링 부트는 더 이상 우리가 XML 설정에 고통받지 않아도 되는 방법을 제공한다. 매번 반복해야 하는 동일한 설정은 스프링 부트 팀이 제공하고, 개발자들은 필요한 기능을 의존관계 주입을 통해 이전과는 다른 방법으로 사용할 수 있다. 이 외에도 스프링 부트는 ‘재사용성’을 기반으로 한 다양한 장점을 제공한다. 이에 더하여, 스프링 클라우드는 여러분이 클라우드 기반의 애플리케이션을 구현하고자 할 때, 이 분야에 이미 선도적인 애플리케이션을 만들고 있는 넷플릭스나 아마존이 사용하는 기술을 스프링 부트의 방법으로 사용할 수 있도록 제공한다. 누군가가 이미 해결한 어려운 문제를 풀 때, 스프링에 익숙한 개발자라면 넷플릭스가 사용하는 주요 개념을 거의 즉시 적용 가능한 것이다.
뿐만 아니라, 클라우드는 이전에 있어왔던 도구와 이전에는 없었던 도구들을 API 공개를 통해 사용할 수 있게 하는 능력을 제공한다. 오래전부터 있어왔던 관계형 데이터베이스는 예전처럼 서버에 운영팀이 설치해 주는 식으로 준비되지 않는다. 데이터베이스 생성을 위한 API를 사용하면, 개발자는 필요한 데이터베이스를 즉시 얻을 수 있다. 관계형 데이터베이스뿐만 아니라 최근에는 다양한 메시지 큐, NoSQL 데이터베이스, 머신러닝 도구, 데이터소스 간 데이터 이동 지원을 위한 다양하고도 새로운 도구들을 함께 지원한다. 이런 도구들을 개발자의 랩탑이나 데스크탑, 또는 서버에 매번 설치하는 것은 굉장히 어려운 일이다.
넷플릭스는 얼마 전, 풀 사이클 개발자(Full Cycle Developer)라는 개념을 자사의 기술 블로그에 발표했다(https://bit.ly/2k91j0b). 풀 사이클 개발자란 애플리케이션의 수명 주기 전체를 다룰 수 있는 개발자를 말한다. 소프트웨어 수명 주기는 디자인, 개발, 테스트, 배포, 운영, 지원의 흐름을 말한다. 거의 대부분의 조직에서, 하나하나의 단계는 전문가들이 자신의 분야만 다루는 형태로 팀을 조직한다. 이런 조직 문화에서는 그 앞단계나 뒷단계를 자신의 일이 아닌 것으로 취급하거나, 전문성이 없으므로 서로 관여하지 않는 문화로 발전한다. 서로 관여하지 않는 사람들, 팀들이 공통된 하나의 소프트웨어에 관여하는 방식은 소프트웨어를 유지하는 데 상당한 비용이 들며, 더욱이 소프트웨어의 필요성을 유지하는 데 매우 해로운 방법이다. 이에 반해 넷플릭스는 자사의 모든 개발자가 자신이 만든 코드를 스스로 운영할 수 있는 방법을 만들어 적용하고 있다. 즉 소프트웨어 수명 주기 전체를 개발자가 직접 관리하게 하는 것이다. 이것이 가능한 핵심 요인은 바로 개발자들에게 사용이 편리한 다양한 플랫폼 도구를 제공하는 것이다. 자신의 소프트웨어를 직접 운용할 때 필요한 관찰을 쉬운 모니터링으로 제공하고, 실행을 배포와 연결로서 지원하며, 로그와 로그의 분석을 통한 학습을 위한 도구를 제공하는 것이다. 그리고 클라우드 파운드리는 정확히 이 지점에 위치한다. 모니터링, 로깅, 배포와 애플리케이션의 운영 환경 제공을 통해 개발자들은 풀 사이클 개발자에 한걸음 더 가까워질 수 있을 것이다.
스프링 애플리케이션과 이 스프링 애플리케이션이 동작하는 클라우드 파운드리 환경의 조합을 통해, 여러분은 필 웹과 온시 파쿠리가 언급한 "시장의 변화에 적응하고, 언제나 필요한 애플리케이션으로 유지할 수 있는데 필요한 관찰-실행-학습의 반복"을 더욱 빠르게 실행할 수 있다. 클라우드 파운드리가 없어도 직접 서버를 설정하는 방법을 사용할 수 있겠지만, 이 방법이 클라우드 파운드리가 제공하는 방법보다 빨라지기 위해서는 아마도 수많은 별도의, 그리고 누군가는 이미 했던 일의 반복일 것이다. 이 시간에 스프링 애플리케이션 자체에 집중하는 것이, 여러분에게 더 도움이 되지 않을까 한다. 이 책 『클라우드 네이티브 자바』에서는 예전의 개발 방식에 익숙한 개발자들에게 '현 시대에 필요한 개념과 기술'을 스프링의 방법으로 제공할 것이다. 따라서 스프링에 익숙한 개발자라면, 빠른 속도로 현대 개발 기술을 습득할 수 있도록 돕는 역할을 수행하리라 믿는다.
이 책은 여러분의 소프트웨어가 항상 유용할 수 있도록, 변화를 수용할 수 있는 스프링 도구들을 소개한다. 이일민 님이 지은 『토비의 스프링』이 클라우드 시대 이전의 자바 개발자에게 스프링의 길을 열어준 책이라면, 이 『클라우드 네이티브 자바』는 클라우드가 기본인 시대에 필요한 기술을 스프링 개발자들에게 전달하는 입문서와 같은 책이다.
또한, 이 책에서는 클라우드 파운드리를 소개하며 여러분이 작성한 스프링 애플리케이션이 클라우드의 장점을 바탕으로 동작하는 환경을 제공하는 동시에, 스프링 애플리케이션에 필요한 다양한 서비스들을 즉시 준비해서 연결할 수 있는 방법을 설명한다. 애플리케이션과 데이터 서비스 간 사용하는 '바인딩(binding)'이라는 방법은, 개발자가 데이터소스에 대한 네트워크 정보나 인증 정보 등을 알 필요가 없도록 시스템에서 연결을 제공하는 것을 말한다. 즉 연결에 필요한 정보들은 시스템이 알아서 처리하게 하고, 개발자는 필요한 데이터소스의 이름만 알면 애플리케이션에 바인딩해서 사용할 수 있는 환경을 제공한다. 이것은 개발 편의만을 제공하는 것이 아니라, 클라우드 환경 위에서 언제든 생성되고 사라질 수 있는 정보의 취급 방법을 변경함으로써 확장성과 가용성을 높이는 방법이기도 하다.
아울러, 바인딩뿐만 아니라, 마이크로서비스 구현을 위한 기법들도 소개한다. 마이크로서비스에 관한 대부분의 첫 질문이 데이터의 분리에 관한 것인데, 9장, '데이터 관리'에서는 경계 지어진 컨텍스트를 바탕으로 일반적인 리테일 서비스의 데이터 구분 방법과, 각 데이터에 맞는 데이터 스토어 선택 방법을 스프링 코드와 함께 알려준다. 이 책에서 다루는 내용은 생각보다 매우 광범위하며, 저자들의 폭넓은 설명은 빠른 변화의 수용과 클라우드 기반 환경에서의 애플리케이션 구동에 필요한 내용을 전반적으로 아우른다. 독자들은 이 책 한 권만으로도 다른 수많은 서적을 별도로 읽어 취합해야 볼 수 있는 내용을 한꺼번에 둘러 볼 수 있으며, 필요한 경우에는 좀 더 알고자 하는 부분을 특정해서 서술하는 다른 책을 살펴보는 방식의 접근을 취할 수 있다.
"꼭 바꿔야 할 필요는 없다. 생존은 의무가 아니다." 이 역설적 표현은 시장에서의 생존이 각자의 선택이며, 시대의 변화에 따른 적응에 실패하는 것을 의미한다. 이 책은 변화하는 환경에 적응하고 생존하기에 관심이 있는 엔터프라이즈 스프링 개발자분들께 스프링 전문가들이 선사하는 최고의 선물일 것이다.
- 옮긴이 일동

90년대 후반, 2000년대 초반을 지나 개인 컴퓨터와 인터넷의 발달은 동시에 서버 시장과 서버 애플리케이션의 확산을 불러왔다. 이후 모바일 폭발로 불리는 현상이 스마트폰의 등장과 함께 발생하며, 폭발적으로 성장한 클라이언트 요청 규모를 처리가 가능한 클라우드가 등장했다. 이 새로운 환경에 적합한 애플리케이션을 만들면, 이 거대한 클라이언트 요청에 부합하여 전례없는 규모의 확장과 빠른 배포가 가능하다. 이 책은 자바 스프링 개발자들에게 이러한 확장과, 더 빠른 배포에 적합한 '클라우드 네이티브' 애플리케이션을 만드는 데 필요한 기술을 담고 있다. 클라우드에 관심 있는 엔터프라이즈 자바 개발자 분들에게 꼭 필요한 책이다.
- 정윤진

마이크로서비스라는 말을 들어본 지 5년이 넘은 것 같습니다. 작게 나누어 빨리 만들고 빨리 실패하고 빨리 진화시키는 일이 말처럼 쉬운 일은 아니지만 분명한 장점이 있기 때문에 많은 시행 착오에도 불구하고 꾸준히 시도되고 있습니다. 이제는 여기에서 한걸음 더 나아가 배포 환경을 클라우드로 가져가면서 데브옵스로의 전환이 시작되고 있습니다. 이 책은 클라우드 네이티브 개발의 A to Z와 같은 책으로서 개념 정리 및 상세한 예제를 통해 여러분을 클라우드 네이티브 개발의 세계로 이끌어 줄 것입니다.
- 오명운

마이크로서비스 아키텍처는 이제 클라우드 기반의 분산 환경을 기반으로 하는 애플리케이션 개발 분야에서 주류 아키텍처로 자리매김하고 있지만, 제대로 된 마이크로서비스 아키텍처를 구축하고 이를 기반으로 확장성 있는 애플리케이션을 개발하는 것은 결코 쉬운 일이 아닙니다. 저는 지금 약 5년째 마이크로서비스 기반의 애플리케이션을 C#으로 개발 중이지만, 이 책을 번역하면서 자바 개발자들에 대한 부러움에 몸서리를 칠 수밖에 없었습니다. 마이크로서비스를 구현하기 위해 필요한 모든 플랫폼이 준비된 환경이 제게도 허락되었다면 저의 지난 5년이 이처럼 어렵고 힘들지는 않았을 테지요. 이 책은 클라우드 네이티브 애플리케이션을 마이크로서비스 아키텍처를 기반으로 개발하고 운영하기 위해 필요한 정보를 폭넓게 다루는 효과적인 입문서입니다. 단순히 클라우드 파운드리라는 플랫폼의 소개를 넘어, 효율적이고 확장가능하며, 신뢰할 수 있고 스스로 회복할 수 있는 분산 애플리케이션 개발에 대한 기법과 노하우가 고스란히 담겨있는 이 책은, 마이크로서비스라는 바다를 항해하는 데 꼭 필요한 길잡이가 되어 줄 것입니다. 클라우드 및 분산 환경에 대한 저자들의 폭넓은 노하우와 전문성, 그리고 이에 뒤지지 않는 경험과 역량을 보유하신 역자분들의 노력이 결집된 이 책을 통해 마이크로서비스 아키텍처로의 첫 발을 자신있게 내딛으시기를 바랍니다.
- 장현희

eBook 회원리뷰 (1건) 리뷰 총점8.0

혜택 및 유의사항?
구매 클라우드 네이티브 자바 내용 평점4점   편집/디자인 평점4점 YES마니아 : 로얄 스타블로거 : 블루스타 하**랑 | 2019.09.14 | 추천1 | 댓글0 리뷰제목
우선 이책은 국내도서로도 맨처음 구매했습니다.출퇴근시에도 공부할려고 했는데, ebook으로도 출시되 과감히 ebook으로도 구매했습니다.ebook이 일단 좋은건, 책을 들고 다닐 필요없이 스마트기기만 있으면 어디에서도 볼수 있다는 장점이 있습니다.이 책을 볼때마다 느끼는 건 저자분의 열정이 느껴지는 거와 애자일 개발의 개념을 잡기에 이만한 책이 없다는 것입니다.출퇴근시에 공간;
리뷰제목

우선 이책은 국내도서로도 맨처음 구매했습니다.

출퇴근시에도 공부할려고 했는데, ebook으로도 출시되 과감히 ebook으로도 구매했습니다.

ebook이 일단 좋은건, 책을 들고 다닐 필요없이 스마트기기만 있으면 어디에서도 볼수 있다는 장점이 있습니다.

이 책을 볼때마다 느끼는 건 저자분의 열정이 느껴지는 거와 애자일 개발의 개념을 잡기에 이만한 책이 없다는 것입니다.

출퇴근시에 공간의 제약을 받지않고 볼수 있을 것 같습니다. 

댓글 0 1명이 이 리뷰를 추천합니다. 공감 1

한줄평 (1건) 한줄평 총점 8.0

혜택 및 유의사항 ?
구매 평점4점
열심히 볼께요 감사합니다.
이 한줄평이 도움이 되었나요? 공감 0
YES마니아 : 로얄 하**랑 | 2019.09.14
뒤로 앞으로 맨위로 aniAlarm