아키텍처라는 모호한 주제를 쉽게 접근할 수 있도록 해주는 내용으로 채워저 있는 책이다. 우리가 현재 개발에서 사용되는 아키텍처들이 왜 만들어졌고 아키텍트가 하는 일이 어떤 업무인지를 쉽게 설명하고 있다. 대학에서는 아키텍처에 대한 수업을 듣기도 했지만 중요하다고 생각은 했지만 어떤 부분 때문에 아키텍처가 그 당시에는 쉽게 인지하기 어려웠다.

실제 회사에서는 아키텍처에대한 설계를 여러번 수행했고 나름대로 좋은 아키텍처를 구성하기 위해 노력을 했지만 대학에서 배운 내용을 써먹기 보다는 실제 개발의 경험을 가지고 아키텍처를 많이 설계하게 되었다. 이러한 개발자가 개발 하면서 느끼는 아키텍처의 실용적인 장단점을 통해서 구체적으로 접근하는 방법을 제시하는 책이다.

인상깊은 부분

특정 아키텍처가 발전해 가는 과정을 자연스럽게 설명해 주는 부분은 매우 인상적이였다. 요즘 유행하는 마이크로 서비스를 왜 선택하여 되었는지 또는 어떤 상황에서 마이크로 서비스를 선택해야 하는지에 대해서 이야기 해주는 부분이 공감되었다. 이러한 과정을 알면 현재 우리의 비지니스 상황에서 어떤 아키텍처를 선택해야 하는지 고민해 볼수 있는 근거를 제공해 주고 있다.

아키텍처가 하는 업무중에 소프트 스킬의 중요성에 대해서 이야기 하는 부분은 개발자나 이해관계자들을 설득해야 하는 업무가 많아서 실제로 많이 공감하였다. 또한 아키텍처의 선택은 언제나 비지니스를 목적으로 해야 한다는 부분이 매우 인상 깊었다. 주로 개발자들은 좀더 좋은 기술을 사용하고 싶다는 욕심으로 오버엔지니어링으로 향해가는 경우가 많기 때문에 나 또한 어떤 특정 기술 선택시 오버엔지니어링이 아닌지 항상 고민을 하고 채택을 한다. 책에서도 개발자가 불나방 처럼 복잡한 아키텍처에 끌리는 부분을 지적하고 있었다.

기술적인 통찰력을 준 부분으로는 마이크로 서비스나 이벤트 기반 아키텍처의 기본은 예전 부터 존재 했지만 기술이 따라기 못했기 때문에 그시대에는 활용되지 못하다가 현재의 DevOps 기술이 발전하면서 좋은 아키텍처로 변한것을 이야기 하는 부분에서 기술과 아키텍처에 대한 관계에 대해서 생각해 볼 수 있었다.

총평

관심 있는 내용이라 빠르게 읽을 수 있었다. 본 아키텍처 관련 서적 중에 가장 현실적이고 활용할 만한 부분이 많았다. 책에서 어떤 아키텍처의 좋은점과 나쁜점을 구체적으로 이야기 하고 있기 때문에 책에 나오는 아키텍처에는 정답이 없고 나쁜것중에 가장 나은 선택을 하라는 내용을 아주 잘 이해할 수 있었다. 어느정도 개발을 한후 한번은 읽어 보면 좋을것 같은 책이다.

참고

https://www.amazon.com/Fundamentals-Software-Architecture-Comprehensive-Characteristics/dp/1492043451 https://product.kyobobook.co.kr/detail/S000001810445