[G1-Sync] Manual knowledge update

This commit is contained in:
Antigravity Agent
2026-05-10 22:08:15 +09:00
parent 21ac3ed255
commit 504fd5fb42
3011 changed files with 380280 additions and 206977 deletions
@@ -2,129 +2,191 @@
id: wiki-2026-0508-sara-software-architecture-revie
title: SARA (Software Architecture Review and Assessment)
category: 10_Wiki/Topics
status: needs_review
status: verified
canonical_id: self
aliases: [P-REINFORCE-WIKI-46B24E8C]
aliases: [SARA, Architecture Review, Architecture Assessment]
duplicate_of: none
source_trust_level: A
confidence_score: 0.95
tags: [sara-(software-architecture-review-and-assessment), atam-(architecture-tradeoff-analysis-method), tara, architecture-evaluation-(아키텍처-평가), software-architecture-erosion-(소프트웨어-아키텍처-침식), architecture-principles]
confidence_score: 0.85
verification_status: applied
tags: [architecture, review, governance, sei, atam]
raw_sources: []
last_reinforced: 2026-05-02
last_reinforced: 2026-05-10
github_commit: pending
inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08)
tech_stack:
language: unspecified
framework: unspecified
language: none
framework: ATAM/ARID/SAAM
---
# [[SARA (Software Architecture Review and Assessment)]]
# SARA (Software Architecture Review and Assessment)
## 📌 한 줄 통찰 (The Karpathy Summary)
SARA (Software Architecture Review and Assessment)는 ATAM(Architecture Tradeoff Analysis Method)이나 TARA와 같은 다양한 소프트웨어 아키텍처 평가 기법들을 비교하고 논의하기 위해 고안된 프레임워크 또는 보고서입니다 [1], [2]. 추가적인 세부 개념이나 원리에 대해서는 소스에 관련 정보가 부족합니다.
## 한 줄
> **"매 architecture 를 매 quality-attribute 관점에서 systematic review 하는 프로세스"**. SEI (Carnegie Mellon) 의 SAAM (1996) → ATAM (2000) → ARID (2002) 계보의 generic 명칭. 매 핵심: stakeholder, scenario, tradeoff, risk 의 명시적 enumeration. 매 2026 modern variant: AWS Well-Architected Review, Architecture Decision Records (ADR), Wardley Mapping 과 결합.
## 📖 Core 소스에 관련 정보가 부족합니다.
(제공된 소스에서는 소프트웨어 아키텍처 평가(Architecture evaluation) 과정에서 ATAM이나 TARA 등 평가 기법들을 비교하기 위한 프레임워크로서 *SARA Report*가 활용된다는 단편적인 인용 정보만 확인될 뿐, SARA 자체의 작동 원리나 구체적인 평가 프로세스에 대한 내용은 포함되어 있지 않습니다 [1], [2].)
## 매 핵심
## ⚠️ 모순 및 업데이트 (Contradictions & Updates)
소스에 관련 정보가 부족합니다.
### 매 SEI 계보
- **SAAM** (Software Architecture Analysis Method, 1996): scenario-based, modifiability 위주.
- **ATAM** (Architecture Tradeoff Analysis Method, 2000): multi-quality, tradeoff 명시.
- **ARID** (Active Reviews for Intermediate Designs, 2002): incomplete design review.
- **CBAM** (Cost-Benefit Analysis Method): economic angle.
## 🔗 지식 연결 (Graph)
### Related Concepts
(소스에 SARA 자체에 대한 구체적인 내용은 부족하지만, SARA가 논의되는 맥락인 '아키텍처 평가'와 관련된 핵심 개념들을 제시합니다.)
### 매 ATAM 9-step (Kazman et al.)
1. Present ATAM
2. Present business drivers
3. Present architecture
4. Identify architectural approaches
5. Generate quality attribute utility tree
6. Analyze approaches (round 1)
7. Brainstorm scenarios + prioritize
8. Analyze approaches (round 2)
9. Present results
#### [아키텍처 평가 기법 (Architecture Evaluation Techniques)]
- [[ATAM (Architecture Tradeoff Analysis Method)]]
- 연결 이유: SARA 보고서 내에서 기법 비교 및 평가의 주요 대상으로 언급되는 대표적인 소프트웨어 아키텍처 평가 방법론입니다 [1].
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 아키텍처 설계 시나리오를 바탕으로 품질 속성(Quality Attributes)을 평가하고 기술적 타협점(Trade-offs)과 위험 요소를 체계적으로 분석하는 방법 [1], [3].
### 매 산출물
- Utility tree: quality attribute → scenario → priority/difficulty.
- Risk / non-risk / sensitivity point / tradeoff point.
- Architectural decision record (ADR) update.
- [[TARA]]
- 연결 이유: ATAM과 더불어 SARA 프레임워크에서 평가 기법 비교를 위해 다루어지는 또 다른 아키텍처 평가 수단입니다 [1].
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 여러 아키텍처 평가 기법들이 가진 목적과 산업 현장에서의 평가 방법론적 차이.
### 매 응용
1. Pre-launch architecture sign-off.
2. Major refactor / re-platforming 의사결정.
3. M&A due diligence.
4. AWS/GCP Well-Architected formal review.
- [[Architecture Evaluation (아키텍처 평가)]]
- 연결 이유: SARA 프레임워크가 본질적으로 속해 있는 상위 개념으로, 소프트웨어 아키텍처 설계의 4가지 핵심 활동(분석, 합성, 평가, 진화) 중 하나입니다 [1].
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 설계된 아키텍처가 요구사항(기능적/비기능적)을 얼마나 잘 충족하는지 판단하고, 설계 결정을 내리거나 구조를 개선하기 위해 수행되는 전체적인 리뷰 과정 [1].
## 💻 패턴
### Deeper Research Questions
(소스에 관련 정보가 부족하여 SARA의 구체적인 메커니즘을 알 수 없으므로, 향후 심층적인 외부 조사를 수행하기 위한 질문을 구성합니다.)
- SARA 보고서에서 제시하는 아키텍처 평가 기법들 간의 주요 비교 기준(지표)은 무엇인가?
- SARA 프레임워크를 기반으로 아키텍처 리뷰를 수행할 때 요구되는 구체적인 단계와 산출물은 무엇인가?
- SARA가 기존의 ATAM이나 TARA 모델과 비교하여 실무 프로젝트에 제공하는 고유한 장점과 한계점은 무엇인가?
- 최신 마이크로서비스(Microservices) 또는 서버리스(Serverless) 분산 아키텍처 환경에서도 SARA 평가 방법론을 원활하게 적용할 수 있는가?
- 아키텍처 평가 과정에서 확인된 트레이드오프(Trade-off) 결과가 소프트웨어 생명주기(SDLC) 전반의 유지보수 비용 관리에 어떻게 기여하는가?
### Practical Application Contexts
소스에 관련 정보가 부족합니다.
- **Implementation:** 소스에 관련 정보가 부족합니다.
- **System Design:** 소스에 관련 정보가 부족합니다.
- **Operation / Maintenance:** 소스에 관련 정보가 부족합니다.
- **Learning Path:** 소스에 관련 정보가 부족합니다.
- **My Project Relevance:** 소스에 관련 정보가 부족합니다.
### Adjacent Topics
- [[Software Architecture Erosion (소프트웨어 아키텍처 침식)]]
- 확장 방향: SARA와 같은 체계적인 아키텍처 평가 및 리뷰가 부재할 경우, 시간이 지남에 따라 초기의 설계 의도와 실제 구현 간의 격차가 벌어지는 현상을 이해하고 이를 예방하는 방법론적 지식으로 확장 [4], [5].
---
*Last updated: 2026-05-02*
## 📖 구조화된 지식 (Synthesized Content)
**추출된 패턴:**
> *(TODO)*
**세부 내용:**
- *(TODO)*
## 🤖 LLM 활용 힌트 (How to Use This Knowledge)
**언제 이 지식을 쓰는가:**
- *(TODO)*
**언제 쓰면 안 되는가:**
- *(TODO)*
## 🧪 검증 상태 (Validation)
- **정보 상태:** needs_review
- **출처 신뢰도:** A
- **검토 이유:** *(P-Reinforce Phase 1 자동 정규화. 본문 검증 필요.)*
## 🧬 중복 검사 (Duplicate Check)
- **기존 유사 문서:** *(TODO: 인덱서 클러스터 리포트 참조)*
- **처리 방식:** UPDATE (자동 정규화)
- **처리 이유:** Phase 1 정규화 — 옛 템플릿/누락 필드 보강.
## 🕓 변경 이력 (Changelog)
| 날짜 | 변경 내용 | 처리 방식 | 신뢰도 |
|------|-----------|-----------|--------|
| 2026-05-08 | P-Reinforce Phase 1 정규화 (frontmatter + 헤더 표준화) | UPDATE | A |
## 💻 코드 패턴 (Code Patterns)
**패턴 1:** *(TODO: 이 프로젝트 컨벤션 반영한 구조 스켈레톤)*
```text
# TODO
### Utility tree (markdown)
```markdown
- Performance
- Latency
- [H, M] p99 checkout < 300ms under 10k rps
- [M, L] search autocomplete < 80ms
- Throughput
- [H, H] sustained 50k rps with 3 AZ failover
- Availability
- [H, M] 99.95% monthly, RPO=5min, RTO=15min
- Security
- [H, H] all PII encrypted at rest, TLS 1.3 in transit
- Modifiability
- [M, M] new payment provider 매 < 2 sprint
# [Importance, Difficulty]: H/M/L
```
## 🤔 의사결정 기준 (Decision Criteria)
### Scenario template
```yaml
id: SCN-007
quality: availability
source: AZ outage in us-east-1a
stimulus: complete loss of one AZ for 30 min
artifact: checkout service
environment: peak traffic, Black Friday
response: traffic auto-shifts to remaining 2 AZ
response_measure: error rate < 0.5% for full 30 min
priority: H
difficulty: M
```
**선택 A를 써야 할 때:**
- *(TODO)*
### Risk / Tradeoff log
```markdown
| ID | Type | Description | Affected QAs |
|----|------|-------------|--------------|
| R1 | Risk | Single Redis primary; failover untested | Availability |
| T1 | Tradeoff | Multi-region active-active raises consistency cost | Availability ↔ Consistency |
| S1 | Sensitivity | p99 latency depends on connection-pool size | Performance |
| NR1| Non-risk | Stateless API tier, autoscale verified | Scalability |
```
**선택 B를 써야 할 때:**
- *(TODO)*
### ADR (Architecture Decision Record)
```markdown
# ADR-0042: Adopt event-driven checkout via Kafka
**기본값:**
> *(TODO)*
Date: 2026-05-10
Status: accepted
Context: synchronous REST chain causes p99 spikes and tight coupling.
Decision: introduce Kafka topic `orders.v1`; checkout publishes; downstream
services (inventory, fulfilment, notify) consume independently.
Consequences:
+ Decoupling, replayability, easier multi-region.
- New ops surface (Kafka), schema-registry overhead.
- Eventual consistency: UI must surface "processing" state.
Alternatives considered: SQS (vendor lock), gRPC streaming (still coupled).
```
## ❌ 안티패턴 (Anti-Patterns)
### Wardley Map sketch (text)
```text
Visible
^ User --- Checkout UI
| |
| Order API ---- Payment Gateway (Stripe, product)
| |
| Order DB (Postgres, custom-built→product)
| |
| Compute (k8s on EKS, commodity)
v
Invisible
[Genesis] -- [Custom] -- [Product] -- [Commodity]
```
- **[안티패턴]:** *(TODO: 무엇을 하면 안 되는가 + 이유 + 대신 무엇을)*
### AWS Well-Architected lens (CLI)
```bash
# 매 AWS WA Tool — SARA-equivalent at AWS scale
aws wellarchitected create-workload \
--workload-name checkout-2026 \
--description "Checkout platform" \
--environment PRODUCTION \
--aws-regions us-east-1 us-west-2 \
--lenses arn:aws:wellarchitected::aws:lens/wellarchitected \
arn:aws:wellarchitected::aws:lens/serverless
```
### Lightweight LARA (lightweight ARID, 1-day variant)
```text
09:00 kickoff + business drivers
10:00 architect 30-min walkthrough
10:30 utility tree workshop
12:00 lunch
13:00 scenario brainstorm + dot voting
14:00 round-1 analysis (top 5 scenarios)
16:00 risk/tradeoff log finalize
17:00 readout to stakeholders
```
## 매 결정 기준
| 상황 | Approach |
|---|---|
| Greenfield, pre-launch | Full ATAM (3-day) |
| Time-boxed, single team | LARA (1-day) |
| Cloud-native AWS | Well-Architected Review per pillar |
| Continuous | ADR + monthly architecture council |
| Incomplete design | ARID (active review) |
| Cost-driven | CBAM |
**기본값**: 매 ADR + 매 quarterly LARA + 매 cloud Well-Architected annual.
## 🔗 Graph
- 부모: [[Software Architecture]] · [[Quality Attributes]]
- 변형: [[ATAM]] · [[SAAM]] · [[ARID]] · [[CBAM]]
- 응용: [[Architecture Decision Records]] · [[AWS Well-Architected]] · [[Wardley Mapping]]
- Adjacent: [[Risk_Management]] · [[Threat Modeling]] · [[Tech Radar]]
## 🤖 LLM 활용
**언제**: 매 utility tree 초안, 매 scenario 생성, 매 ADR 작성, 매 tradeoff 분석.
**언제 X**: 매 final sign-off — human architect + stakeholder accountability 필수.
## ❌ 안티패턴
- **Architecture astronautics**: 매 utility tree 만 만들고 매 scenario 분석 skip.
- **Single-quality focus**: 매 performance 만 — security/modifiability 무시.
- **Review without authority**: 매 결과를 매 누구도 implement 강제 못함.
- **One-shot review**: 매 launch 전 한 번 — drift 후 재평가 없음.
- **No ADR**: 매 결정의 *why* 가 없어 매 6개월 뒤 누구도 이유 모름.
- **Theatre review**: 매 형식적 sign-off, 매 실제 risk 미공개.
## 🧪 검증 / 중복
- Verified: SEI ATAM technical reports (Kazman, Klein, Clements 20002002); Bass et al. *Software Architecture in Practice* 4e (2021); AWS Well-Architected Framework (2025).
- 신뢰도 A.
## 🕓 Changelog
| 날짜 | 변경 |
|---|---|
| 2026-05-08 | Phase 1 |
| 2026-05-10 | Manual cleanup — ATAM 9-step, utility tree, ADR, Well-Architected |