MSA(마이크로 서비스)의 핵심원칙
마틴 파울러 (Martin Fowler)가 정의한 MSA 특징
Organized around Business Capabilities
- Conway's Law : 시스템이 설계되면, 그 시스템의 구조는 설계한 조직이 구조와 유사해진다.
- Business Capabilities : 조직이 얼마나 빠르고 유연하게 변화에 대응할 수 있는지에 대한 능력.
최근에는 기능 조직보다 목적 조직이 많아졌습니다.
기능 조직
이란 회사에서 기능을 담당하는 조직으로, 특별한 목적성을 가지지 않는 조직
을 뜻합니다. 반면 목적 조직
이란 특정 목적을 가진 사내 조직으로서, 명확한 미션과 비전을 가지고 팀의 모든 의사결정이 진행되는 조직
을 뜻합니다.
mission과 vision에 대해 설명을 해보자면 mission
은 삶의 방향을 정하는 거시적인 목표
이고 vision
은 mission을 달성하기 위한 구체적인 목표
를 뜻합니다.
예시를 들어서 Tesla의 미션과 비전에 대해서 설명을 해보겠습니다.
Tesla의 mission
은 지속 가능한 에너지로의 세계적 전환
입니다.
Tesla의 구체적인 vision
은 전 세계 전기자동차 전환을 주도하여 21세기 가장 매력적인 자동차 회사
가 vision이 됩니다.
Product, Not Project
Project
는 1회성, SI 회사를 떠올리면 되는데 하나의 프로젝트가 끝나면 지속적인 유지보수가 이루어지지 않는 것
을 Project
라고 gㅏㅂ니다.
결국 메인테이너가 Product를 관리하면서 User의 요구사항에 빠르게 대응한다면 Business Capabilities
와도 깊이 연결됩니다.
Design for Failure
**시스템은 언제든지 문제가 생길 수 있다.**는 것을 인정하는 설계 디자인 입니다.
Evolutionary Design
비즈니스에 따라 빠른 출시와 지속적인 피드백을 가능하게 하는 설계, 개발
MSA의 단점
- 서비스간 통신이 어렵다.
- 트랜잭션 통제가 어렵다.
- 모니터링이 어렵다.