마이크로서비스 아키텍처를 효과적으로 적용하는 방법은 모든 기능을 모놀리식으로 먼저 구현한 후 의미 있는 부분을 따로 떼어내 마이크로서비스로 분리하는 것이다.

프로젝트 초기부터 여러 개의 마이크로서비스를 미리 확정하고 완벽히 설계하려고 욕심을 부리면 큰 재앙을 가져올 수 있다.

프로젝트 규모가 커지면서 애플리케이션의 구성이 어떻게 변할지, 또 어떻게 성장해나갈지를 미리 예측한다는 것은 매우 어려운 것이다.

4장에서는 요구사항을 모놀리식으로 구현하면서 이 흐름을 따라가 본다. 4장이 끝나면 마이크로서비스 기반의 설계가 완성되어 있을 것이다.

4장에서 다루는 내용은 아래와 같다.

실제 업무에서는 모놀리식 애플리케이션이 완성된 후 시간이 지남에 따라 분할의 필요성도 자연히 발생한다. 하지만 시간 단축을 위해 Runnerly 애플리케이션을 그 동안 충분히 사용했고, 그에 따른 경험으로 애플리케이션을 올바로 분리할 수 있는 통찰력을 얻었다고 가정한다.

Runnerly 애플리케이션

Runnerly 는 마라톤, 조깅 등 달리기를 좋아하는 사람들을 위한 애플리케이션이다. 사용자가 자신의 달리기 기록, 대회 정보, 훈련 계획 등을 웹 페이지에서 한 눈에 볼 수 있는 웹 뷰도 제공한다. 이 페이지는 반응형 웹이므로 스마트폰이나 데스크톱 브라우저를 통해서도 볼 수 있다. 또한 사용자 활동에 관한 월간 보고서를 보내는 기능도 있다.