μ΄ λ¦¬ν¬μ§ν 리λ μ°λ¦¬ νμ κΈ°μ μ μν€ν μ² κ²°μ μ κΈ°λ‘νκΈ° μν΄ μ‘΄μ¬ν©λλ€. λͺ¨λ μ€μν κΈ°μ κ²°μ μ κ·Έ λΉμμ λ§₯λ½, κ³ λ €νλ λμ, κ·Όκ±°, κ²°κ³Ό λ±μ λ¬Έμννμ¬ μ§μ κ°λ₯ν νμ , λΉ λ₯Έ μ¨λ³΄λ©, μΌκ΄λ κΈ°μ νλ¨μ κ°λ₯νκ² ν©λλ€.
ADR (Architecture Decision Record) λ νΉμ κΈ°μ μ λ¬Έμ μ λν΄ λ¬΄μμ, μ, μ΄λ»κ² κ²°μ νλμ§λ₯Ό κΈ°λ‘νλ λ¬Έμμ λλ€. μ§§κ³ λͺ νν λ¬Έμλ‘, μ΄νμ νμλ€μ΄ κ°μ κ²°μ μ λ°λ³΅νκ±°λ μ§λ¬Ένμ§ μλλ‘ λμμ€λλ€.
μ°Έκ³ : Architecture Decision Record
| λ²νΈ | μ λͺ© | μν | μμ½ |
|---|---|---|---|
| ADR-001 | Deprecate cron in favor of scheduler | π Superseded | cron λμ Airflowλ‘ μ ν |
| ADR-002 | Use Airflow for DAG orchestration | β Accepted | μν¬νλ‘μ° λκ΅¬λ‘ Airflow μ±ν |
| ADR-003 | Adopt batch processing for ETL | π‘ Proposed | λ°°μΉ κΈ°λ° νμ΄νλΌμΈ μ ν |
μλ‘μ΄ ADRμ μμ±νλ©΄ μ΄ νμλ μΆκ°ν΄μ£ΌμΈμ. (μν μ΄λͺ¨μ§λ λ³κ²½ κ°λ₯)
/adr
βββ docs
βββ adr-001-deprecate-cron.md
βββ adr-002-use-airflow-for-dag-orchestration.md
βββ adr-003-adopt-batch-processing.md
βββ template
βββ ADR-000-template.md
adr-XXX-short-title.mdνμ (λ²νΈλ μμ°¨μ μΌλ‘ μ¦κ°)- μ λͺ©μ [Verb + λμ + λ§₯λ½] νμμΌλ‘ μ§§κ²
μμ:
adr-004-adopt-prefect-for-orchestration.md
- π‘
Proposed: μ μλ μν, μμ§ κ²ν μ€ - β
Accepted: μ±νλ¨, μ€ν μ€μ΄κ±°λ μλ£λ¨ - β
Rejected: κ²ν λμμ§λ§ μ±νλμ§ μμ - π
Superseded: λ€λ₯Έ κ²°μ μ μν΄ λ체λ¨
template.mdλ₯Ό 볡μ¬ν΄ μ ADRμ μμ±νμΈμ.
κ° νλͺ©μ λν΄ λ€μκ³Ό κ°μ μ§λ¬Έμ λ΅νλ©° μμ±ν©λλ€:
| νλͺ© | μ§λ¬Έ |
|---|---|
| Context | μ μ΄ κ²°μ μ΄ νμνκ°? μ΄λ€ λ¬Έμ κ° μμλ? |
| Decision | μ°λ¦¬λ 무μμ κ²°μ νλκ°? |
| Alternatives | λ€λ₯Έ λμμ 무μμ΄ μμκ³ , μ μ ννμ§ μμλ? |
| Rationale | μ΄ μ νμ΄ κ°μ₯ μ ν©νλ€κ³ νλ¨ν μ΄μ λ? |
| Consequences | μ΄ κ²°μ μΌλ‘ μΈν΄ λ°μν μν₯μ? |
| Related Decisions | κ΄λ ¨λ λ€λ₯Έ ADRμ΄ μλκ°? |
| References | μ°Έκ³ ν λ¬Έμ, νμ κΈ°λ‘ λ±μ? |
{TBD}
- μ ADRμ μμ±ν κ²½μ°
template.mdλ₯Ό 볡μ¬ν΄ λ²νΈλ₯Ό λΆμ΄μΈμ. - ν λ΄μμ λ
Όμ ν
Statusλ₯ΌAcceptedλ‘ λ°κΎΈμ΄ λ³ν©ν©λλ€. - κΈ°μ‘΄ ADRμ λ체ν κ²½μ°,
README.mdμ ADR λͺ©λ‘μ μνλ₯Όπ Supersededλ‘ λ³κ²½νμΈμ. - λ°λμ μ ADR λͺ©λ‘μλ νλͺ©μ μΆκ°νμΈμ.
π§ βκΈ°μ΅μ νλ €μ§μ§λ§, κΈ°λ‘μ λ¨λλ€.β β μμ¬κ²°μ μ λ―Έλμ νμμκ² μ λ¬ΌνμΈμ.