상세정보
미리보기
마이크로서비스 도입, 이렇게 한다
- 저자
- 샘 뉴먼 저/박재호 역
- 출판사
- 책만
- 출판일
- 2021-03-31
- 등록일
- 2023-03-13
- 파일포맷
- PDF
- 파일크기
- 12MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
모놀리스로 남을 것인가? 마이크로서비스로 진화할 것인가! 23가지 마이크로서비스 마이그레이션 패턴과 수많은 현장 사례를 통해 알아보는, 서두르지 않고 차근차근 모놀리스를 떠나기 위한 마이크로서비스 마이그레이션과 도입에 관한 모든 것!어떻게 하면 모놀리스 시스템의 엉킴을 풀고 마이크로서비스 아키텍처로 무사히 마이그레이션할 수 있을까? 어떻게 하면 비즈니스를 평상시처럼 운영하면서 안정적으로 마이그레이션할 수 있을까? 이 책은 기존 모놀리스 시스템에서 마이크로서비스 아키텍처로 전환하기 위한 증명된 기법을 상세히 설명한다. 수많은 실제 사례, 통찰력 있는 23가지 마이크로서비스 마이그레이션 패턴, 모놀리스에서 출발해 마이크로서비스 플랫폼으로 전환하기 위한 현실적인 조언 등을 담았으며, 초기 계획부터 애플리케이션과 데이터베이스 분해 과정까지 시종일관 성공적인 마이크로서비스 도입과 마이그레이션을 위한 여러 시나리오와 전략을 소개한다. 이 책에서 여러분은 기존 아키텍처를 마이그레이션하기 위한, 다수의 검증된 패턴과 기법을 배울 수 있다.
저자소개
전 세계에 걸쳐 여러 도메인에서 다양한 회사와 협력해온 개발자이자 아키텍트, 작가이자 연사다. 여러 스타트업과 소트웍스(ThoughtWorks)에서 12년 동안 일한 후, 요즘은 독립 컨설턴트로 활동한다. 마이크로서비스, 클라우드, 지속적 배포를 전문으로 하며, 전 세계 고객을 대상으로 훈련과 컨설팅을 통해 소프트웨어를 더 빠르고 더 안정적으로 배포하는 방법을 전파하고 있다. 세계적인 여러 컨퍼런스에서 발표한 유명 연사며, 『마이크로서비스 아키텍처 구축』(한빛미디어, 2017)을 집필했다.
새로운 기술이 급부상하는 시기가 아니라면, 이스트 켄트의 시골에서 다양한 형태의 스포츠를 즐기는 뉴먼을 만날 수 있을 것이다.
목차
[1장] 더도 덜도 아닌 딱 마이크로서비스마이크로서비스란 무엇인가?__독립적인 배포 가능성__비즈니스 도메인을 중심으로 하는 모델링__데이터 소유권 문제__마이크로서비스의 장점__마이크로서비스가 야기하는 문제점__사용자 인터페이스__기술__규모__소유권모놀리스__단일 프로세스 모놀리스__분산 모놀리스__외부 블랙박스 시스템__모놀리스의 문제점__모놀리스의 장점결합도와 응집력__응집력__결합도더도 덜도 아닌 딱 도메인 주도 설계__집계__경계 컨텍스트__집계와 경계 컨텍스트를 마이크로서비스에 매핑__더 읽을거리정리[2장] 마이그레이션 계획하기목표 이해하기__3가지 핵심 질문왜 마이크로서비스를 선택하려 하는가?__팀 자율성 향상__시장 출시 시간 단축__부하를 다루기 위한 비용 효율적인 확장__견고성 향상__개발자 수 늘리기__신기술 수용마이크로서비스는 어떤 경우에 나쁜 선택일까?__불분명한 도메인__스타트업__고객 설치형 소프트웨어와 관리형 소프트웨어__좋은 이유를 못 찾겠다!균형 조정사람들과 함께 여정을 떠나다조직 변화 구현__위기감 조성__혁신 추진체 구성__비전과 전략 수립__변화 비전 전달__광범위한 조치를 위한 직원의 자율권 강화__단기적인 성과 창출__이익 통합과 더 많은 변화 추구__혁신 문화의 정립점진적인 마이그레이션의 중요성__운영 환경은 중요하다변화에 드는 비용__가역적 결정과 비가역적 결정__실험을 시도해볼 만한 곳우리가 시작해야 할 지점은?도메인 주도 설계__작업 범위를 얼마나 넓게 잡아야 할까?__이벤트 스토밍__우선순위 지정을 위한 도메인 모델 사용결합된 모델팀 재구성하기__변화하는 구조__만병통치약은 없다__변화 일으키기__전문 기술 변경하기전환이 순조로운지 어떻게 확인할까?__정기 점검 사항__정량적인 측정__정성적인 측정__매몰 비용 오류 방지__새로운 방식에 마음을 열자정리[3장] 모놀리스 분할모놀리스를 그대로 둘 것인가, 바꿀 것인가?__잘라 내기, 복사 또는 재구현?__모놀리스 리팩터링마이그레이션 패턴패턴: 교살자 무화과 애플리케이션__작동 원리__적용 대상__사례: HTTP 리버스 프록시__데이터?__프록시 옵션__프로토콜 변경__사례: FTP__사례: 메시지 가로채기__그 밖의 프로토콜__교살자 무화과 패턴의 다른 예기능을 마이그레이션하는 동안 동작 방식 변경하기패턴: UI 컴포지션__사례: 페이지 컴포지션__사례: 위젯 컴포지션__사례: 마이크로 프론트엔드__적용 대상패턴: 추상화에 의한 분기__작동 원리__대체 메커니즘을 위한 분기 검증__적용 대상패턴: 병행 실행__사례: 신용파생 가격 비교__사례: 홈게이트 목록__검증 기법__스파이 사용__깃허브 사이언티스트__어둠의 출시와 카나리아 릴리스__적용 대상패턴: 협업자 데코레이터__사례: 멤버십 프로그램__적용 대상패턴: 변경 데이터 캡처__사례: 멤버십 카드 발급__변경 데이터 캡처 구현__적용 대상정리[4장] 데이터베이스 분해패턴: 공유 데이터베이스__패턴 다루기__적용 대상그러나 수행할 수 없다!패턴: 데이터베이스 뷰__공개된 계약으로서 데이터베이스__표현할 뷰__한계__소유권__적용 대상패턴: 데이터베이스 래핑 서비스__적용 대상패턴: 서비스로서 데이터베이스(DaaS) 인터페이스__매핑 엔진 구현__뷰와의 비교__적용 대상소유권 양도__패턴: 집계를 외부에 공개하는 모놀리스__패턴: 데이터 소유권 변경데이터 동기화패턴: 애플리케이션에서 데이터 동기화__1단계: 데이터 대량 동기화__2단계: 이전 스키마에서 읽고 쓰기를 동기화__3단계: 새 스키마에서 읽고 쓰기를 동기화__이 패턴을 사용하는 사례__적용 대상패턴: 예광탄 기록__데이터 동기화__사례: 스퀘어의 주문 처리__적용 대상데이터베이스 분리__물리적 데이터베이스 분리 vs 논리적 데이터베이스 분리데이터베이스를 먼저 분할할까, 아니면 코드를 먼저 분할할까?__데이터베이스를 먼저 분할__코드를 먼저 분할__데이터베이스와 코드를 함께 분할__그렇다면 무엇을 먼저 분할해야 할까?스키마 분리 사례패턴: 테이블 분할__적용 대상패턴: 외래 키 관계를 코드로 이동__조인 이동__데이터 일관성__적용 대상__사례: 공유 정적 데이터트랜잭션__ACID 트랜잭션__여전히 ACID이지만 원자성이 부족한가?__2단계 커밋__분산 트랜잭션? 그냥 아니라고 말하자사가 패턴__사가 실패 모드__사가 패턴 구현__사가와 분산 트랜잭션의 비교정리[5장] 마이크로서비스 도입 과정에서 직면하는 문제와 해법 서비스가 늘어날수록 고충도 커지게 마련규모에 맞는 소유권__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법기존 호환성을 깨뜨리는 파괴적 변경__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법리포팅__문제가 드러나는 시점__잠재적인 해법모니터링과 트러블슈팅__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법로컬에서 개발하는 동안 겪는 개발자 경험__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법너무 많은 것들을 실행__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법전 구간 테스트__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법전역 최적화와 지역 최적화 비교__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법견고성과 회복탄력성__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법외톨이 서비스__문제가 드러나는 방식__문제가 드러나는 시점__잠재적인 해법정리마치면서부록 A 참고문헌부록 B 패턴 목록부록 C 한국어판 특별 부록: 기술의 진화로 짚어보는 마이크로서비스 도입의 허와 실