소프트웨어 아키텍처 101
연구이야기/도서이야기☆

소프트웨어 아키텍처 101

2021년 11월에 출간된 따끈따끈한 신작 <소프트웨어 아키텍처 101>에 대해 소개합니다. 이 책의 부제는 '엔지니어링 접근 방식으로 배우는 소프트웨어 아키텍처 기초'입니다. 이 책의 저자는 Mark Richards와 Neal Ford로 CS 세계에 발을 들여놓았다면 많이 들어본 이름일 것입니다. 이 세계에서 매우 유명한 분들입니다. 

이 책의 원서는 아마존 리뷰에서 높은 점수(4.6점, 5점 만점)를 받았습니다. 역자는 이일웅 님으로 그동안 이분의 책을 많이 읽어봐서인지 어색한 부분은 거의 없었습니다.

<소프트웨어 아키텍처 101>은 470페이지로 구성되어 있어 휴대하면서 읽기에 부담스럽지 않습니다. 다만 최근 출시된 한빛미디어 책은 전차책으로도 출간되므로 전자책을 읽을 수 있는 장치를 보유하신 분이라면 전자책으로 만나보는 것도 좋을 것 같습니다. 구매 가격도 더 저렴합니다. 

한빛미디어 평가단에 참가하여 작성한 글이며, 한빛미디어에서 제공해준 책을 읽고 작성했음을 밝힙니다. 

이 책의 매력은?

<소프트웨어 아키텍처 101>은 3부 24개의 챕터로 구성되어 있습니다. 중요하지는 않지만, 첫 번째 챕터(Introduction)가 큰 부(장)에 속하지 않은 부분에서 재미있는 편집이라고 생각했습니다.

1부에서는 아키텍처적 사고, 모듈성, 아키텍처 특성에 대해 안내합니다. 즉, 아키텍처가 무엇인지에 대해 이야기하고 있으며 어떤 관점에서 바라봐야 하는지에 대해 소개합니다. 2부에서는 다양한 아키텍처 스타일을 보여줍니다. 모놀리식과 분산 아키텍처에 대해 논하는 것을 시작으로, 레이어드 아키텍처 스타일에서 마이크로서비스 아키텍처 스타일까지 다양한 아키텍처 스타일을 소개합니다. 이 장을 읽을 때, 그동안 직/간접적으로 경험했던 아키텍처 스타일을 정리할 수 있으며, 다양한 관점에서 공감하며 읽을 수 있을 것 같습니다. 3부는 테크닉과 소프트 스킬이라는 주제로 아키텍트로 성장할 때 필요한 기술들을 소개합니다. 꼭 아키텍트가 아니더라도, 한 번쯤 읽고, 정리하고 자기 또는 팀에 알맞게 교정한다면 큰 도움을 받을 수 있습니다. 

이 책은 앞에서도 이야기했지만, 이 책은 한 번 꼭 읽어봤으면 합니다. 아키텍트가 아니더라도, 내가 만들어야 하는 시스템이 어떤 모양을 가졌는지 큰 그림을 그린 다음 설계를 하고 코드를 작성한다면, 더 좋은 결과물을 도출해 낼 것으로 믿기 때문입니다. 또한, 어떤 요구사항에 직면했을 때, 문제를 해결하기 위한 더 나은 해결 방안을 제시할 가능성이 더 높을 것으로 생각합니다. 

사견으로, 가능하다면 이 책에서 제시하는 아키텍처 스타일을 적용한 애플리케이션을 작성해 보면 좋을 것 같습니다. 스터디 그룹 같은 것을 만들어 하나하나 만들다 보면 그 과정에서 꽤(?) 다양한 경험과 지식을 쌓을 수 있을 듯 합니다. 
 

마치면서

평소에 이 책의 주제에 대한 관심이 높아서인지 많이 익숙했던 주제여서 더 재미있게 읽었던 것 같습니다. 필자는 책을 읽고, 내재된 지식을 정리하는 데 많은 도움을 받았습니다. 이 책을 2주만에 읽고 리뷰를 하는 것은 쉽지 않았습니다. 매력적인 책이기에 다시 한 번 정독을 하며 개인적으로 정리하는 시간을 가지려 합니다. 

이 도메인에 익숙하지 않은 분들은 <소프트웨어 아키텍처 101>을 활용하여 시작하면 많은 도움이 될 것 같습니다. 실제로 이 도메인을 처음 학습하면, 갈지자로 횡보하는 사람들을 많이 보게 됩니다. 이 책을 먼저 읽는다면, 이런 비효율을 조금이라도 줄여줄 수 있지 않을까? 란 생각이 들었습니다. 

<소프트웨어 아키텍처 101>은 매력적인 도서입니다. 이 책에는 다양한 아키텍처 스타일이 나오는데, 각각의 아키텍처가 어떤 과정을 거쳐 발전했는지 등을 살펴보면 조금 더 흥미를 느끼면서 재미있게 학습할 수 있을 것 같습니다.  

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