qor***
2022-06-26

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'개발자가 아키텍트\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'로 전향하는 데 실질적인 도움을 주는 실무 지침서다. 아키텍처 기초(패턴, 사고, 특성)와 아키텍처 스타일(레이어드, 파이프라인, 마이크로커널, 이벤트, 서비스, 오케스트레이션), 그
‘소프트웨어 아키텍처 101’ 은 원제인 ‘Fundamentals of Software Architecture’ 에 잘 드러나 있듯이 소프트웨어 아키텍처의 기초에 대한 내용을 다루고 있는 책이다. 그러나 단순히 아키텍처의 종류를 나열하는 것이 그치지 않고, 책의 부제인 ‘엔지니어링 접근 방식 (Engineering Approach)’ 이라는 표현처럼 시스템을 바라보는 관점에 대해 깊이 있게 기술하고 있다.
소프트웨어 아키텍처는 흔히 우리말로 ‘소프트웨어 구조’라고 번역되곤 한다. 정보시스템을 개발하는 설계 관련 회의나 자료에도 큰 그림(Overview), 청사진(Blueprint) 등으로 표시되곤 하는 소프트웨어 아키텍처는 단순히 소프트웨어의 구성만을 의미하지는 않는다. 또한 소프트웨어 아키텍처는 소프트웨어 패턴으로 인식되는 경우도 많은데, 이는 문제를 해결하는 방법에 집중한 해석이다. 소프트웨어 아키텍처는 시스템이 지원해야 하는 특성과 시스템의 구조, 시스템 전부를 관통하는 일관된 설계 원칙을 모두 아우른다고 보는 것이 타당하다.
소프트웨어 아키텍트는 소프트웨어 아키텍처를 다루는 사람이지만, 각각의 조직과 업무에 따라다양한 형태의 역할을 수행하고 있어 명확한 정의를 내리기는 쉽지 않다. 하지만 소프트웨어 아키텍트는 시스템의 아키텍처를 결정하고, 프로젝트의 진행에 따라 아키텍처를 지속적으로 분석하며, 관련 도메인에 대한 다양한 경험과 기술을 가지고 시스템에 대한 중요한 결정을 수행하는 사람으로 생각해 볼 수 있다. 이 책은 소프트웨어 아키텍트가 아키텍처 결정 및 리스크 분석, 협상 등에 임하는 자세 및 스킬을 포함해서 문제 해결 및 커리어 패스에 대한 이야기도 함께 소개하고 있다.
이 책은 크게 3개의 파트로 구성되어, 첫 파트에서 아키텍처의 기초를 다루고, 이어 두번째 파트에서 다양한 형태의 아키텍처 스타일을 소개하며, 마지막 세번째 파트를 통해 아키텍트가 가져야할 테크닉과 소프트 스킬을 이야기한다.
“아키텍트는 언제나 모든 선택의 좋고 나쁨을 냉정하게 평가해야 합니다. … 만사가 다 트레이드 오프죠.” 이 책의 서문에 나오는 이 문장처럼 소프트웨어 아키텍트는 계속해서 보다 나은 결정을 해야하는 순간에 직면하게 된다. ‘소프트웨어 아키텍처 101’은 소프트웨어 아키텍트가 되고자 하는 이들에게 훌륭한 도구이고 무기가 될 것이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."