Skip to content

Commit cc0781c

Browse files
authored
소프트웨어 아키텍처 The Hard Parts 1주차 - 이동현 (#586)
1 ~ 3장
2 parents 26a27ea + c2bca07 commit cc0781c

1 file changed

Lines changed: 33 additions & 0 deletions

File tree

  • 2026/Fundamentals_of_Software_Architecture_2nd_Edition/donghyeon
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# 1 ~ 3장
2+
3+
## 논의
4+
5+
최근 개발자를 AI로 대체하는 기업이 많다는 뉴스를 심심치 않게 볼 수 있습니다.
6+
인력 제약은 아키텍처를 결정할 때 가장 중요한 요소 중 하나인데, 인력이 줄어든 조직에서 MSA는 여전히 합리적일까요?
7+
8+
### 내 생각
9+
10+
AI가 코딩 속도를 높여줄 수는 있지만 분산 시스템의 복잡한 구조, 장애 대응, 데이터 일관성 문제와 같은 복잡성까지 대체하기는 어렵다고 생각합니다.
11+
그래서 인력이 줄어들수록 MSA의 이점보다는 운영 부담이 더 커질 것이고, MSA보다는 다른 대안이 더 합리적이지 않을까하는 생각입니다.
12+
13+
## 내용
14+
15+
- 현대 아키텍처의 하드 파트는 데이터와 아키텍처 관심사 사이의 텐션(밀당)에서 비롯됨
16+
- 데이터
17+
- 운영 데이터
18+
- 비즈니스 활동에 쓰이는 **필수** 데이터
19+
- 일반적으로 트랜잭션 성격의 데이터
20+
- 분석 데이터
21+
- 예측, 트렌드 분석, 기타 BI 용도로 쓰이는 데이터
22+
- 일반적으로 트랜잭션과 무관
23+
- 장기적인 전략 수립과 결정에 중요하게 활용됨
24+
- ADR(Architecture Decision Records, 아키텍처 결정 기록): 아키텍처 결정을 가장 효과적으로 문서화하는 방법
25+
- 아키텍처 피트니스 함수: 아키텍처 특성의 무결성을 **객관적**으로 평가하는 임의의 매커니즘
26+
- 도메인 지식이 필요하지 않음
27+
- JDepend, ArchUnit ..
28+
- 객관적 == 정적(static)? X. 문맥에 따라 다른 값을 반환할 수 있음
29+
- 간혹 수동으로 실행해야 하는 함수도 있음 (수동 피트니스 함수)
30+
- 아키텍처 퀀텀: 독립 배포 가능한 아티팩트 (높은 기능 응집도, 높은 정적 커플링, 동기적 동적 커플링)
31+
- 정적 결합: 공유 DB는 시스템 간의 결합점이 되어 진정한 의미의 독립 배포가 불가능하다 => 1퀀텀 = 1DB
32+
- 동적 결합: 통신(동기? 비동기?), 일관성(원자성? 최종 일관성?), 조정(오케스트레이터? 코레오그래피?)
33+
- UI 결합: 단일 유저 인터페이스가 백엔드와 단단히 결합되면 아키텍처 퀀텀은 다시 1로 줄어들 수 있음

0 commit comments

Comments
 (0)