-
-
마이크로서비스 아키텍처 구축 - 대용량 시스템의 효율적인 분산 설계 기법 | MSA 핵심 용어집 수록, 설계/아키텍처 분야 아마존 베스트셀러, 전면 개정판 ㅣ O'reilly 오라일리 (한빛미디어)
샘 뉴먼 지음, 정성권 옮김 / 한빛미디어 / 2023년 6월
평점 :
마이크로서비스 아키텍처는 2010년대 초반부터 등장한 소프트웨어 접근 방식입니다.
애플리케이션을 작은 독립적인 단위로 나누어 개발하고 운영하는 방법인데요.
초기에는 혼합된 반응이 있었지만, 유연성과 확장성으로 인해 점점 더 많은 기업에서 도입하고 있습니다.
마이크로서비스의 바이블 같은 책을 살펴보도록 하겠습니다.
살펴볼 책은 ‘마이크로서비스 아키텍처 구축’입니다.
주로 대규모의 복잡한 애플리케이션을 만들 때 마이크로서비스로 구축합니다.
마이크로서비스 아키텍처 구축을 도입하기 전 고충이 있으실 텐데요.
마이크로서비스 분리의 어려움을 느끼는 분들도 계실 겁니다.
어려운 이유는 기존의 모놀리식 애플리케이션을 마이크로서비스로 전환하는 것은 비용과 시간이 많이 들기 때문입니다.
도입 시의 장단점을 고려하여 적절한 상황에서 적용하는 것이 중요합니다.
마이크로서비스의 핵심 개념과 회복 탄력성에 관해 살펴보도록 하겠습니다.

◆ 소프트웨어 개발에 필요한 회복 탄력성
회복 탄력성은 시스템이 예기치 않은 장애에도 빠르게 복구되고 안정성을 유지하는 능력입니다.
장애는 언제든 발생할 수 있는데요.
이 문제를 해결하려면 여러 안정성 패턴과 기법을 적용하여 위험을 분산시키고 기능 저하를 고려해야 합니다.
또한, 카오스 엔지니어링을 통해 시스템을 테스트하고 비난보다는 문제 해결에 초점을 두어야 합니다.
CAP 정리를 이해하여 시스템 설계에 적절한 선택을 해야 합니다.
이를 통해 시스템의 회복 탄력성을 향상할 수 있습니다.

◆ 마이크로서비스의 핵심 개념
마이크로서비스의 핵심 개념 중 하나는 독립적 배포성입니다.
각각의 마이크로서비스는 독립적으로 개발, 테스트, 배포되며, 다른 서비스와 무관하게 운영될 수 있습니다.
이로 인해 시스템 전체의 안정성과 확장성이 향상되며, 개발과 배포가 더욱 빠르고 유연해집니다.
또한, 도메인 중심의 모델링 유연성은 각 서비스가 특정 비즈니스 도메인에 집중되어 독립적으로 발전할 수 있습니다.
기술 스택이나 데이터베이스 선택에 대한 자유도가 높습니다.
이러한 특징으로 인해 마이크로서비스 아키텍처는 현대적인 애플리케이션 개발에 많은 관심을 받고 있습니다.

끝으로 마이크로서비스 아키텍처에 대한 기업들의 관심이 커지고 있습니다.
1판도 많은 관심을 받았지만, 저자는 그때 담지 못한 이야기까지 이번 책에 담기 위해 노력했는데요.
모든 장을 다 검토하고 문장을 다듬으면서 독자들의 이해를 도우려고 힘썼습니다.
1~2부에서는 마이크로서비스의 알아야 할 핵심 아이디어와 구현할 수 있는 도움 되는 기법과 기술을 알려줍니다.
3부에서는 마이크로서비스 조직 구조와 아키텍트의 방향에 대한 주제를 다룹니다.
마이크로서비스 전문가의 핵심 조언과 아키텍처 구축 시 올바른 의사결정을 할 수 있도록 도와줍니다.
책의 목차를 보면 주제별 형식으로 구성되어 있습니다.
자신이 원하는 주제를 보고 싶을 때 낯선 용어가 있을 수 있는데요.
그럴 땐 책의 뒤쪽에 용어집이 수록되어 있으므로 참고하고 읽어보시길 바랍니다.
마이크로서비스 아키텍처를 도입 중이거나 고민 중이신 분들에게 이 책을 추천합니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."