마이크로서비스란 무엇이고 마이크로서비스가 필요한 이유
마이크로서비스 도입 시 주요 목표
(1) 개발
생산성 (테스트/배포 일정 단축 – 작은 단위로 개발되기
떄문에)
(2) 배포
유연성 (서비스 별로 스케줄을 수립할 수 있기 때문에 초단기 배포 가능)
(3) 정교한
확장성 (모노리틱과 달리 성능 확장이 필요한 서비스 별 리소스를 할당으로 비용 절감 가능)
상세내용은 아래 블로그 참조 (LG CNS)
http://blog.lgcns.com/1278 http://blog.lgcns.com/1281
마이크로서비스 도입 단계
(1) 마이크로서비스 아키텍처 이해 및 비즈니스 기술 목표 수립
(2) 서비스 도메인 분리 (DDD
책에 보시면 해운회사에서 서비스 도메인 분리한 예시 참조가능)
(3) 마이크로서비스 개발 디자인 패턴 확보 (마이크로서비스 개발 시 기존 모노리틱 개발에서 구현된 패턴을 새로운 방식으로 구성필요)
(4) 서비스 도메인 별 개발 기술요소 및 디자인 패턴 지정 (마이크로서비스 별로 DB, Queue, Scheduler, 개발언어, 라이브러리, 오픈소스 프로그램 등을 목적에 맞춰 선정)
Back End (REST API 기반의 Transaction 처리)와
Front End (UI 지원 다양성 및 테마, 표준화)분리
구조 결정
(5) 자동 CI/CD 도구
선정 및 구성, 개발/테스트/운영 서버 선정
(6) 대량 서비스, 다양한
서버 간의 서비스 라우팅, 확장성 확보를 위한 Gateway 기반
도입
(7) 운영환경 로그 및 모니터링을 위한 기술 요소 도입
(8) 영업홈페이지, 가격정책, Trial, 가입, 서비스
Provision, 과금, 고객 서비스 자동화 도구 개발 혹은 연계
(9) 지속적인 개선 (Agile)
- 개발한 서비스에 대한 운영 모니터링, 고객 피드백을 통한 계속적인 버전 업데이트
(10) 외부 개발자, 외부
사용자의 개발 참여를 위한 외부 API 선정 및 문서 제공 (Open
API)
<도서>
아래는 기술 아키텍처 수립을 목적으로 최근 기술 동향 검토를 위해 구입했던 도서 목록입니다. (첨부는 초기 고려 도서목록)
마이크로서비스 이해
[도서] 스프링 5.0 마이크로서비스 2/e : 스프링 부트와 스프링 클라우드, 스프링 리액티브로 배우는 에이콘출판사 31,500원 <- TIS 스터디 자료
[eBook] 마이크로서비스 아키텍처 구축 : 대용량 시스템의 효율적인 분산 설계 기법 [PDF] 한빛미디어 18,200원
도메인 설계 및 구현 패턴
[도서] 도메인 주도 설계 : 소프트웨어의 복잡성을 다루는 지혜 위키북스 1
1 34,200원
[도서] 서비스 디자인
패턴 Service Design Patterns : SOAP/WSDL과 RESTful 웹 서비스를 위한 핵심 디자인 해결책 에이콘출판사
31,500원
개발 언어/라이브러리
[도서] 모던 자바스크립트
개발자를 위한 리액트 프로그래밍 : Node.js와 리액트를 활용한 최신 프런트엔드/백엔드 프로그래밍 위키북스 25,200원
[도서] Node.js 마이크로서비스
코딩 공작소 : 마이크로서비스 아키텍처 설계와 구현, 장애
처리, 보안, 로그 수집,
배포까지 길벗 23,400원
배포 및 테스트, 운영 환경 구성
[도서] 데브옵스 2.0 툴킷 : 컨테이너화된 마이크로서비스로 지속적인 배포 파이프라인
자동화하기 에이콘출판사 36,000원