이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
클라우드 네이티브 스프링
클라우드 플랫폼을 위한 자바 마이크로서비스
베스트
프로그래밍 언어 top100 4주
가격
35,000
10 31,500
YES포인트?
1,750원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요
배송안내
서울특별시 영등포구 은행로 11(여의도동, 일신빌딩) 변경
배송비?
무료

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

이 분야의 이벤트

책소개

목차

1장. 클라우드 네이티브 소개
__클라우드 네이티브가 필요한 이유
__클라우드 네이티브란?
____클라우드 플랫폼으로 이동
____클라우드 네이티브로 이동
____서버 리스로 이동
__클라우드 네이티브와 마이크로서비스
__클라우드 애플리케이션의 12가지 요소
____마이크로서비스 실행을 위한 서비스 생태계
__마이크로서비스 도입
____일체형 애플리케이션 변환
요약

2장. 첫 번째 클라우드 네이티브 애플리케이션
__개발 도구 설정
____IDE 선택
____인터넷 연결 설정
__개발 생명주기의 이해
____요구 사항/사용자 스토리
____아키텍처
____설계
____테스트와 개발
____구축과 배포
__프레임워크 선택
____드롭위자드
____버텍스
____스프링 부트
__product 서비스 작성
____메이븐 프로젝트 생성
____스프링 부트 애플리케이션 클래스 작성
____서비스 및 도메인 객체 작성
____서비스 실행
____브라우저에서의 서비스 테스트
____배포본 생성
__기본적인 클라우드 네이티브 기능 추가
____구성 외부화
____서비스 미터링(metering)
____서비스 등록과 검색
__요약

3장. 클라우드 네이티브 애플리케이션 설계
__트리오: REST, HTTP, JSON
__API의 발달과 유행
__API 게이트웨이의 역할
____API 게이트웨이의 장점
__애플리케이션 분리
____경계가 있는 컨텍스트/도메인 주도 설계
____업스트림 및 다운스트림 서비스 분류
____비즈니스 이벤트
__마이크로서비스 식별
____마이크로서비스와 서비스지향 아키텍처의 차이점
____서비스 분류
__마이크로서비스 설계 지침
__디자인 및 배포 패턴
__마이크로서비스를 위한 데이터 아키텍처
____명령 조회 책임 분리
____데이터 복제
____목적에 맞춘 선택
__서비스 보안
__요약

4장. 클라우드 네이티브 애플리케이션 확장
__제품 조회 서비스 구현
____간단한 제품 테이블
____캐싱
____분산 캐시
____데이터 모델과 서비스를 분리하기 위해 CQRS 적용
__데이터 업데이트 서비스
____REST 규약
____유효성 검사와 오류 메시지
____CQRS 패턴의 데이터 업데이트 구현
____비동기 메시징
____골든 소스 업데이트
____데이터 업데이트 시 이벤트 발생
____쿼리 모델 업데이트
__요약

5장. 클라우드 네이티브 애플리케이션 테스트
__개발 전에 테스트 케이스 작성
____TDD
____BDD
__테스트 패턴
____A/B 테스트
____테스트 더블
__테스트 유형
____단위 테스트
____통합 테스트
____부하 테스트
____회귀 테스트
____코드 리뷰와 커버리지
__제품 서비스 테스트
____큐컴버를 이용한 BDD
____스프링 부트 테스트
____JaCoCo를 이용한 코드 커버리지
__요약

6장. 클라우드 네이티브 애플리케이션 배포
__배포 모델
____가상화
____PaaS
____Containers
____도커 이미지 빌드
__배포 패턴
____블루/그린 배포
____카나리아 배포
____은밀한 개시
____자동화를 위한 CI/CD 적용
__요약

7장. 클라우드 네이티브 애플리케이션 런타임
__런타임의 필요성
__참조 런타임 아키텍처 구현
____서비스 레지스트리
____컨피그 서버
____마이크로서비스의 프론트엔드
__쿠버네티스: 컨테이너 오케스트레이션
____쿠버네티스 아키텍처와 서비스
____Minikube
____쿠버네티스에서 product 서비스 실행
__서비스로서의 플랫폼
____PaaS의 사례
____클라우드 파운드리
____피보탈 클라우드 파운드리
__요약

