더북(TheBook)

2.5 모든 관점에서



클라우드에서 마이크로서비스는 언뜻 보기에 단순해 보이지만, 성공하려면 아키텍트와 개발자, 데브옵스 엔지니어의 관점을 모아 화합된 비전을 이루는 관점의 통합이 필요하다.

각 역할 관점의 핵심은 다음과 같다.

1. 아키텍트: 비즈니스 문제의 실제 윤곽을 잡는다. 비즈니스 문제 영역을 기술하고 이야기되는 스토리를 경청하고, 출현할 마이크로서비스 후보에 주시하자. 처음부터 잘게 나뉜(fine-grained) 많은 서비스에서 시작하는 것보다 굵게 나뉜(coarse-grained) 마이크로서비스에서 시작해서 작은 서비스로 리팩토링하면 더 낫다는 것도 기억하자. 대부분의 좋은 아키텍처와 마찬가지로 마이크로서비스 아키텍처도 창발적(創發的)이며8 사전에 세세히 계획되는 것은 아니다.

2. 소프트웨어 엔지니어: 서비스가 작다는 사실이 좋은 설계 원칙을 포기하라는 것은 아니다. 서비스 안의 각 계층이 개별 책임을 맡는 계층적 서비스를 구축하는 데 집중한다. 코드 내 프레임워크를 만들려는 유혹을 피하고 완전히 독립적인 마이크로서비스를 지향한다. 미숙한 프레임워크 설계와 도입은 애플리케이션의 수명 주기 후반에 막대한 유지 보수 비용을 초래할 수 있다.

3. 데브옵스 엔지니어: 서비스는 외부와 단절된 것이 아니다. 서비스 수명 주기를 일찍 수립하자. 데브옵스 관점에서 서비스 빌드와 배포를 자동화하는 방법뿐 아니라 서비스 상태를 모니터링하고 문제가 발생할 때 대응하는 방법에도 집중해야 한다. 대개 서비스 운영은 비즈니스 로직의 작성보다 더 많은 업무와 사전 숙고가 필요하다.


8 역주 떠오름 현상이라고도 하며 하위 계층(구성 요수)에는 없는 특성이나 행동이 상위 계층(전체 구조)에서 자발적으로 돌연히 출현하는 현상이다. 위키피디아를 참고한다.

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