SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Micro Service Architecture
적용하고 고생해 보니 이런 것들이 중요하더라
Agenda
MSA
왜? MSA에 관심을 가지시나요?
Micro Services Architecture
Google Trend
혹시 뒤쳐질까 두려워서?
고민하던 문제를 해결할 수 있지 않을까?
Micro Service Architecture?
빨리 개발하고, 빨리 적용하여
Time to Market 을 달성하게 할 수 있도록
소프트웨어의 구조를 단순하게 하는 방법 중 하나
Micro Service Architecture?
작은 기능 요소 들을
서비스 단위로 묶어서 배포
MSA 의 9가지 특징
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
MSA 의 9가지 특징
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
대형 시스템을 개발할 때
기술적 계층에 따라 조직을 구성하는
것에 비해,
MSA에서의 접근 방식은
“비즈니스 수행 능력”에 따라 구분된
서비스 단위로
조직을 구성함
Any organization that designs a system (defined broadly) will produce a design whose structure is a copy
of the organization's communication structure.
-- Melvyn Conway, 1967
분업화를 통한 전문화
재사용을 통한 생산성 향상
기업의 본원적인
2대 활동 원칙!
비즈니스 환경 변화에 능동적으로 대응하기
진짜 귀한 몸
Oracle
DBA님들
각 서비스 팀에
기술 구조를 선택하고 결정할 수 있는
권한이 있어야 함
MSA 의 9가지 특징
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
단일 플랫폼에 의한 표준화를 통한
중앙통제모델이 아닌,
각 서비스팀에서 독자적인
거버넌스를 수행하도록 함
플랫폼에 의한 표준화를 통해
전문성을 확보하고
사람"에의 의존성을 제거
Monolithic Architecture 의 장점
모니터링이 쉽다
SPOF
Polyglot or Multilingual
각 서비스파트에서 제공하는 서비스와
일 잘 어울리는 언어를 선택해서 사용
다른 언어도 자바만큼 잘 할 수 있는 사람
SI 환경에서 고객님으로 부터
이 모든 권한을 부여 받을 수 있을까?
http://deanwampler.github.io/polyglotprogramming/papers/PolyglotPolyParadigm.p
df
Any JVM language can be supported so each team can use the
language best suited to them.
The Groovy JVM language was chosen as our first supported
language. The existence of first-class functions (closures),
list/dictionary syntax, performance and debugability were all aspects
of our decision. Moreover, Groovy provides syntax comfortable to a
wide range of developers, which helps to reduce the learning curve for
the first language on the platform.
MSA 의 9가지 특징
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
각 서비스 영역에서
자신이 제공하는 서비스의 context에
따라
도메인 영역을 분리(논리적 분리)하고,
데이터의 성격에 맞는 적정한 DB를
선택함(물리적 분리)
Domain Driven Design – Bounded Context
회원은 주소를 여러 개 가질 수 있고,
주소가 같은 다른 회원이 존재할 수 있으므로
주소는 회원의 부가정보다.(도메인 핵심 정보
회원 주소 배송
하나의 배송 정보는 반드시 하나의 주소를 가
배송 한건에 여러 개의 주소를 가질 수 없음.
배송은 주소로 식별이 가능한 도메인 핵심정
회원 주소 배송
회원의 주소가 변경된다면 회원 정보는 즉시 반영(FK)되어야 하지
과거 배송 이력 정보가 변경이 되면 안됨
상품 주문배송
- 재고 - 결제
결제가 실패하면 재고가 하나 줄어 들었던 transaction을 rollback 해야 하는
서비스간 트랜잭션 처리
• 서비스 context 의 영역을 아주 잘 정의 해서 사용한다
• XA를 사용한다
• compensation transaction 을 사용한다
문을 열고, 코끼리를 넣고, 문을 닫는다
코끼리 보다 큰 냉장고를 만들어서 코끼리를 넣는다
코끼리를 미분해서 냉장고에 넣고, 냉장고 속에서 적분
실패를 통해서 경험을 축적해 나가야 하는데,
어느 정도의 사소한 장애를 감수하더라도,
지속적으로 시스템을 개선해 나갈 수 있는
권한을 보장 받는 것이 사실상 불가능
서비스간 트랜잭션 처리
• 서비스 context 의 영역을 아주 잘 정의 해서 사용한다
• XA를 사용한다
• compensation transaction 을 사용
API 를 조합하는 주체는 어디?
MSA 는 서비스 간의 협조를 중요하게 생각합니다.
M.F 는 여러 개의 간단한 기능(function)이 모여 하나의 서비스를 구성
여러 개의 기능을 모으는 녀석을 따로 모아 추상화를 할 수 있다면
밖에서 보이는 그림은 아주 깔끔한 모습이 될 수 있습니다.
성능
SPOF
복잡성 증가
복잡함을 해결하기 위해 시작했는데, 왠지 더 복잡해 지는 것 같다!
Trade off
모니터링
Governing
추상화
성능
복잡도 증가
SPOF
Scale
코드 중복 방지
Fault Tolerance Layer
https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance
API 의 버전 관리, 로드 밸런싱, 서비스 repository 에 대한 고민은
Netflix 의 Eureka 가 좋은 해답이 될 수 있습니다.
MSA 의 9가지 특징
• Componentization via Services
• Organized around Business Capabilities
• Products not Projects
• Smart endpoints and dumb pipes
• Decentralized Governance
• Decentralized Data Management
• Infrastructure Automation
• Design for failure
• Evolutionary Design
장애 없는 시스템은 없다!
http://techblog.netflix.com/2012/02/fault-tolerance-in-high-volume.html
Email
Notifiyer
SMS
Notifiyer
참고한 자료
• http://martinfowler.com/articles/microservices.html
• http://techblog.netflix.com/
• https://github.com/Netflix/Hystrix/wiki
• https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance
• http://deanwampler.github.io/
• http://bcho.tistory.com/
• Domain Driven Design
질문은 받지 않으렵니다.
굳이 하신다면…..

Weitere ähnliche Inhalte

Was ist angesagt?

MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스DoHyun Jung
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해Terry Cho
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기Jaewoo Ahn
 
Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1SeungHa Eom
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드Terry Cho
 
JBUG Korea 소개
JBUG Korea 소개JBUG Korea 소개
JBUG Korea 소개jbugkorea
 
모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106jSoboro
 
Os gi 기술교육
Os gi 기술교육Os gi 기술교육
Os gi 기술교육ymtech
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드Opennaru, inc.
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐Terry Cho
 
서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)Terry Cho
 
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅Open Source Consulting
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsuEngine Solutions
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐Terry Cho
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발Terry Cho
 
빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.xTerry Cho
 
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅Open Source Consulting
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oceuEngine Solutions
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented ArchitectureuEngine Solutions
 
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버JungWoon Lee
 

Was ist angesagt? (20)

MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스MSA를 이용해 구현하는 고가용/고확장성 서비스
MSA를 이용해 구현하는 고가용/고확장성 서비스
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기마이크로서비스 아키텍처로 개발하기
마이크로서비스 아키텍처로 개발하기
 
Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1
 
모바일 개발 트랜드
모바일 개발 트랜드모바일 개발 트랜드
모바일 개발 트랜드
 
JBUG Korea 소개
JBUG Korea 소개JBUG Korea 소개
JBUG Korea 소개
 
모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106모바일표준Fw 소개자료 20141106
모바일표준Fw 소개자료 20141106
 
Os gi 기술교육
Os gi 기술교육Os gi 기술교육
Os gi 기술교육
 
MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드MSA ( Microservices Architecture ) 발표 자료 다운로드
MSA ( Microservices Architecture ) 발표 자료 다운로드
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)서비스 지향 아키텍쳐 (SOA)
서비스 지향 아키텍쳐 (SOA)
 
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
4시간 안에 끝내는 AWS 클라우드 전환 및 운영 환경 구성_최지웅_오픈소스컨설팅
 
Open Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS SnapshotsOpen Cloud Engine PaaS Snapshots
Open Cloud Engine PaaS Snapshots
 
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
대용량 분산 아키텍쳐 설계 #4. soa 아키텍쳐
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발
 
빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x빠르게훓어보는 Node.js와 Vert.x
빠르게훓어보는 Node.js와 Vert.x
 
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
[오픈소스컨설팅]Data Center to cloud - 최지웅 컨설팅코치, 오픈소스컨설팅
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
Process Oriented Architecture
Process Oriented ArchitectureProcess Oriented Architecture
Process Oriented Architecture
 
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
클라우드와 마이크로 서비스를 위한 새로운 시대의 경량화 WAS - IBM WAS Liberty 서버
 

Andere mochten auch

Proms' portpolio ppt(~2014.2)
Proms' portpolio ppt(~2014.2)Proms' portpolio ppt(~2014.2)
Proms' portpolio ppt(~2014.2)함 건수
 
Nfc개발문서
Nfc개발문서Nfc개발문서
Nfc개발문서정인 주
 
05 카드터치 본인인증 소개서_한국nfc발표용-최종
05 카드터치 본인인증 소개서_한국nfc발표용-최종05 카드터치 본인인증 소개서_한국nfc발표용-최종
05 카드터치 본인인증 소개서_한국nfc발표용-최종D.CAMP
 
UNUS Big Data BEANs 소개서
UNUS Big Data BEANs 소개서 UNUS Big Data BEANs 소개서
UNUS Big Data BEANs 소개서 영민 최
 
NFC T-shirts Workshop
NFC T-shirts WorkshopNFC T-shirts Workshop
NFC T-shirts Workshop민균 김
 
한국Nfc nfc를 이용한 핀테크 서비스사례
한국Nfc   nfc를 이용한 핀테크 서비스사례한국Nfc   nfc를 이용한 핀테크 서비스사례
한국Nfc nfc를 이용한 핀테크 서비스사례승익 황
 
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015Lori MacVittie
 
NFC 기술과 서비스의 현재와 미래 전망
NFC 기술과 서비스의 현재와 미래 전망NFC 기술과 서비스의 현재와 미래 전망
NFC 기술과 서비스의 현재와 미래 전망성원 정
 
NFC의 과거 현재 미래
NFC의 과거 현재 미래NFC의 과거 현재 미래
NFC의 과거 현재 미래재식 전
 
NFC 기술의 공공부문 적용방향
NFC 기술의 공공부문 적용방향NFC 기술의 공공부문 적용방향
NFC 기술의 공공부문 적용방향Webometrics Class
 
201305_NFC와 RFID 기술성 검토 보고서_ETRI
201305_NFC와 RFID 기술성 검토 보고서_ETRI201305_NFC와 RFID 기술성 검토 보고서_ETRI
201305_NFC와 RFID 기술성 검토 보고서_ETRIYOO SE KYUN
 
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)승용 윤
 
Oh CSS! - 5 Quick Things
Oh CSS! - 5 Quick ThingsOh CSS! - 5 Quick Things
Oh CSS! - 5 Quick ThingsVishu Singh
 
영화와 함께하는 ICT 기술-창원대학교 과학영재교육원
영화와 함께하는 ICT 기술-창원대학교 과학영재교육원영화와 함께하는 ICT 기술-창원대학교 과학영재교육원
영화와 함께하는 ICT 기술-창원대학교 과학영재교육원Changwon National University
 
근덕보고(서울교대)
근덕보고(서울교대)근덕보고(서울교대)
근덕보고(서울교대)현진 김
 
우리기업의 영업비밀 피해 실태조사결과
우리기업의 영업비밀 피해 실태조사결과우리기업의 영업비밀 피해 실태조사결과
우리기업의 영업비밀 피해 실태조사결과특허청(KIPO)
 

Andere mochten auch (20)

Proms' portpolio ppt(~2014.2)
Proms' portpolio ppt(~2014.2)Proms' portpolio ppt(~2014.2)
Proms' portpolio ppt(~2014.2)
 
Nfc개발문서
Nfc개발문서Nfc개발문서
Nfc개발문서
 
05 카드터치 본인인증 소개서_한국nfc발표용-최종
05 카드터치 본인인증 소개서_한국nfc발표용-최종05 카드터치 본인인증 소개서_한국nfc발표용-최종
05 카드터치 본인인증 소개서_한국nfc발표용-최종
 
UNUS Big Data BEANs 소개서
UNUS Big Data BEANs 소개서 UNUS Big Data BEANs 소개서
UNUS Big Data BEANs 소개서
 