8장. AWS 플랫폼에 배포
__AWS 플랫폼
__AWS 플랫폼의 배포 옵션
____Beanstalk에 스프링 부트 API 배포
____Amazon Elastic Container Registry에 컨테이너 이미지 푸시
____ECS에 스프링 부트 애플리케이션 배포
____AWS Lambda에 배포
__요약

9장. Azure 플랫폼에 배포
__Azure 플랫폼
__Azure 플랫폼의 배포 옵션
____Azure App Service에 스프링 부트 API 배포
____Azure Container Service에 도커 컨테이너 배포
____Azure Service Fabric에 스프링 부트 API 배포
____Azure Function
__요약

10장. 서비스 통합
__XaaS
__XaaS 구축 시의 주요 설계 고려 사항
__서드파티 API와의 통합
__요약

11장. API 디자인 모범 사례
__API 디자인
____API 리소스 식별
____API 설계 지침
__API 모델링
____Open API
____RESTful API 모델링 언어(RAML)
__API 게이트웨이 배포 모델
__요약

12장. 디지털 트랜스포메이션
__애플리케이션 포트폴리오
____포트폴리오 분석: 비즈니스 및 기술 요소
__일체형 애플리케이션을 분산형 클라우드 네이티브 애플리케이션으로 변경
____일체형 애플리케이션을 분산형 애플리케이션으로 변환
____고객 여정을 도메인 주도 디자인으로 매핑
____아키텍처 런웨이 정의
____개발자 빌드
____일체형 애플리케이션 분해
____변환 과정 정리
__자체 플랫폼 서비스 구축(제어 혹은 위임)
__요약

저자 소개 4

아제이 마하잔

관심작가 알림신청
 

Ajay Mahajan

위프로 테크놀로지의 특별 기술 위원(Distinguished Member of Technical Staff)이며, 현재 소매 부문 수석 기술자로 활동 중이다. 최근에는 고객이 차세대 소매 애플리케이션을 위해 클라우드 네이티브와 디지털 아키텍처를 도입할 수 있게 지원하는 일을 하고 있다. 유럽과 미국의 소매 및 금융 분야 고객들과 대규모 미션 크리티컬 시스템에서 일했으며, 19년간 자바 플랫폼을 사용하면서 넷스케이프 애플리케이션 서버부터 서블릿/JSP, JEE, 스프링, 최근의 클라우드 마이크로서비스에 이르기까지 엔터프라이즈 자바의 발전상을 지켜봤다.

무니쉬 쿠마르 굽타

관심작가 알림신청
 

Munish Kumar Gupta

비자(Visa)의 수석 시스템 설계자다. 인도 벵갈루루에서 살며, 일상 업무는 엄격한 비기능 요구 사항이 있는 애플리케이션을 위한 솔루션 아키텍처 설계, 성능 엔지니어링, 애플리케이션 인프라 관리, 엔터프라이즈에 도입하기 위한 최신 오픈소스 기술을 조사하는 것이다. 『Akka Essentials』(Packt, 2012)의 저자며, 소프트웨어 프로그래밍과 장인 정신에 매우 열정적이다. 기술 동향, 애플리케이션 성능 엔지니어링, Akka에 대한 블로그를 운영 중이다.

시암 순다르

관심작가 알림신청
 

Shyam Sundar

벵갈루루에 있는 위프로 테크놀로지의 수석 아키텍트로, 위프로의 이머징 테크놀로지 아키텍처(Emerging Technologies Architecture) 그룹에 속해 있다. 팀이 프로젝트에 새로운 기술을 도입할 수 있게 돕는 일을 한다. 주로 클라이언트 측과 클라우드 기술에 중점을 두며, 소프트웨어 장인 정신에 깊은 관심을 가진 평생 학습자다. 더 나은 개발 경험을 위해 끊임없이 새로운 도구와 기술을 실험하고 있다.
엔터프라이즈 자바 환경에서 오랫동안 일했다. CMS, 웹 오피스, 쿠버네티스 기반 GPU 플랫폼을 개발했으며, 지금은 OpenTelemetry 기반 모니터링 솔루션을 개발하고 있다.

박규태의 다른 상품

품목정보

발행일
2018년 11월 27일
쪽수, 무게, 크기
464쪽 | 188*235*22mm
ISBN13
9791161752457

출판사 리뷰

이 책에서 다루는 내용

