더북(TheBook)

3.1.1 비즈니스 문제 분해

복잡함에 직면하면 대부분은 작업 중인 문제를 관리 가능한 덩어리로 쪼개려고 한다. 이렇게 하면 문제의 모든 세부 내용을 기억하지 않아도 되기 때문이다. 그들은 문제를 몇몇 필수적인 부분으로 나눈 후 이들 부분 사이에 존재하는 관계를 찾으려고 한다.

마이크로서비스 아키텍처에서도 이 과정은 매우 유사하다. 아키텍트는 비즈니스 문제를 각 활동 영역을 대표하는 덩어리(부분)로 분해하고 비즈니스 영역의 특정 부분과 연관된 비즈니스 규칙과 데이터 로직을 이 덩어리 안에 은닉한다. 예를 들어 아키텍트는 코드로 수행될 비즈니스 흐름을 보고 고객과 제품 정보 모두 필요하다고 인식할 수 있다.

Tip


두 개의 개별 데이터 영역이 있다는 것은 다수 마이크로서비스가 동작할 수 있다는 좋은 징조다. 두 개의 다른 비즈니스 트랜잭션 부분이 교류하는 방식이 일반적으로 마이크로서비스의 서비스 인터페이스가 된다.

비즈니스 영역을 분해하는 것은 이분법적 과학이기보다 예술 행위에 가깝다. 비즈니스 문제를 식별하고 마이크로서비스 후보로 분해하는 데 다음 지침을 사용할 수 있다.

비즈니스 문제를 기술하는 데 사용된 명사(nouns)에 주목하라: 문제를 기술하는 데 동일한 명사가 반복해서 사용된다면 핵심 비즈니스 영역과 마이크로서비스의 기회를 나타내는 좋은 징후다. O-stock 애플리케이션에 대한 대상 명사의 예는 계약(contract), 라이선스(license), 자산(assets)이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.