Nfc
NfcNfc
Nfc
 
NFC T-shirts Workshop
NFC T-shirts WorkshopNFC T-shirts Workshop
NFC T-shirts Workshop
 
한국Nfc nfc를 이용한 핀테크 서비스사례
한국Nfc   nfc를 이용한 핀테크 서비스사례한국Nfc   nfc를 이용한 핀테크 서비스사례
한국Nfc nfc를 이용한 핀테크 서비스사례
 
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
Architectural Patterns for Scaling Microservices and APIs - GlueCon 2015
 
NFC 기술과 서비스의 현재와 미래 전망
NFC 기술과 서비스의 현재와 미래 전망NFC 기술과 서비스의 현재와 미래 전망
NFC 기술과 서비스의 현재와 미래 전망
 
NFC의 과거 현재 미래
NFC의 과거 현재 미래NFC의 과거 현재 미래
NFC의 과거 현재 미래
 
NFC 기술의 공공부문 적용방향
NFC 기술의 공공부문 적용방향NFC 기술의 공공부문 적용방향
NFC 기술의 공공부문 적용방향
 
Nfc
NfcNfc
Nfc
 
201305_NFC와 RFID 기술성 검토 보고서_ETRI
201305_NFC와 RFID 기술성 검토 보고서_ETRI201305_NFC와 RFID 기술성 검토 보고서_ETRI
201305_NFC와 RFID 기술성 검토 보고서_ETRI
 
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
2016 Staccato track3 Android를 더 잘 개발하려면? (MVP, MVVM, Clean Architecture)
 
IRIS
IRISIRIS
IRIS
 
Oh CSS! - 5 Quick Things
Oh CSS! - 5 Quick ThingsOh CSS! - 5 Quick Things
Oh CSS! - 5 Quick Things
 
영화와 함께하는 ICT 기술-창원대학교 과학영재교육원
영화와 함께하는 ICT 기술-창원대학교 과학영재교육원영화와 함께하는 ICT 기술-창원대학교 과학영재교육원
영화와 함께하는 ICT 기술-창원대학교 과학영재교육원
 
근덕보고(서울교대)
근덕보고(서울교대)근덕보고(서울교대)
근덕보고(서울교대)
 
우리기업의 영업비밀 피해 실태조사결과
우리기업의 영업비밀 피해 실태조사결과우리기업의 영업비밀 피해 실태조사결과
우리기업의 영업비밀 피해 실태조사결과
 
9 안수혁
9 안수혁9 안수혁
9 안수혁
 

Ähnlich wie Micro Service Architecture(MSA) 탐방기

designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...uEngine Solutions
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSAVMware Tanzu Korea
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureHEECHEOL YANG
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가VMware Tanzu Korea
 
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
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservicesSeong-Bok Lee
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략Ji-Woong Choi
 
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
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사Open Source Consulting
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017Amazon Web Services Korea
 
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...Amazon Web Services Korea
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브Open Source Consulting
 
Cloud_Talent_Management
Cloud_Talent_ManagementCloud_Talent_Management
Cloud_Talent_ManagementAdam Park
 
Vinflux SCM 솔루션 적용 사례
Vinflux SCM 솔루션 적용 사례Vinflux SCM 솔루션 적용 사례
Vinflux SCM 솔루션 적용 사례고양뉴스
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2uEngine Solutions
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce exampleuEngine Solutions
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation WorkshopuEngine Solutions
 
PaaS를 이용한 No Ops 개발
PaaS를 이용한 No Ops 개발PaaS를 이용한 No Ops 개발
PaaS를 이용한 No Ops 개발Chiung Choi
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)uEngine Solutions
 

Ähnlich wie Micro Service Architecture(MSA) 탐방기 (20)

designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
클라우드 네이티브 IT를 위한 4가지 요소와 상관관계 - DevOps, CI/CD, Container, 그리고 MSA
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가꿀밋업1탄_왜_마이크로서비스인가
꿀밋업1탄_왜_마이크로서비스인가
 
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
 
Cloud migration pattern using microservices
Cloud migration pattern using microservicesCloud migration pattern using microservices
Cloud migration pattern using microservices
 
