마이크로서비스 [유연하고 확장 가능한 소프트웨어 아키텍처]
- 원서명Microservices: Flexible Software Architectures (ISBN 9781523361250)
- 지은이에버하르트 볼프(Eberhard Wolff)
- 옮긴이김영기
- ISBN : 9788960778986
- 35,000원
- 2016년 08월 30일 펴냄 (절판)
- 페이퍼백 | 460쪽 | 188*250mm
- 시리즈 : 소프트웨어 아키텍처
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
요약
이 책은 다양한 기술을 통해 구현 가능한 개념과 마이크로서비스 아키텍처를 소개한다. 구체적인 시나리오와 다양한 예제를 통해 마이크로서비스의 구현 방법을 배우게 될 것이다. 이 책은 마이크로서비스에 대한 전반적인 내용을 포함하고 있으며, 마이크로서비스를 이용한 개발 방법의 장점과 단점, 마이크로서비스 아키텍처와 서비스 지향 아키텍처의 비교, 마이크로서비스를 기반으로 하는 시스템 구조, 조직 관점의 마이크로서비스 아키텍처, 마이크로서비스와 나노서비스의 비교 등을 다룬다.
이 책에서 다루는 내용
■ 마이크로서비스 접근 방법의 장점과 단점
■ 마이크로서비스 vs. 서비스 지향 아키텍처(SOA)
■ 마이크로서비스 기반 시스템 아키텍처
■ 개별 마이크로서비스의 아키텍처
■ 마이크로서비스 아키텍처가 프로젝트 조직, 운영, 테스팅, 배포에 미치는 영향
■ 나노서비스
이 책의 대상 독자
이 책은 아키텍처적인 접근 방법으로 마이크로서비스를 도입하기 원하는 관리자, 아키텍트, 개발자를 위한 책이다.
관리자
마이크로서비스는 비즈니스가 마이크로서비스 아키텍처를 지원하기 위해 구성돼 있을 때 가장 잘 작동한다. 이 책의 도입부에서 관리자들은 마이크로서비스의 배경이 되는 기본적인 아이디어를 이해할 수 있다. 이후 관리자들은 마이크로서비스를 사용하는 조직적인 영향에 초점을 맞출 수 있다.
개발자
개발자에게는 기술적인 측면에 대한 포괄적인 소개가 제공되며, 마이크로서비스를 사용하는 데 필요한 기술을 습득할 수 있다. 다수의 추가적인 기술과 더불어 마이크로서비스의 기술적인 구현에 대한 상세한 예제(예를 들어, 나노서비스)는 기본적인 개념을 전달하는 데 도움이 될 것이다.
아키텍트
아키텍트는 아키텍처 측면에서 마이크로서비스를 이해할 수 있으며, 동시에 관련된 기술적 문제와 조직적 문제에 대해 더 깊이 이해할 수 있다. 이 책은 실험과 추가적인 정보 소스를 위해 가능한 분야를 강조한다. 그리고 이러한 것들은 새로운 지식을 테스트하고 관련된 주제를 더욱 깊이 탐구하는 데 관심 있는 독자들에게 실질적인 도움이 될 수 있다.
목차
목차
- 1장. 서문
- 1.1 마이크로서비스의 개요
- 1.2 왜 마이크로서비스인가
- 1부. 동기부여와 기본 사항
- 2장. 소개
- 2.1 이 책의 개요
- 2.2 이 책의 대상 독자
- 2.3 이 책에서 다루는 내용
- 2.4 에세이
- 2.5 이 책을 읽는 방법
- 2.6 감사의 글
- 3장. 마이크로서비스 시나리오
- 3.1 레거시 전자상거래 애플리케이션의 현대화
- 3.2 신규 신호 처리 시스템 개발
- 3.3 결론
- 2부. 마이크로서비스: 정의, 이유, 그리고 제안 사항
- 4장. 마이크로서비스란 무엇인가
- 4.1 마이크로서비스의 크기
- 4.2 콘웨이의 법칙
- 4.3 도메인 주도 설계와 제한 맥락
- 왜 정규 데이터 모델을 피해야 하는가(스테판 틸코브(Stefan Tilkov))
- 4.4 마이크로서비스와 UI
- 4.5 결론
- 5장. 마이크로서비스를 사용하는 이유
- 5.1 기술적인 혜택
- 5.2 조직적인 혜택
- 5.3 비즈니스 측면에서의 혜택
- 5.4 결론
- 6장. 마이크로서비스에 대한 도전 사항들
- 6.1 기술적인 도전 사항
- 6.2 아키텍처
- 6.3 인프라스트럭처와 운영
- 6.4 결론
- 7장. 마이크로서비스와 SOA
- 7.1 SOA는 무엇인가
- 7.2 SOA와 마이크로서비스의 차이
- 7.3 결론
- 3부. 마이크로서비스 구현
- 8장. 마이크로서비스 기반 시스템 아키텍처
- 8.1 도메인 아키텍처
- 8.2 아키텍처 관리
- 8.3 아키텍처 조정 기법들
- 8.4 마이크로서비스 기반 시스템의 성장
- 종료 지점을 놓치지 않고, 어떻게 마이크로서비스의 침식을 방지하는가(라스 젠쉬(Lars Gentsch))
- 8.5 마이크로서비스와 레거시 애플리케이션
- 숨겨진 의존성(올리버 웨허런스(Oliver Wehrens))
- 8.6 이벤트 주도 아키텍처
- 8.7 기술 아키텍처
- 8.8 구성 및 조정
- 8.9 서비스 검색
- 8.10 로드 밸런싱
- 8.11 확장성
- 8.12 보안
- 8.13 문서화와 메타데이터
- 8.14 결론
- 9장. 마이크로서비스의 통합과 통신
- 9.1 웹과 UI
- 9.2 REST
- 9.3 SOAP와 RPC
- 9.4 메시징
- 9.5 데이터 복제
- 9.6 인터페이스: 외부 인터페이스와 내부 인터페이스
- 9.7 결론
- 10장. 개별 마이크로서비스의 구조
- 10.1 도메인 아키텍처
- 10.2 CQRS
- 10.3 이벤트 소싱
- 10.4 헥사고날 아키텍처
- 10.5 탄력성과 안정성
- 10.6 기술 아키텍처
- 10.7 결론
- 11장. 마이크로서비스와 마이크로서비스 기반 시스템의 테스팅
- 11.1 왜 테스트하는가
- 11.3 배포 위험 완화
- 11.4 전체 시스템의 테스팅
- 11.5 레거시 애플리케이션과 마이크로서비스의 테스팅
- 11.6 개별 마이크로서비스의 테스팅
- 11.7 고객 주도 계약 테스트
- 11.8 테스팅 기술 표준
- 11.9 결론
- 12장. 운영과 마이크로서비스의 지속적인 전달
- 12.1 마이크로서비스 운영과 관련된 문제들
- 12.2 로깅
- 12.3 모니터링
- 12.4 배포
- 통합 배포, 또는 분리 배포(예르크 뮬러)
- 12.5 통제
- 12.6 인프라스트럭처
- 12.7 결론
- 13장. 마이크로서비스 기반 아키텍처의 조직적인 효과
- 13.1 마이크로서비스의 조직적인 혜택
- 13.2 콘웨이의 법칙에 대한 대안적인 접근 방법
- 13.3 마이크로 아키텍처와 매크로 아키텍처
- 13.4 기술 리더십
- 13.5 데브옵스
- 마이크로서비스와 고전적인 IT 조직이 만나는 경우(알렉산더 허징필드(Alexander Heusingfeld))
- 13.6 고객에 대한 인터페이스
- 13.7 재사용 가능한 코드
- 13.8 조직에 대한 변경 없이도 마이크로서비스가 가능한가
- 13.9 결론
- 4부. 관련 기술
- 14장. 마이크로서비스 기반 아키텍처 예제
- 14.1 도메인 아키텍처
- 14.2 기본 기술
- 14.3 빌드
- 14.4 도커를 이용한 배포
- 14.5 Vagrant
- 14.6 도커 머신
- 14.7 도커 컴포즈
- 14.8 서비스 검색
- 14.9 통신
- 14.10 탄력성
- 14.11 로드 밸런싱
- 14.12 다른 기술들과 통합하기
- 14.13 테스트
- 아마존 클라우드의 JVM 기반 마이크로서비스에 대한 경험(샤샤 묄러링(Sascha Mo¨llering))
- 14.14 결론
- 15장. 나노서비스 기술
- 15.1 왜 나노서비스인가
- 15.2 나노서비스: 정의
- 15.3 아마존 람다
- 15.5 자바 EE
- 15.6 Vert.x
- 15.7 얼랭
- 15.8 세네카
- 15.9 결론
- 16장. 마이크로서비스를 어떻게 시작하는가
- 16.1 왜 마이크로서비스인가
- 16.2 마이크로서비스를 향한 길
- 16.3 마이크로서비스: 과대광고, 또는 현실
- 16.4 결론