- 가변성, 프로비저닝, 도구 지원 측면에서 클라우드 환경의 장점
- 클라우드에서 개발할 때 필요한 아키텍처 패턴 및 고려할 사항
- 요청 라우팅, RESTful 서비스 생성, 이벤트 소싱 등의 클라우드 네이티브 기술/패턴 사용법
- 마이크로서비스를 위한 도커 컨테이너 생성과 젠킨스를 이용한 지속적인 통합 환경 설정
- 컨테이너화를 위해 도커와 쿠버네티스 등의 도구 검토
- AWS와 Azure 전용 도구를 사용한 애플리케이션 설계, 개발, 배포, 관리 방법

이 책의 대상 독자

클라우드 기반 환경에 배포하기 위한 복원력 있고 견고하며, 확장성 있는 애플리케이션을 구축하려는 자바 개발자에게 유용하다. 자바, 스프링, 웹 프로그래밍, AWS 및 Azure 같은 공개 클라우드 플랫폼을 경험해봤다면 이 책을 충분히 이해할 수 있다.

이 책의 구성

1장. ‘클라우드 네이티브 소개’에서는 클라우드 네이티브 애플리케이션이 필요한 이유를 설명한다. 클라우드 플랫폼으로 이동하는 이유는 무엇인가? 클라우드 개발 및 배포가 일반 애플리케이션과 다른 이유는 무엇인가? 클라우드 애플리케이션의 12가지 요소는 무엇인가?
2장. ‘첫 번째 클라우드 네이티브 애플리케이션’에서는 애플리케이션을 마이크로서비스 방식으로 설계할 때의 핵심 개념을 설명한 후 이 책을 진행하면서 점점 살을 붙여 나갈 예제 프로젝트를 소개한다. 또한 마이크로서비스 애플리케이션 개발을 위해 스프링 부트를 사용하는 방법과 클라우드 네이티브 애플리케이션을 개발할 때 사용하는 마이크로서비스 원칙을 알아본다.
3장. ‘클라우드 네이티브 애플리케이션 설계’에서는 클라우드 네이티브 애플리케이션을 설계할 때 고려할 몇 가지 고급 아키텍처 문제를 다룬다. 여기에는 이벤트 기반 아키텍처, 코레오그래피를 이용한 디커플링, 경계가 있는 컨텍스트와 같은 도메인 주도 설계(DDD) 개념 등이 포함된다. 시스템 중심의 서비스 정의 대신, 클라우드에서 개발하고 고객 중심 API를 제공하는 데 필요한 아키텍처 패턴과 고려할 사항을 알아본다.
4장. ‘클라우드 네이티브 애플리케이션 확장’에서는 다양한 스택, 원칙, 지원 컴포넌트를 사용해 애플리케이션을 만드는 방법을 자세히 알아본다. 서비스 구현에 필요한 패턴을 다루며, 클라우드 개발에 상당한 영향을 미치는 오류 처리, CQRS, 캐싱 등의 다양한 측면을 설명한다.
5장. ‘클라우드 네이티브 애플리케이션 테스트’에서는 마이크로서비스를 테스트하는 방법과 행위 주도 개발에서의 테스트 작성 방법을 알아본다.
6장. ‘클라우드 네이티브 애플리케이션 배포’에서는 도커 컨테이너 배포를 위한 애플리케이션 패키징 방법, CI/CD 파이프라인을 설정하는 방법을 비롯한 마이크로서비스 배포 모델을 자세히 살펴본다.
7장. ‘클라우드 네이티브 애플리케이션 런타임’에서는 서비스 런타임을 다룬다. 구성 서버를 이용해 구성을 외부화하는 방법과 주울을 프론트엔드로 배치하는 방법을 알아보며, 피보탈 클라우드 파운드리에 관해 설명하고, PCF Dev에 서비스를 배포하는 방법을 알아본다. 컨테이너 오케스트레이션 또한 다룬다.
8장. ‘AWS 플랫폼에 배포’에서는 AWS 환경을 설명하고, 이전 장에서 설명한 개념(레지스트리, 구성, 로그 집계, 비동기 메시징)을 바탕으로 클라우드 개발을 하기 위한 AWS 고유의 도구를 설명한다.
9장. ‘Azure 플랫폼에 배포’에서는 Azure 환경을 설명하고, 클라우드 개발을 하기 위한 Service Fabric, Azure Functions 등의 Azure 고유의 도구를 설명한다.
10장. ‘서비스 통합’에서는 IaaS, PaaS, iPaaS, DBaaS를 비롯한 다양한 유형의 XaaS를 설명하고, 인프라 요소를 서비스로 노출하는 방법을 알아본다. 클라우드 네이티브 모드에서는 애플리케이션을 소셜 미디어 API나 PaaS API와 통합하거나 다른 애플리케이션에서 사용할 서비스를 호스팅할 수 있다. 또한 다른 외부 서비스를 연결해서 사용하거나 직접 서비스를 제공하는 방법을 설명한다.
11장. ‘API 디자인 모범 사례에서는 기능 지향적이고 세분화된 사용자 중심의 API를 설계하는 방법을 설명한다. 또한 API 수준 또는 서비스에서의 오케스트레이션 수행 여부, 무료 API 모델을 만드는 방법, 서비스가 채널에 구애받지 않도록 API 계층에서 채널과 관련된 문제를 해결하는 방법, 보안을 고려한 API 설계 등 API 설계에 대한 다양한 모범 사례를 설명한다.
12장. ‘디지털 트랜스포메이션’에서는 클라우드 개발이 기존 기업 환경에 미치는 영향과 클라우드를 이용해 디지털 엔터프라이즈로 성공적으로 전환하는 방법을 설명한다.