[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략[오픈소스컨설팅] 2019년 클라우드 생존전략
[오픈소스컨설팅] 2019년 클라우드 생존전략
 
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...
 
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
주 52시간 시대의 Agile_ 오픈소스컨설팅 한진규 이사
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
클라우드 마이그레이션을 통한 비지니스 성공 사례- AWS Summit Seoul 2017
 
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
변화와 혁신을 위한 클라우드 마이그레이션 – 김진우 AWS 어카운트 매니저, 이아영 네오위즈 가버너스팀 팀장, 박주희 우아한형제들 시스템신...
 
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
[열린기술공방] Container기반의 DevOps - 클라우드 네이티브
 
Cloud_Talent_Management
Cloud_Talent_ManagementCloud_Talent_Management
Cloud_Talent_Management
 
Vinflux SCM 솔루션 적용 사례
Vinflux SCM 솔루션 적용 사례Vinflux SCM 솔루션 적용 사례
Vinflux SCM 솔루션 적용 사례
 
Event storming based msa training commerce example v2
Event storming based msa training commerce example v2Event storming based msa training commerce example v2
Event storming based msa training commerce example v2
 
Event storming based msa training commerce example
Event storming based msa training commerce exampleEvent storming based msa training commerce example
Event storming based msa training commerce example
 
Event Storming and Implementation Workshop
Event Storming and Implementation WorkshopEvent Storming and Implementation Workshop
Event Storming and Implementation Workshop
 
PaaS를 이용한 No Ops 개발
PaaS를 이용한 No Ops 개발PaaS를 이용한 No Ops 개발
PaaS를 이용한 No Ops 개발
 
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
유엔진 오픈소스 클라우드 플랫폼 (uEngine Microservice architecture Platform)
 

Mehr von jbugkorea

Hawkular overview
Hawkular overviewHawkular overview
Hawkular overviewjbugkorea
 
미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기jbugkorea
 
기업, 통합, 마이크로서비스
기업, 통합, 마이크로서비스기업, 통합, 마이크로서비스
기업, 통합, 마이크로서비스jbugkorea
 
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링jbugkorea
 
Micro Service Architecture 탐방기
Micro Service Architecture 탐방기Micro Service Architecture 탐방기
Micro Service Architecture 탐방기jbugkorea
 
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축jbugkorea
 
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트jbugkorea
 
맛만 보자 Undertow
맛만 보자 Undertow맛만 보자 Undertow
맛만 보자 Undertowjbugkorea
 
맛만 보자 액터 모델이란
맛만 보자 액터 모델이란 맛만 보자 액터 모델이란
맛만 보자 액터 모델이란 jbugkorea
 
맛만 보자 Finagle이란
맛만 보자 Finagle이란 맛만 보자 Finagle이란
맛만 보자 Finagle이란 jbugkorea
 
Undertow 맛보기
Undertow 맛보기Undertow 맛보기
Undertow 맛보기jbugkorea
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introductionjbugkorea
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기jbugkorea
 
Wildfly 8.0에서 SOAP 웹 서비스 구현
Wildfly 8.0에서 SOAP 웹 서비스 구현Wildfly 8.0에서 SOAP 웹 서비스 구현
Wildfly 8.0에서 SOAP 웹 서비스 구현jbugkorea
 
Infinispan Data Grid Platform
Infinispan Data Grid PlatformInfinispan Data Grid Platform
Infinispan Data Grid Platformjbugkorea
 
Java 8 - A step closer to Parallelism
Java 8 - A step closer to ParallelismJava 8 - A step closer to Parallelism
Java 8 - A step closer to Parallelismjbugkorea
 
JBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformJBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring Platformjbugkorea
 

Mehr von jbugkorea (17)

Hawkular overview
Hawkular overviewHawkular overview
Hawkular overview
 
미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기미들웨어 엔지니어의 클라우드 탐방기
미들웨어 엔지니어의 클라우드 탐방기
 
기업, 통합, 마이크로서비스
기업, 통합, 마이크로서비스기업, 통합, 마이크로서비스
기업, 통합, 마이크로서비스
 
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
개발자가 인프라를 만났을때 - RHQ를 활용한 Legacy System 모니터링
 
Micro Service Architecture 탐방기
Micro Service Architecture 탐방기Micro Service Architecture 탐방기
Micro Service Architecture 탐방기
 
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
INFINISPAN non-clustering Spring4 WEB/MOBILE APP 구축
 
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
테스트 어디까지 해봤니? Arquillian을 이용한 Real Object 테스트
 
맛만 보자 Undertow
맛만 보자 Undertow맛만 보자 Undertow
맛만 보자 Undertow
 
맛만 보자 액터 모델이란
맛만 보자 액터 모델이란 맛만 보자 액터 모델이란
맛만 보자 액터 모델이란
 
맛만 보자 Finagle이란
맛만 보자 Finagle이란 맛만 보자 Finagle이란
맛만 보자 Finagle이란
 
Undertow 맛보기
Undertow 맛보기Undertow 맛보기
Undertow 맛보기
 
JBoss Community Introduction
JBoss Community IntroductionJBoss Community Introduction
JBoss Community Introduction
 
JBoss AS 7 따라잡기
JBoss AS 7 따라잡기JBoss AS 7 따라잡기
JBoss AS 7 따라잡기
 
Wildfly 8.0에서 SOAP 웹 서비스 구현
Wildfly 8.0에서 SOAP 웹 서비스 구현Wildfly 8.0에서 SOAP 웹 서비스 구현
Wildfly 8.0에서 SOAP 웹 서비스 구현
 
Infinispan Data Grid Platform
Infinispan Data Grid PlatformInfinispan Data Grid Platform
Infinispan Data Grid Platform
 
Java 8 - A step closer to Parallelism
Java 8 - A step closer to ParallelismJava 8 - A step closer to Parallelism
Java 8 - A step closer to Parallelism
 
JBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring PlatformJBoss Community's Application Monitoring Platform
JBoss Community's Application Monitoring Platform
 

Micro Service Architecture(MSA) 탐방기

  • 1.
  • 2.
  • 3. Micro Service Architecture 적용하고 고생해 보니 이런 것들이 중요하더라
  • 5. 왜? MSA에 관심을 가지시나요?
  • 6. Micro Services Architecture Google Trend 혹시 뒤쳐질까 두려워서? 고민하던 문제를 해결할 수 있지 않을까?
  • 7. Micro Service Architecture? 빨리 개발하고, 빨리 적용하여 Time to Market 을 달성하게 할 수 있도록 소프트웨어의 구조를 단순하게 하는 방법 중 하나
  • 8. Micro Service Architecture? 작은 기능 요소 들을 서비스 단위로 묶어서 배포
  • 9. MSA 의 9가지 특징 • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design
  • 10. MSA 의 9가지 특징 • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design 대형 시스템을 개발할 때 기술적 계층에 따라 조직을 구성하는 것에 비해, MSA에서의 접근 방식은 “비즈니스 수행 능력”에 따라 구분된 서비스 단위로 조직을 구성함
  • 11. Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. -- Melvyn Conway, 1967
  • 12. 분업화를 통한 전문화 재사용을 통한 생산성 향상 기업의 본원적인 2대 활동 원칙!
  • 13. 비즈니스 환경 변화에 능동적으로 대응하기
  • 14.
  • 16.
  • 17. 각 서비스 팀에 기술 구조를 선택하고 결정할 수 있는 권한이 있어야 함
  • 18. MSA 의 9가지 특징 • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design 단일 플랫폼에 의한 표준화를 통한 중앙통제모델이 아닌, 각 서비스팀에서 독자적인 거버넌스를 수행하도록 함
  • 19. 플랫폼에 의한 표준화를 통해 전문성을 확보하고 사람"에의 의존성을 제거 Monolithic Architecture 의 장점 모니터링이 쉽다 SPOF
  • 20. Polyglot or Multilingual 각 서비스파트에서 제공하는 서비스와 일 잘 어울리는 언어를 선택해서 사용
  • 21. 다른 언어도 자바만큼 잘 할 수 있는 사람
  • 22. SI 환경에서 고객님으로 부터 이 모든 권한을 부여 받을 수 있을까?
  • 23.
  • 24.
  • 26. Any JVM language can be supported so each team can use the language best suited to them. The Groovy JVM language was chosen as our first supported language. The existence of first-class functions (closures), list/dictionary syntax, performance and debugability were all aspects of our decision. Moreover, Groovy provides syntax comfortable to a wide range of developers, which helps to reduce the learning curve for the first language on the platform.
  • 27. MSA 의 9가지 특징 • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design 각 서비스 영역에서 자신이 제공하는 서비스의 context에 따라 도메인 영역을 분리(논리적 분리)하고, 데이터의 성격에 맞는 적정한 DB를 선택함(물리적 분리)
  • 28.
  • 29. Domain Driven Design – Bounded Context
  • 30.
  • 31. 회원은 주소를 여러 개 가질 수 있고, 주소가 같은 다른 회원이 존재할 수 있으므로 주소는 회원의 부가정보다.(도메인 핵심 정보 회원 주소 배송
  • 32. 하나의 배송 정보는 반드시 하나의 주소를 가 배송 한건에 여러 개의 주소를 가질 수 없음. 배송은 주소로 식별이 가능한 도메인 핵심정 회원 주소 배송
  • 33. 회원의 주소가 변경된다면 회원 정보는 즉시 반영(FK)되어야 하지 과거 배송 이력 정보가 변경이 되면 안됨
  • 34.
  • 35. 상품 주문배송 - 재고 - 결제 결제가 실패하면 재고가 하나 줄어 들었던 transaction을 rollback 해야 하는
  • 36. 서비스간 트랜잭션 처리 • 서비스 context 의 영역을 아주 잘 정의 해서 사용한다 • XA를 사용한다 • compensation transaction 을 사용한다
  • 37. 문을 열고, 코끼리를 넣고, 문을 닫는다 코끼리 보다 큰 냉장고를 만들어서 코끼리를 넣는다 코끼리를 미분해서 냉장고에 넣고, 냉장고 속에서 적분
  • 38.
  • 39. 실패를 통해서 경험을 축적해 나가야 하는데, 어느 정도의 사소한 장애를 감수하더라도, 지속적으로 시스템을 개선해 나갈 수 있는 권한을 보장 받는 것이 사실상 불가능
  • 40. 서비스간 트랜잭션 처리 • 서비스 context 의 영역을 아주 잘 정의 해서 사용한다 • XA를 사용한다 • compensation transaction 을 사용 API 를 조합하는 주체는 어디?
  • 41. MSA 는 서비스 간의 협조를 중요하게 생각합니다. M.F 는 여러 개의 간단한 기능(function)이 모여 하나의 서비스를 구성 여러 개의 기능을 모으는 녀석을 따로 모아 추상화를 할 수 있다면 밖에서 보이는 그림은 아주 깔끔한 모습이 될 수 있습니다. 성능 SPOF 복잡성 증가
  • 42. 복잡함을 해결하기 위해 시작했는데, 왠지 더 복잡해 지는 것 같다!
  • 43.
  • 46. https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance API 의 버전 관리, 로드 밸런싱, 서비스 repository 에 대한 고민은 Netflix 의 Eureka 가 좋은 해답이 될 수 있습니다.
  • 47. MSA 의 9가지 특징 • Componentization via Services • Organized around Business Capabilities • Products not Projects • Smart endpoints and dumb pipes • Decentralized Governance • Decentralized Data Management • Infrastructure Automation • Design for failure • Evolutionary Design 장애 없는 시스템은 없다!
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 56.
  • 57. 참고한 자료 • http://martinfowler.com/articles/microservices.html • http://techblog.netflix.com/ • https://github.com/Netflix/Hystrix/wiki • https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance • http://deanwampler.github.io/ • http://bcho.tistory.com/ • Domain Driven Design

Hinweis der Redaktion

  1.  불규칙하며 혼란스러워 보이는 현상을 배후에서 지배하는 규칙도 찾아낼 수 있다. 복잡성의 과학은 이제까지의 과학이 이해하지 못했던 불규칙적인 자연의 복잡성을 연구하여 그 안의 숨은 질서를 찾아내는 학문으로, 복잡성의 과학을 대표하는 혼돈 이론에도 프랙털로 표현될 수 있는 질서가 나타난다.
  2. 목적 – 더 큰 사고?로 이어지지 않게? 재산을 보호하고자….