dhan***
2025-12-28

막막했던 아키텍처가 쉬워지는 실무 지침서. 생성형 AI, 클라우드에 맞춰 새롭게 돌아오다
2021년 소프트웨어 아키텍처 101(2021.11)의 개정판이 4년만에 나왔다. 2021년과 비교하면 클라우드 환경은 더욱 보편화되었으며, 생성형 AI는 소프트웨어 개발의 패러다임을 완전히 바꿔놓고 있다. 모두가 기능적인 내용과 서비스에 집중할 때 기능과는 직접 관련되지 않지만 소프트웨어가 갖춰야 할 필수 항목인 아키텍처에 관한 도서의 개정판이 나왔다. 이 분야는 AI에게도 쉽지 않은 분야라고 개인적으로 생각한다. 우선 정답이 없으며, 아키텍트는 주어진 문제를 해결하기 위한 최적의 트레이드오프를 제안해야 한다. 그 문제는 기술적일 수도 있고 아닐 수도 있다.
[추천 독자]
- 프로젝트, 프로덕트 매니저
- IT 개발자
- 아키텍트 입문자
- IT 정책을 결정하시는 분(CEO/CTO )
[키워드]
#소프트웨어 #아키텍처 #아키텍트 #설계 #트레이드오프 #비지니스동인 #모듈성 #응집도 #결합도 #가용성 #연속성 #성능 #복구성 #신뢰성 #안전성 #견고성 #확장성 #설정성 #확장능력 #설치성 #활용성 #재사용 #현지화 #유지보수성 #이식성 #업그레이드성 #온디맨드확장성 #온디맨드탄력성 #존기반가용성 #지역기반개인정보보호 #보안 #접근성 #보관성 #인증 #권한부여 #법적요건 #개인정보보호보안 #지원성 #사용성 #성취성 #클라우드 #도메인 #가타 #적합성함수 #거버넌스 #아키텍처퀀텀 #세분도 #클라우드 #컴포넌트 #안티패턴 #진흙잡탕 #모놀리스 #분산 #토폴로지 #팀토폴로지 #데이터토폴로지 #네트워크 #파이프라인 #마이크로커널 #서비스기반아키텍처 #이벤트주도아키텍처 #공간기반아키텍처 #오케스트레이션주도서비스지향아키텍처 #마이크로서비스아키텍처 #코레오그래피 #CQRS #인프라 #ADR #보신주의안티패턴 #사랑의블랙홀안티패턴 #이메일주도안티패턴 #도식화 #다이어그램 #UML #C4 #ArchiMate #체크리스트 #협상 #리더십 #공유라이브러리 #공유서비스 #동기메시징 #비동기메시징 #스펙트럼
[특징]
- 소프트웨어 아키텍처의 개념 설명과 클라이드 측면을 고려한 9개의 최신 아키텍처 스타일 반영
- "왜"에서 시작해서 "어떻게"까지 비유 프로젝트(가타)를 들어서 비교 설명
- 예시와 단계를 다양한 그림으로 이해하기 쉽게 설명
- 아키텍트가 갖춰야할 소프트웨어 스킬 포함
- 소프트웨어 아키텍처에 필요한 모든 내용을 다룸
[책의 구성]
이 책은 전체 3개 PART, 총 27개 장과 부록, INDEX로 구성되어 있다. (640페이지 분량)
CHAPTER 01 "서론"에서는 소프트웨어 아키텍처의 정의와 저자가 얘기하는 소프트웨어 아키텍처의 법칙 3가지를 설명한다. 그리고 앞으로 소개할 나머지 페이지의 내용을 간략하게 설명한다.
PART 01 "기초"는 총 7개 장으로, 소프트웨어 아키텍처의 구성요소와 관련된 내용을 다각도로 설명한다.
CHAPTER 02 "아키텍처적 사고"에서는 비유를 통해 아키텍트의 역할과 갖추어야할 요건을 설명한다.
CHAPTER 03 "모듈성"에서는 아키텍처의 최소 단위인 모듈의 개념과 관련된 지표를 설명한다.
CHAPTER 04 "아키텍처 특성의 정의"에서는 가용성, 연속성, 성능, 복구성, 신뢰성/안전성, 견고성, 확장성 등의 일반적인 운영 아키텍처 특성과 설정성, 확장 능력, 설치성, 활용성/재사용, 현지화, 유지보수성, 이식성, 업그레이드성 등의 구조적 아키텍처 특성, 온디맨드 확장성, 온디맨드 탄력성, 존 기반 가용성, 지역 기반 개인정보보호 및 보안 등의 클라우드 특성, 접근성, 보관성, 인증, 권한 부여, 법적 요건, 개인정보보호, 보안, 지원성, 사용성/성취성등의 횡단적 아키텍처 특성을 설명한다.
CHAPTER 05 "아키텍처 특성의 식별"에서는 예제를 통해 주어진 문제에서 아키텍처의 특성을 식별하는 방법을 설명한다.
CHAPTER 06 "아키텍처 특성의 측정과 거버넌스"에서는 복잡도와 적합성 함수를 통해 거버넌스의 지표를 측정하는 방법을 설명한다.
CHAPTER 07 "아키텍처 특성의 범위"에서는 아키텍처 특성들의 범위를 이해하고 적절한 아키텍처 스타일을 선택하는 방법을 설명한다.
CHAPTER 08 "컴포넌트 기반 사고"에서는 주어진 문제를 논리적인 컴포넌트로 분리하여 사고하는 방법을 설명한다.
PART 02 "아키텍처 스타일"은 총 12개 장으로, 모놀리스와 분산 아키텍처의 다양한 스타일을 설명한다.
CHAPTER 09 "아키텍처 스타일의 기초"에서는 아키텍처 스타일과 패턴을 비교 설명하며, 기본적인 아키텍처 패턴과 모놀리스 vs 분산 아키텍처의 특징을 설명한다.
CHAPTER 10 "계층형 아키텍처 스타일"에서는 기본적인 MVC 모델의 아키텍처 스타일을 구조와 개념, 데이터 토폴로지, 클라우드 고려 사항, 위험 요소, 거버넌스 측면, 팀 구성, 아키텍처 특성의 별점, 예시와 용례를 설명한다.
CHAPTER 11 "모듈형 모놀리스 아키텍처 스타일"에서는 도메인을 모듈로 구성한 아키텍처 스타일을 설명한다. 10장과 같이 구조부터 예시와 용례까지 설명한다.
CHAPTER 12 "파이프라인 아키텍처 스타일"에서는 파이프(|)와 필터를 사용한 아키텍처 스타일을 설명한다. 생산자, 변환기, 테스터, 소비자로 구성된 스타일이다.
CHAPTER 13 "마이크로커널 아키텍처 스타일"에서는 플러그인 아키텍처로 부르며, 제품 기반 애플리케이션에 맞는 아키텍처를 설명한다.
CHAPTER 14 "서비스 기반 아키텍처 스타일"에서는 실용적인 분산시스템의 하나인 서비스 기반 아키텍처 스타일을 설명한다.
CHAPTER 15 "이벤트 주도 아키텍처 스타일"에서는 인기 있는 분산 비동기 아키텍처 스타일인 이벤트 주도 아키텍처 스타일을 설명한다.
CHAPTER 16 "공간 기반 아키텍처 스타일"에서는 높은 확장성, 탄력성, 동시성과 관련한 문제를 해결하기 위해 설계되었으며, 캐시와 관련된 내용을 확인할 수 있다.
CHAPTER 17 "오케스트레이션 주도 서비스 지향 아키텍처"에서는 중재자(오케스트레이터)를 기반으로 동작하는 아키텍처 스타일을 설명한다.
CHAPTER 18 "마이크로서비스 아키텍처"에서는 최근 몇 년간 가장 인기가 많은 마으크로서비스 아키텍처 스타일에 관해 설명한다.
CHAPTER 19 "적절한 아키텍처 스타일의 선택"에서는 적절한 아키텍처 스타일을 선택하기 위한 다양한 기준 설명한 후 사례를 들어 비교 설명한다.
CHAPTER 20 "아키텍처 패턴"에서는 재사용, 통신, CQRS, 인프라 측면에서 아키텍처 패턴을 설명한다.
PART 03 "기법과 소프트 스킬"은 아키텍트의 역할과 소프트 스킬을 키우는 방법을 설명한다.
CHAPTER 21 "아키텍처적 결정"에서는 아키텍처를 결정하기 위한 ADR을 설명한다.
CHAPTER 22 "아키텍처 위험 분석"에서는 주어진 문제에 관한 아케텍처 특성의 위험 요소를 분석하는 방법을 설명한다.
CHAPTER 23 "아키텍처 도식화"에서는 UML, C4, ArchiMate등의 아키텍처 다이어그램을 도식화하는 툴과 작성 지침을 설명한다.
CHAPTER 24 "유능한 팀 만들기"에서는 유능한 팀을 만들기 위한 아키텍트의 필요 요건과 체크리스트 활용법에 관해 설명한다.
CHAPTER 25 "협상과 리더십 스킬"에서는 비즈니스 이해관계자, 다른 아키텍트, 개발자와의 효과적인 협상방법과 리더십을 향상시킬 수 있는 방법을 설명한다.
CHAPTER 26 "아키텍처 교차점"에서는 아키텍처를 작성할 때 고려해야 할 요소(구현, 인프라, 데이터, 엔지니어링, 팀)에 관해 설명한다.
CHAPTER 27 "다시 살펴본 소프트웨어 아키텍처 법칙들"에서는 저자가 얘기하는 아키텍처 3가지 법칙을 재조명한다.
APPENDIX A "토론용 질문 모음"에서는 각 장별로 주요 질문들을 정리하여 알려준다.
[인용]
"모답 답안집이 있나요?"라고 묻는 질문에 대한 저자 "닐 포드"의 답변이 재미있다.
다른 분야와 마찬가지로 모든 아키텍트는 꾸준히 아키텍처 설계 역량을 연마해야 하고, 그와 동시에 기술적 시야를 넓혀야 한다.
아키텍처에는 정답이나 오답이 없다. 오직 트레이드오프가 있을 뿐이다.
27장 다시 살펴본 소프트웨어 아키텍처 법칙들, p608
[소감]
2022년 소프트웨어 아키텍처 101(2021.11)를 읽은 후 3년만에 다시 읽었다. 확실히 책 읽는 속도나 이해하는 수준이 2022년보다 많이 개선되었다는 것을 느꼈다. 지난 3년을 돌이켜보면 아키텍처적인 성능이 얼마나 중요해졌는지 책을 통해 더욱더 실감하게 되었다. 클라우드는 이제 기본 전제가 되었으며, 이벤트 기반/분산 아키텍처, 마이크로서비스 아키텍처, 서버리스로 구현한 사례가 많이 늘어났다. 선택에 의해 기존의 모놀리스 아키텍처도 여전이 사용되고 있다. 정답은 없다. 주어진 문제를 주어진 환경에 적절하게 설계해야 한다. 이 책이 자세한 방법을 알려주지는 않지만, 사전에 리스크를 방지하고 지름길 가는 올바른 방법을 제시해 줄 것이다. 책일 읽어보면 이해가 될 것이다. ?
[추천]
아키텍처 부분은 IT 개발자라면 반드시 알아야 할 내용이며, 조금이라도 일찍 알면 앞으로의 개발에 있어서 훨씬 도움이 될 것이다. 이 책을 완벽하게 이해할 필요는 없다. 처음에는 이런 것들이 있구나 정도로 여기고 필요할 때 여러번 읽으면 된다. 아키텍처는 계속 개선될 것이며 어차피 정답은 없다.