추천평

배포 다이어그램을 보면 방화벽 외부의 인터넷은 구름 모양으로 그려져 있다. 나는 니콜라스 카(Nicholas G. Carr)가 쓴 『Big Switch』(W. W. Norton & Company, 2013)를 읽고 난 후에야 비로소 클라우드의 잠재력과 앞으로 올 것이 무엇인지 깨달았다. 지난 10년을 빠르게 보낸 지금에 와서는 두 번 생각할 필요도 없이 클라우드가 어디에나 있다는 것을 표현하기 위해 전체 시스템을 감싸는 구름 모양을 그리게 됐다. 클라우드 네이티브는 스타트업에서는 클라우드 네이티브가 익숙하지만, 많은 기업에서는 여전히 미지의 영역이다. 대기업 대부분은 데이터 센터 비용을 줄이거나 임대를 연장하지 않기 위해 가장 먼저 하는 일이기는 하지만, 리프트 앤 시프트를 수행하는 것만으로 클라우드를 올바르게 사용할 수는 없다. 클라우드의 강점은 비즈니스에 중요한 역할을 하는 클라우드 네이티브 애플리케이션을 구축해서 혁신적인 가치를 창출할 수 있을 때 확인할 수 있다. 따라서 나는 우리 팀이 더 똑똑한 클라우드 애플리케이션을 설계하고 구축하기 위해 연구하게 격려해 왔다.

무니쉬(Munish), 아제이(Ajay), 시암(Shyam)은 비즈니스 문제를 해결하기 위한 신기술을 항상 연구하고 개발해온 핵심 팀의 일원이다. 이들은 마이크로서비스를 사용하는 분산 시스템, 리액티브 프레임워크, 오픈소스, 컨테이너 기술(도커와 쿠버네티스) 등의 신기술에 초점을 맞춰 엔터프라이즈 트랜스포메이션 분야를 선도하는 전문가 및 컨설턴트다. 따라서 나는 다음 세대의 개발자들이 클라우드 네이티브 애플리케이션 개발을 빠르게 시작할 수 있도록 이 책의 저술을 권했다.

이 책은 클라우드용 애플리케이션을 이해하고 설계하고 만드는 데 필요한 단계별 접근 방법을 사용한다. 저자들은 개념부터 시작해서 작은 REST 서비스를 구축하고, 이어서 클라우드 네이티브로 서비스를 개선하는 점진적인 방식으로 독자들을 이끈다. 분산 아키텍처에서 서비스를 검색하는 방법이나 서비스 검색 도구가 수행하는 역할과 같은 클라우드 특유의 다양한 측면을 다룬다. 애플리케이션을 AWS나 Azure 같은 공개 클라우드로 마이그레이션하는 방법을 배우고, AWS Lamda 및 Google Cloud Functions 같은 서버리스 컴퓨팅 모델도 다룬다. 이 책을 최대한 활용해 클라우드 환경에서의 애플리케이션 개발을 선도하길 바란다. - 하리 키산 부를리 (Hari Kishan Burle, 위프로 리미티드(Wipro Limited)의 부사장 겸 아키텍처 서비스 글로벌 책임자)

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.

31,500
1 31,500