아키텍트는 건축가보다는 도시 설계자에 가까운 의미로 접근해야한다고 한다.

 

나무를 보지 말고, 숲을 보라는 의미인건가? 나는 개발자로서 마이크로 서비스 아키텍쳐를 이해하려고 이 책을 봐서 그런지 아직 아키텍트라가 어떤 일을 하는지에 대한 감이 오지 않았다.

 

아키텍트는 앞서 생각했던 각기 다른 기술로 서비스를 할 경우에 발생하는 조직 내부의 문제 등을 최소화하기 위해서 일련의 규칙을 정하고, 올바른 방향으로 나아가도록 방향을 제시하는 것으로 시작되는 것이라고 생각한다. 이를 기반으로 큰 틀을 정하고, 각 서비스에 자율성을 부여하며 그것들이 하나의 응집력 있는 애플리케이션을 이루도록 하는 것.

 

이러기 위해서는 시스템의 상태를 일관되게 살펴볼 수 있어야 하고, 인터페이스 기술의 표준을 최소화 해야하며, 오동작에 대해 방어할 수 있는 시스템을 만들어야한다. 

 

또한, 개발자들이 약간의 노력으로 이런 지침들을 따를 수 있게 하는 것 또한 아키텍트의 능력이다. 그 방법으로는 본보기나 서비스 템플릿을 제공하는 것이다. 서비스 템플릿을 제공하는 경우에 개발자들로 하여금 잘못된 코딩을 줄여 시간을 단축할 수 있지만, 자칫 잘못하면 프로그래밍 언어의 선택을 제한할 수 있다. 

 

추가로 아키텍트의 담당 업무 중 하나는 거버넌스 (Governance)이다. 이는 "기업의 목적이 이해관계자의 요구, 조건, 섡택을 평가함으로써 달성될 수 잇음을 보장한다. 우선순위 및 의사 결정을 통해 방향을 설정하고, 합의된 방향과 목표에 대한 성과, 규칙 준수, 과정을 모니터링한다. "

 

 이렇게 본 아키텍트는 기술 적용과 규칙을 정했을 때 발생하는 트레이드 오프를 올바르게 결정하기 위해 끊임없는 고민을 해야하는 것 같다. 그 고민들의 결과물이 더 나은 서비스, 그리고 개발자들이 물 만난 물고기처럼 헤엄 칠 수 있는 환경을 제공하는 것이 아닐까? 

 

 

 

이는 마이크로서비스 아키텍처 구축을 공부하면서 생각을 정리한 것입니다.. 관련된 내용에 대해서 더 알고 싶은 경우에는 해당 책을 보는 것을 권유합니다.

 

마이크로서비스 아키텍처 구축

마이크로서비스, 웹 기반 분산 시스템의 디자인 패러다임을 바꾸다!

www.hanbit.co.kr

 

 

 

'개발자로 살아남기 > Micro Service Architecture' 카테고리의 다른 글

4. 통합  (0) 2021.04.25
3. 서비스 모델링하기  (0) 2021.04.11
1. 마이크로 서비스  (0) 2021.04.11

+ Recent posts