마이크로서비스 입문에서 구축과 활용까지! 마이크로서비스는 기존 대용량 시스템의 복잡성과 운영?배포?유지보수의…

[번역서 소개] 마이크로서비스 아키텍처 구축

O’reilly의 Building Microservices의 번역서 소개를 드리고자 합니다.
(관리자 분께 포스팅 유의사항을 잘 듣고 올립니다. ㅎ)

2년 전 원서인 Building Microservices의 early edition 내용에 대해 저자인 샘 뉴먼과 컨택을 하며 이 책의 번역을 시작하게 되었습니다. 이후 현업에서의 새 과제도 AWS상에서 MSA로 진행하게 되어 MSA의 도입에 대한 고민이 많았던 때에 좋은 길잡이가 되었습니다. 마치 MSA와 Cloud에 익숙한, 경험많은 선배 아키텍트에게 한번쯤 고민할 개념과 주제들을 조언받는 것 같아 좋았습니다(적어도 저에게는 ㅎ).

마침 우리와 협업 하던 해외 팀도 원서에 소개된 principle과 practices를 따르며, 권장하는 도구를 도입해 기존 모놀리스를 마이크로서비스화하는데 활용하고 있더군요.

책에서 다양한 서비스 배포 유형 중 컨테이너 기반의 서비스 배포를 권장하는 면도 있어, 당시 docker swarm/kurbernetes를 시도했으나, 깔끔하게 다음을 기약하고ㅎ, one service per instance 방식을 사용했습니다. AWS 가 다양한 instance를 제공하니 최적화만 잘하면 로깅/디버깅의 단순함에서 더 유리한 면도 있겠습니다.

소트웍스에서 개발자/아키텍트였던 필자의 폭넓은 경험에서 오는 지식과 조언은 유용했으며 필자의 웃지 못할 실수담도 유쾌한 교훈이었습니다.

예를 들면 configuration drift를 경계한 Immutable 서버의 지향 (SSH의 접속을 최대한 차단하고 모든 변경은 Build pipeline을 통해 배포), bounded context 의 개념에 기반해 서비스의 경계를 나누는 방법 등은 특정 기술보다 개발 및 운영 방법론과 더 가깝기 때문에 알고 있더라도 팀내 공감이 있어야 적용이 수월할 수 있습니다.

책에서 특히 AWS와 Netflix에 대한 언급이 많은데 (AWS가 한 23번 정도 언급되는군요), MSA를 위한 그들의 기술적인 시도 뿐 아니라 조직적인 변화의 노력도 참고할 만합니다. 그리고 바람직한 아키텍트의 역할에 대해 별도로 할애한 것도 흥미로우니 아키텍트를 지향하시는 분들은 2장의 일독을 추천합니다.

마이크로서비스 입문에서 구축과 활용까지! 마이크로서비스는 기존 대용량 시스템의 복잡성과 운영?배포?유지보수의 문제점을 해결할 새로운 대안이다. 이 책은 마이크로서비스 아키텍처를 구축, 관리할 때 고려할 문제와 이에 관한 포괄적 시각과 실용적인 조언을 제공한다. 지속적 통합을 통해 개별 마이크로서비스를 배포하는 과정을 설명하고, 실제로 마이크로서비스를…

4 thoughts on “마이크로서비스 입문에서 구축과 활용까지! 마이크로서비스는 기존 대용량 시스템의 복잡성과 운영?배포?유지보수의…

  1. 좋은 책입니다. 제가 드린 추천사입니다.
    “한국 개발자들이 실제 사례나 코드 샘플이 들어 있어서 실전에 바로 써먹을 수 있는 책을 좋아한다고 한다. 이 책에는 마이크로서비스 개발에 대한 샘플 코드는 전혀 들어 있지 않다. 오히려 마이크로 서비스 아키텍처를 구축하려는 사람들이 실제로 직면하는 많은 설계적 고충과 문제점, 고려 사항에 대한 충고와 해설을 담았다. 아키텍처는 한번 잘 못 설계하면 되돌리기 매우 어렵기 때문에 처음 부터 충분한 고민이 필요하다. 마이크로서비스 아키텍처는 분산 컴퓨팅과 클라우드 기반 서비스 발전과 함께 데브 옵스 기반 개발 문화적 변화와 필연적으로 만나게 된다. 코드 이상의 주제를 놓고 고민하시는 분이라면, 꼭 읽어 보아야할 필독서다.”
    윤석찬, 아마존웹서비스(AWS) 테크에반젤리스트

Comments are closed.