SlideShare a Scribd company logo
1 of 32
Download to read offline
마이크로서비스 어떻게
디자인 할 것인가?
Philip Youngtae Kim
Pivotal
Agenda
• Domain Driven Design
• AppTx 방법론
• MSA 관련 테크놀로지
• MSA 고려사항
Domain Driven Design
Domain-Driven Design (DDD)
“코드를 변경하는 권한을 가진 모든 사
람들은 코드를 통해 모델을 표현할 수
있도록 교육을 받아야 한다. 모든 개발
자는 필수적으로 현업 담당자와 협의를
해야만 한다.”
- Eric Evans, Domain-Driven Design
“일반적으로 Bounded Context 당 한 팀이 구성이 됩니다. 한 팀은 여러 개의 Bounded Context를 관리할 수 있으나 여러 팀
이 한 개의 Bounded Context를 관리하는 것은 매우 어렵습니다.” - Evans
Bounded Context
Aggregates
AGGREGATES는 단일 단위로
처리되어야 하는 도메인 객체들의
묶음입니다.
● 트랜잭션 영역
● Aggregate Root를 통해서만
외부 연결
Vaughn Vernon, Domain-Driven Design Distilled
이벤트 기반 아키텍처
AppTx 방법론
Event
Storming
2. Event Storm
Thin
Slice
3. “Thin Slice(s)” 선택
OKRs1. 목표 설정 (OKR)
Tested
Code
6. 테스트 완료 및 동작하는 코드 생성
Snap-E
5. Snap-E
API DATA
PUB / SUB EXT
STORIES UI RISKS
SERVICE A
Patterns
7. 재사용 가능한 패턴
Boris
4. “Boris” - 아키텍처 표현
거창하게..
Where to?
Objectives
Key Results
+
-
증가
감소%
#
올바른
방향으로
가고 있나?
AppTx
70 - 80%
OKRs
OKR Monitoring
Monitor by Status and Confidence
Event Storming
Simple Tools
할인
Event Storming (영화예매 샘플)
결제
극장
영화
선택
날짜
선택
상영관
선택
좌석
선택
결제
시작
신용카드
입력
결제
처리
결제
완료
예매
완료
!
도메인
이벤트
관련된 비즈니스 이벤트
“좌석 선택”, “티켓 예매 완료”
Aggregate
Brains
액션 수행 / 이벤트 생성
할인코드
입력
할인
처리
?
슬라이스
예매
시작
영화
결제
Bounded Context
예약
Boris Diagram
Service
마이크로서비스
결제 서비스
Queue
메세지 큐
“좌석 요청”
UI External
외부 시스템
연계
Service
Service Service
Service
Service
Ext
Ext
Q
Q
Q
UI
UI
Boris Diagram 샘플
Boris Diagram
아키텍처 표현 이벤트 플로우
마이크로서비스 API
시나리오 모델링 백로그 생성
SnapE
API
Data Source / Storage
UI Risks
Stories
Rabbit
MQ
REST / J
SON
CICS G
W
Other
Purchase H
istory
AdminUI
Dependent
On...
GET /purchases
GET /purchases
GET /purchases
SnapE 샘플
산출물 샘플
Event Storm
Boris
SnapE
Pivotal Tracker
© Copyright 2018 Pivotal Software, Inc. All rights reserved.
SnapE에서 도출된 요건은 Pivotal Tracker에서 관리
가 됩니다.
모든 팀원은 Tracker에 접근이 가능하고 현재 구현중
인 작업 상태를 실시간으로 확인이 가능합니다.
유저 스토리는 사용자에게 가치 있는 작업내용을 기반
으로 세분화된 형태로 만들어집니다.
유저 스토리는 높은 우선순위대로 위부터 차례대로 나
열됩니다.
사용자의 피드백을 자주 반영하기 위해 빈번한 주기로
릴리즈를 합니다.
릴리즈 파이프라인 자동화
코드 변경
빌드, 테스트, 배포 자
동화
바이너리 저장 스테이징 배포, UAT
운영 시스템 무중단 업
그레이드
샘플Tool
Gitlab ArtifactoryConcourse
Pivotal HA Services
(API기반)
가능한 여러 종류의 테스트
를 자동화하는 파이프라인을
빌드
자동화 된 프로세스
에 기반하여 다음 단
계의 환경으로 프로
모션
롤링 방식을 기반으로
무 중단 패치 및 업그
레이드
</>
12 factor를 반영하는 형
태의 코드
마이크로서비스 관련 패턴들
API Gateway, Edge
Server, BFFInverse Conway
Event Shunting
ACL, Context Mapping,
Strangler
Bridge, Router, Proxy,
Facade
Eventual Consistency,
Sagas, ESB >>
microservices
Cookbooks
재사용이 가능한 패턴은 문서화되어
다른 개발자들이 참조할 수 있게
합니다.
많은 기업들이 애플리케이션 변환을
위해 사용한 검증된 Playbooks와
Blueprints를 참조 합니다.
Selected
aggregate
2. To Boris
Selected
user story
3. To Snap-E
User story
breakdown
4. To story breakdown
5. To tested and
working code
Low-level design decisions:
1. Use Kafka as async interface for receiving job
orders
2. Define Job Order Event entity (data received)
3. Define REST API for job order lookup
...
App Nav + Modernization
Flow 1. From E.S.
6. To Cookbook of
Patterns
MSA 관련 테크놀로지
MSA 관련 기술
Microservice Architecture
1. API & API Gateway
2. Traffic / Routing / Discovery
3. Messaging
4. Data / Backing Services
5. Application Monitoring
6. Transactions
7. Security
8. Batch
9. Event Sourcing / CQRS
10. CI/CD
Platform Architecture
1. Platform Monitoring
2. Scaling
3. Patching & Upgrading
4. HA Architecture
5. DR Architecture
MSA 고려사항
국내 프로젝트 개요
● 국내 제조기업의 MES의 마이크로서비스 프로젝트
● Pivotal Application Transformation (AppTx) 서비스를 통한 서비스 도출 및
아키텍처 검증
Oracle DB
WebLogic
Schema
Application
Oracle DB
Pivotal Cloud Foundry
SchemaSchemaSchemaSchemaSchema
SchemaSchemaSchemaSchemaMicroservice
고려사항
● 마이크로서비스 자체가 목표가 아닌 얻고자 하는 Value에 포커스를 맞춰 MSA 디자인
● 지속적인 애플리케이션 업데이트와 배포를 감안
● 개발자들의 Learning Curve를 감안
○ 국내 개발자들은 DB SQL을 이용한 개발에 친숙 (예> Union, join, with, connected by)
○ 이벤트 기반 구현에 대한 개발자들의 생소함
● 마이크로서비스 운영에 대한 고민이 필요
○ DevOps와 플랫폼 필요
○ 마이크로서비스 분산환경에서의 트러블슈팅 노하우 필요
● 마이크로서비스 경험이 있는 마스터 필요
고맙습니다.
Philip Youngtae Kim
philipkim@pivotal.io

