ysm***
2025-12-27

막막했던 아키텍처가 쉬워지는 실무 지침서. 생성형 AI, 클라우드에 맞춰 새롭게 돌아오다
"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."

소프트웨어 아키텍처 The Basics 2판
기존의 "소프트웨어 아키텍처 101" 책의 2판이 나왔다.
"헤드퍼스트 소프트웨어 아키텍처는" 는 가벼운 마음으로 아키텍처의 기초 대해 공부하는 책 느낌이었는데,
"소프트웨어 아키텍처 The Basics 2판" 은 교과서적인 느낌이다. 조금 더 실무적이다.
AI 가 엄청나게 발전했다.
이제는 AI 에게 먼저 질문한다.
하지만 답이 없는 문제를 물어보면 AI 는 편향된 답변을 하거나, 여러가지 여러가지의 해법에서 한두가지를 제시해준다.
그래서 이 책을 읽어야한다.
"아키텍처는 트레이드 오프이다".
그렇기 때문에 정답을 구하는 것이 아니라 토론해야한다.
AI 에게 어떻게 질문하느냐에 따라 대답의 퀄리티와 정보가 달라진다.
내가 토론을 하고 판단하고 철학을 논할 수 있을 때, AI 도 제대로 활용될 수 있는 분야라고 생각한다.



아키텍처 시스템 구조와 아키텍처는 트레이드 오프 예시
아키텍처가 결정하는 시스템 구조를 보여준다.
헤드퍼스트 책에서도 동일하게 나와있다.
아키텍처의 스타일을 출발점으로 아키텍처가 지원할 특성을 정하고,
시스템의 행동 방식을 구현하는 논리적 컴포넌트들이 결합되고,
아키텍처적 결정들이 결합된다.
각 단계는 정답이 정해져 있지 않다.
아키텍트가 트레이드오프를 항상 고려하여 결정해야한다.
우측그림을 보면 서비스간 통신을 어떻게 구현할지에 대한 예시가 2개 나와있다.
서비스간 토픽으로 구현하면 토픽을 통해 누구나 접근가능하다는 장점이자 단점이 생긴다.
확장성 측면으로 볼것이냐 보안적 측면으로 볼것이냐.
이 모든 것은 아키텍트가 결정해야한다.

비즈니스 동인의 이해
아키텍처의 결정은 다른 결정보다 신중해질 수 밖에 없다.
한번 결정나면 다시 변경하는데 많은 비용이 들기 때문이다.
그래서 시스템을 이해하는 것을 넘어서 "시스템의 성공"에 필요한 비즈니스 동인도 이해하도록 노력해야한다.
이를 위해서는 비즈니스 이해관계자들과 원만하고 협력적인 관계를 맺어야하기 때문이다.
제품(시스템)은 컴퓨터 공학뿐 아니라 비즈니스를 이해해야 성공할 수 있다고 생각한다.
내가 가진 공학적 지식들은 제품의 품질을 높여 제품의 완성도를 높이고 적기에 납품할 수 있게 한다.
하지만 제품이 성공하기 위해서는 비즈니스를 이해하고 제품의 가치와 철학을 제대로 설정할 수 있어야한다.

PoC(proofs-of-concept)
적절한 가치를 녹이기 위해서는 적절한 기술을 선택할 수 있어야한다.
내가 시스템의 더 높은 곳을 볼 수록 코딩을 적게하게 되고 실질적인 기술과 멀어진다.
그래서 PoC(proofs of concept) 를 자주 진행하면서 구현 관점을 놓지 않도록 노력해야한다.



아키텍처 특성
개인적으로 항상 이 특성 부분이 어렵다.
무수히 많은 특성이 있고, 숨겨진 특성을 찾아야하고 ...
숨겨진 특성은 도메인을 어느정도 이해하고 경험이 있어야하니 어려운 것 같다.

덜 나쁜 아키텍처
아키텍처엔 정답은 없다.
시스템의 성공에 필수이거나 가장 중요한 아키텍처 특성을 지원하도록 하자.
나머지는 중요하게 지원하지 않아도 된다.
너무 많은 아키텍처 특성은 오히려 시스템을 복잡하게 만든다.



아키텍처 특성의 식별
어떻게 아키텍처 식별할 것인가에 대해서도 소개한다.
이해관계자들도 인정할 특성을 식별해야한다.
나만 이해한다면 그것은 중요한 특징이 아니다.
내가 중요하다고 생각한다면 그 이유를 손실없이 전달하여 동의를 받아야한다.
그렇게 식별한 특성이라도 명확하게 정의를 내리기엔 어렵다. 특성이라는 것이 "복합적" 이기 때문이다.
측정가능한 하위 특성들을 식별해서 객관적으로 볼 수 있게 하자.
이 책은 높은 관점(시스템 상위)에서 이야기를 한다.
단순 개발의 관점을 벗어나서 비즈니스 관점을 돌아보게 해주는 것 같다.
이런 책은 읽을 때마다 나의 관점이 리프레쉬해준다.
세상엔 답이 없다.
나의 답이 관점에 따라 맞을수도 아닐수도 있다.
항상 다양한 것들을 고려하도록 노력해야겠다.