-
-
소프트웨어 아키텍처 101 - 엔지니어링 접근 방식으로 배우는 소프트웨어 아키텍처 기초
마크 리처즈.닐 포드 지음, 이일웅 옮김 / 한빛미디어 / 2021년 11월
평점 :
구판절판

아키텍처.
아키텍처가 뭘까?
실무에서 숱하게 들어는 봤다.
최근 유독 내 주변을 얼쩡거리는 '마이크로 서비스 아키텍처'는 하도 들어서 귀에 딱지가 앉을 지경이다.
아키텍처.
그래서 그게 정확하게 뭐냐고 물어보면 설명할 수 없다.
설명할 수 없는 것은 이해하고 있다고 볼 수 없다.
그러니 아키텍트가 정확히 무슨 일들을 하는 사람인지도 잘 모르겠다.
소프트웨어 설계를 하는 사람? 넓게 보고 큰 그림을 그리는 사람?
어쩐지 그걸로는 충분하지 않다.
그래서, 아키텍처가 뭘까?
아키텍처를 논하는 사람들은 아키텍처에 대해 잘 이해를 하고 있는가?
그들과 나의 '멘탈 모델'은 같을까?
아키텍트는 구체적으로 뭘 하는 사람들일까?
이 상태에서 '아키텍처'를 논하는 말에 한 마디라도 의견을 얹을 수 있을까?
이런 궁금증으로 보기 시작한 책.
솔직히 소프트웨어 아키텍트는 유일하게 규정지을 수 있는 사람들이 아닙니다. 마틴 파울러 역시 그의 유명한 백서 'Who Needs an Architect?'에서 명언 한 구절을 인용했을 뿐 정의하려는 시도조차 거부했습니다.
아키텍처는 중요한 것들에 관한 것이다. 그게 무엇이든 말이다. - 랄프 존슨
아키텍처를 공부하는 사람들이 명심해야 할 점은, 아키텍처란 예술과 마찬가지로 콘텍스트(문맥, 맥락)로서만 이해할 수 있다는 점입니다. 즉, 아키텍트가 내린 결정은 대부분 그들이 그렇게 결정한 당시 환경에 기인한 것입니다.
CHAPTER 1 서론 / p27
소프트웨어 아키텍처의 모든 것은 다 트레이드오프다. - 소프트웨어 아키텍처 제1법칙
'어떻게'보다 '왜'가 더 중요하다. - 소프트웨어 아키텍처 제2법칙
1장 서론을 굉장히 흥미롭게 읽었다.
'그래서, 아키텍처가 뭘까?', '아키텍트는 무엇을 하는 사람일까?'라는 질문에 대해 훌륭한 인사이트를 얻을 수 있었다. 소프트웨어 아키텍처 법칙 두 가지는 특히나 강렬해서 뇌리에 콕 박혀버렸다.
'왜'를 고민하는 사람들.
최악을 피해서 차악을 선택하는 사람들.
"최고는 없다. 오직 나쁜 것 중에서 제일 나은 트레이드오프들만 있을 뿐!"
책은 총 세 챕터로 이루어져 있는데,
챕터 1에서는 아키텍처와 아키텍트 전반에 대해 설명하고 개발자와 어떤 차이점이 있는지, 개발자와는 달리 어떻게 소프트웨어를 바라봐야 하는지에 대해 이야기한다.
챕터 2에서는 다양한 아키텍처 스타일에 대해 설명한다.
좋았던 것은 1부에서 설명한 아키텍처 특성을 가지고 각 아키텍처별 특성 등급을 매기는 부분이었다.

별점과 함께 장단점을 정리해 주니 내용을 받아들이기가 훨씬 좋았다.
챕터 3의 제목은 '테크닉과 소프트 스킬'이다.
아키텍트로서 다른 사람들과 함께 협업하기 위한 방법들을 꽤나 재미있게 풀어놓았다.

책이 450 페이지 정도로 두껍고 얼핏 내용이 어려워 보이기도 하지만
실습을 하거나 달달 외워야 하는 내용들이 아니라서 생각보다 훨씬 술술 읽힌다.
사실 실무에서 아키텍트와 함께 일할 기회가 없었고, 내 커리어 방향으로 봤을 때 앞으로도 없을 듯하다.
그래서 그냥 '그런 사람들이 있다'고 알고 있던 부분에 대해 구체적으로 알 수 있는 기회였다.
대개 시니어 개발자들이 커버하고 있는 그 업무들을 전문적으로 맡아 하는 사람들이 어떤 사람들인지에 대해 이해하고 역으로 그들의 입으로 이야기하는 '개발자'를 함께 타인의 눈으로 바라보면서 많은 생각을 했다.
'왜'를 고민해야 하고
좁고 깊은 지식보다는 넓고 얕은 지식을 가져야 하는 일.
매력적이다.
**
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다.
**