More Related Content

What's hot

4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기YongSung Yoon
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
도메인 주도 설계의 본질
도메인 주도 설계의 본질도메인 주도 설계의 본질
도메인 주도 설계의 본질Young-Ho Cho
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...Amazon Web Services Korea
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020Ji-Woong Choi
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XpressEngine
 
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들NAVER D2
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Amazon Web Services Korea
 
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...Amazon Web Services Korea
 
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)I Goo Lee.
 
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...Amazon Web Services Korea
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)Open Source Consulting
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon Web Services Korea
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20Amazon Web Services Korea
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링OpenStack Korea Community
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)Ji-Woong Choi
 

What's hot (20)

4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
도메인 주도 설계의 본질
도메인 주도 설계의 본질도메인 주도 설계의 본질
도메인 주도 설계의 본질
 
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...
[Games on AWS 2019] AWS 사용자를 위한 만랩 달성 트랙 | AWS에서 분산 서비스 거부 공격(DDoS)을 고민하지 않는 ...
 
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020[오픈소스컨설팅] 스카우터 사용자 가이드 2020
[오픈소스컨설팅] 스카우터 사용자 가이드 2020
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
 
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
[115]쿠팡 서비스 클라우드 마이그레이션 통해 배운것들
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
 
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
Cloud Migration 과 Modernization 을 위한 30가지 아이디어-박기흥, AWS Migrations Specialist...
 
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
한글과컴퓨터의 클라우드 마이그레이션, 거버넌스 그리고 모더나이제이션-박인재, AWS ISV SA Manager / 박상형, 한글과컴퓨터 I...
 
AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)AWS Aurora 운영사례 (by 배은미)
AWS Aurora 운영사례 (by 배은미)
 
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
엔터프라이즈 클라우드 마이그레이션 준비와 실행. 그리고, 클라우드 운영 모범 사례 공유-최지웅, 오픈소스컨설팅 CTO / 장진환, 스마일샤...
 
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
 
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
Amazon OpenSearch Deep dive - 내부구조, 성능최적화 그리고 스케일링
 
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
AWS 기반의 마이크로 서비스 아키텍쳐 구현 방안 :: 김필중 :: AWS Summit Seoul 20
 
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
 
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
[오픈소스컨설팅]Scouter 설치 및 사용가이드(JBoss)
 
Introduction to microservices
Introduction to microservicesIntroduction to microservices
Introduction to microservices
 

Similar to MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?

꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결VMware Tanzu Korea
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice ArchitectureYoonsung Jung
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축rockplace
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3uEngine Solutions
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)Software in Life
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetesNAVER D2
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) VMware Tanzu Korea
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)uEngine Solutions
 
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 Amazon Web Services Korea
 
Microservices
Microservices Microservices
Microservices 영기 김
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process uEngine Solutions
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017Amazon Web Services Korea
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sSeong-Bok Lee
 

Similar to MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가? (20)

꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
꿀밋업2탄_도메인 모델에 따른 데이터 분리 저장과 API 연결
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
Microservice Architecture
Microservice ArchitectureMicroservice Architecture
Microservice Architecture
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례 Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
 
Microservices
Microservices Microservices
Microservices
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process
 
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
마이크로서비스를 위한 AWS 아키텍처 패턴 및 모범 사례 - AWS Summit Seoul 2017
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 

More from VMware Tanzu Korea

꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가VMware Tanzu Korea
 
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...VMware Tanzu Korea
 
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례VMware Tanzu Korea
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례VMware Tanzu Korea
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개VMware Tanzu Korea
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...VMware Tanzu Korea
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인VMware Tanzu Korea
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 VMware Tanzu Korea
 
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)VMware Tanzu Korea
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinoneVMware Tanzu Korea
 
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트 Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트 VMware Tanzu Korea
 
클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정VMware Tanzu Korea
 

More from VMware Tanzu Korea (20)

꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
2018 Pivotal DevOps Day_DevOps 플랫폼 소개 및 데모 (Pivotal Application Service, Pivo...
 
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
2018 Pivotal DevOps Day_DevOps 플랫폼 팀 육성/운영 사례
 
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
2018 Pivotal DevOps Day_마이크로서비스 전환 방법론과 사례
 
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
2018 Pivotal DevOps Day_Pivotal 소개 및 세션 아젠다 소개
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
 
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵 클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
클라우드 네이티브 플랫폼의 미래 - Kubernetes 기반의 PCF 로드맵
 
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
굿 소프트웨어 컴퍼니로의 여정(Journey To Be a Good Software Company)
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트 Spring Project와 최신 Pivotal Cloud Foundry 업데이트
Spring Project와 최신 Pivotal Cloud Foundry 업데이트
 
Netflix MSA and Pivotal
Netflix MSA and PivotalNetflix MSA and Pivotal
Netflix MSA and Pivotal
 
클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정클라우드 네이티브로의 전환을 위한 여정
클라우드 네이티브로의 전환을 위한 여정
 
Cloud native enterprise
Cloud native enterpriseCloud native enterprise
Cloud native enterprise
 
gp text roadmap presentation
gp text roadmap presentationgp text roadmap presentation
gp text roadmap presentation
 
GPCloud ( GP on PKS)
GPCloud ( GP on PKS)GPCloud ( GP on PKS)
GPCloud ( GP on PKS)
 
Gemfire Introduction
Gemfire Introduction Gemfire Introduction
Gemfire Introduction
 
Greenplum User Case
Greenplum User Case Greenplum User Case
Greenplum User Case
 
Greenplum Roadmap
Greenplum RoadmapGreenplum Roadmap
Greenplum Roadmap
 

MSA 전략 1: 마이크로서비스, 어떻게 디자인 할 것인가?

  • 1.
  • 2. 마이크로서비스 어떻게 디자인 할 것인가? Philip Youngtae Kim Pivotal
  • 3. Agenda • Domain Driven Design • AppTx 방법론 • MSA 관련 테크놀로지 • MSA 고려사항
  • 5. Domain-Driven Design (DDD) “코드를 변경하는 권한을 가진 모든 사 람들은 코드를 통해 모델을 표현할 수 있도록 교육을 받아야 한다. 모든 개발 자는 필수적으로 현업 담당자와 협의를 해야만 한다.” - Eric Evans, Domain-Driven Design
  • 6. “일반적으로 Bounded Context 당 한 팀이 구성이 됩니다. 한 팀은 여러 개의 Bounded Context를 관리할 수 있으나 여러 팀 이 한 개의 Bounded Context를 관리하는 것은 매우 어렵습니다.” - Evans Bounded Context
  • 7. Aggregates AGGREGATES는 단일 단위로 처리되어야 하는 도메인 객체들의 묶음입니다. ● 트랜잭션 영역 ● Aggregate Root를 통해서만 외부 연결
  • 8. Vaughn Vernon, Domain-Driven Design Distilled 이벤트 기반 아키텍처
  • 10. Event Storming 2. Event Storm Thin Slice 3. “Thin Slice(s)” 선택 OKRs1. 목표 설정 (OKR) Tested Code 6. 테스트 완료 및 동작하는 코드 생성 Snap-E 5. Snap-E API DATA PUB / SUB EXT STORIES UI RISKS SERVICE A Patterns 7. 재사용 가능한 패턴 Boris 4. “Boris” - 아키텍처 표현
  • 12. OKR Monitoring Monitor by Status and Confidence
  • 14.
  • 15. 할인 Event Storming (영화예매 샘플) 결제 극장 영화 선택 날짜 선택 상영관 선택 좌석 선택 결제 시작 신용카드 입력 결제 처리 결제 완료 예매 완료 ! 도메인 이벤트 관련된 비즈니스 이벤트 “좌석 선택”, “티켓 예매 완료” Aggregate Brains 액션 수행 / 이벤트 생성 할인코드 입력 할인 처리 ? 슬라이스 예매 시작 영화 결제 Bounded Context 예약
  • 16. Boris Diagram Service 마이크로서비스 결제 서비스 Queue 메세지 큐 “좌석 요청” UI External 외부 시스템 연계 Service Service Service Service Service Ext Ext Q Q Q UI UI
  • 18. Boris Diagram 아키텍처 표현 이벤트 플로우 마이크로서비스 API 시나리오 모델링 백로그 생성
  • 19. SnapE API Data Source / Storage UI Risks Stories Rabbit MQ REST / J SON CICS G W Other Purchase H istory AdminUI Dependent On... GET /purchases GET /purchases GET /purchases
  • 22. Pivotal Tracker © Copyright 2018 Pivotal Software, Inc. All rights reserved. SnapE에서 도출된 요건은 Pivotal Tracker에서 관리 가 됩니다. 모든 팀원은 Tracker에 접근이 가능하고 현재 구현중 인 작업 상태를 실시간으로 확인이 가능합니다. 유저 스토리는 사용자에게 가치 있는 작업내용을 기반 으로 세분화된 형태로 만들어집니다. 유저 스토리는 높은 우선순위대로 위부터 차례대로 나 열됩니다. 사용자의 피드백을 자주 반영하기 위해 빈번한 주기로 릴리즈를 합니다.
  • 23. 릴리즈 파이프라인 자동화 코드 변경 빌드, 테스트, 배포 자 동화 바이너리 저장 스테이징 배포, UAT 운영 시스템 무중단 업 그레이드 샘플Tool Gitlab ArtifactoryConcourse Pivotal HA Services (API기반) 가능한 여러 종류의 테스트 를 자동화하는 파이프라인을 빌드 자동화 된 프로세스 에 기반하여 다음 단 계의 환경으로 프로 모션 롤링 방식을 기반으로 무 중단 패치 및 업그 레이드 </> 12 factor를 반영하는 형 태의 코드
  • 24. 마이크로서비스 관련 패턴들 API Gateway, Edge Server, BFFInverse Conway Event Shunting ACL, Context Mapping, Strangler Bridge, Router, Proxy, Facade Eventual Consistency, Sagas, ESB >> microservices
  • 25. Cookbooks 재사용이 가능한 패턴은 문서화되어 다른 개발자들이 참조할 수 있게 합니다. 많은 기업들이 애플리케이션 변환을 위해 사용한 검증된 Playbooks와 Blueprints를 참조 합니다.
  • 26. Selected aggregate 2. To Boris Selected user story 3. To Snap-E User story breakdown 4. To story breakdown 5. To tested and working code Low-level design decisions: 1. Use Kafka as async interface for receiving job orders 2. Define Job Order Event entity (data received) 3. Define REST API for job order lookup ... App Nav + Modernization Flow 1. From E.S. 6. To Cookbook of Patterns
  • 28. MSA 관련 기술 Microservice Architecture 1. API & API Gateway 2. Traffic / Routing / Discovery 3. Messaging 4. Data / Backing Services 5. Application Monitoring 6. Transactions 7. Security 8. Batch 9. Event Sourcing / CQRS 10. CI/CD Platform Architecture 1. Platform Monitoring 2. Scaling 3. Patching & Upgrading 4. HA Architecture 5. DR Architecture
  • 30. 국내 프로젝트 개요 ● 국내 제조기업의 MES의 마이크로서비스 프로젝트 ● Pivotal Application Transformation (AppTx) 서비스를 통한 서비스 도출 및 아키텍처 검증 Oracle DB WebLogic Schema Application Oracle DB Pivotal Cloud Foundry SchemaSchemaSchemaSchemaSchema SchemaSchemaSchemaSchemaMicroservice
  • 31. 고려사항 ● 마이크로서비스 자체가 목표가 아닌 얻고자 하는 Value에 포커스를 맞춰 MSA 디자인 ● 지속적인 애플리케이션 업데이트와 배포를 감안 ● 개발자들의 Learning Curve를 감안 ○ 국내 개발자들은 DB SQL을 이용한 개발에 친숙 (예> Union, join, with, connected by) ○ 이벤트 기반 구현에 대한 개발자들의 생소함 ● 마이크로서비스 운영에 대한 고민이 필요 ○ DevOps와 플랫폼 필요 ○ 마이크로서비스 분산환경에서의 트러블슈팅 노하우 필요 ● 마이크로서비스 경험이 있는 마스터 필요