--- id: P-REINFORCE-WIKI-03071FFF category: "10_Wiki/๐Ÿ’ก Topics/02_Architecture_Principles" confidence_score: 0.95 tags: ['๋น„๊ธฐ๋Šฅ์ -์š”๊ตฌ์‚ฌํ•ญ-(non-functional-requirements,-nfrs)', 'architecture-tradeoff-analysis-method-(atam)', 'architecture-decision-records-(adrs)', 'iso/iec-25010', 'microservices-architecture-pattern', 'architecture-principles'] last_reinforced: 2026-05-02 --- # [[๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ (Non-functional Requirements, NFRs)]] ## ๐Ÿ“Œ Brief Summary ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ(NFRs)์€ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์ด ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” '๋ฐฉ์‹'๊ณผ ๊ด€๋ จ๋œ ํ’ˆ์งˆ ์†์„ฑ(Quality Attributes)์„ ์ •์˜ํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค [1]. ์—ฌ๊ธฐ์—๋Š” ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ, ๋ณด์•ˆ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ๊ฐ€์šฉ์„ฑ ๋ฐ ์‹ ๋ขฐ์„ฑ ๋“ฑ์ด ํฌํ•จ๋˜๋ฉฐ, ์ข…์ข… ์•„ํ‚คํ…์ฒ˜์  ํŠน์„ฑ(Architectural Characteristics)์œผ๋กœ๋„ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค [1, 2]. ์ด๋Ÿฌํ•œ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์€ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„์™€ ํŒจํ„ด ์„ ํƒ์„ ์ฃผ๋„ํ•˜๋Š” ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๊ธฐ์ค€์  ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค [3, 4]. ## ๐Ÿ“– Core Content * **๊ฐœ๋… ๋ฐ ํ’ˆ์งˆ ๋ชจ๋ธ(Quality Models):** ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์€ ๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ(fault-tolerance), ํ•˜์œ„ ํ˜ธํ™˜์„ฑ, ํ™•์žฅ์„ฑ, ์‹ ๋ขฐ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ, ์‚ฌ์šฉ์„ฑ ๋“ฑ ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ํŠน์„ฑ์„ ํฌ๊ด„ํ•ฉ๋‹ˆ๋‹ค [1]. ISO/IEC 25010:2011 ํ‘œ์ค€์— ๋”ฐ๋ฅด๋ฉด, ์ด๋Ÿฌํ•œ ํ’ˆ์งˆ ์†์„ฑ์€ ์‹œ์Šคํ…œ ์ž‘๋™ ์ค‘ ๋‚˜ํƒ€๋‚˜๋Š” **๋Ÿฐํƒ€์ž„ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ**(์‹ ๋ขฐ์„ฑ, ์„ฑ๋Šฅ ํšจ์œจ์„ฑ, ๋ณด์•ˆ, ํ˜ธํ™˜์„ฑ ๋“ฑ)๊ณผ ์‹œ์Šคํ…œ์˜ ๊ฐœ๋ฐœ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ฃผ๊ธฐ์™€ ๊ด€๋ จ๋œ **๊ฐœ๋ฐœ ํƒ€์ž„ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ**(์œ ์ง€๋ณด์ˆ˜์„ฑ, ์ด์‹์„ฑ)์œผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [5]. * **์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์˜ ๊ธฐ์ค€ (Drivers for Architectural Decisions):** ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ ์ž์ฒด๊ฐ€ ์•„๋‹ˆ๋ผ, ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•œ ์ธํ”„๋ผ์™€ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค [3]. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋กœ์ ํŠธ์˜ ๋งฅ๋ฝ์— ๋”ฐ๋ผ "๊ณ ๊ฐ€์šฉ์„ฑ > ์„ฑ๋Šฅ", "๋น ๋ฅธ ์ถœ์‹œ > ์™„๋ฒฝํ•œ ํ™•์žฅ์„ฑ", "๋‚ฎ์€ ์šด์˜ ๋น„์šฉ > ์ตœ๋Œ€์˜ ์œ ์—ฐ์„ฑ" ๋“ฑ ํ•ต์‹ฌ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ช…ํ™•ํžˆ ๊ณ„๋Ÿ‰ํ™”ํ•˜์—ฌ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๊ตฌ์กฐ์  ์˜์‚ฌ๊ฒฐ์ •์˜ ๊ฐ๊ด€์  ๊ทผ๊ฑฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค [4, 6]. * **ํ‰๊ฐ€ ๋ฐ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•๋ก :** ํŠน์ • ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ด ์šฐ์„ ์ˆœ์œ„ํ™”๋œ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด ํ‰๊ฐ€ ๊ธฐ์ค€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค [7]. ISO 25010 ํ’ˆ์งˆ ๋ชจ๋ธ์˜ ๊ธฐ๋Šฅ ์ ํ•ฉ์„ฑ, ์„ฑ๋Šฅ ํšจ์œจ์„ฑ(์‹œ๊ฐ„ ํ–‰๋™, ์ž์› ํšจ์œจ์„ฑ), ํ˜ธํ™˜์„ฑ ์ง€ํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชฉ์  ๋ถ€ํ•ฉ์„ฑ์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค [8, 9]. ์ด ๊ณผ์ •์—์„œ ATAM(Architecture Tradeoff Analysis Method)๊ณผ ๊ฐ™์€ ๊ตฌ์ฒด์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค ๊ธฐ๋ฐ˜ ๋ถ„์„ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ๋ถ€ํ•˜, ์žฅ์•  ์ƒํ™ฉ ๋“ฑ์—์„œ ์‹œ์Šคํ…œ์ด ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•˜๋Š”์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค [10-12]. ## โš–๏ธ Trade-offs & Caveats * **๋ถˆ๊ฐ€ํ”ผํ•œ ์ƒ์ถฉ ๊ด€๊ณ„ (Trade-offs):** "์™„๋ฒฝํ•œ ์•„ํ‚คํ…์ฒ˜๋Š” ์—†๋‹ค"๋Š” ์›์น™์— ๋”ฐ๋ผ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ๋“ค ์‚ฌ์ด์—๋Š” ํ•ญ์ƒ ์ƒ์ถฉ ๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [11, 13]. ํŠน์ • ํ’ˆ์งˆ ์†์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๋ฉด ์ข…์ข… ๋‹ค๋ฅธ ์†์„ฑ์˜ ํฌ์ƒ์ด ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ทน๋‹จ์ ์œผ๋กœ ๋†’์€ ๋ณด์•ˆ์„ฑ(๊ณ ๊ฐ•๋„ ์•”ํ˜ธํ™”)์„ ์ถ”๊ตฌํ•˜๋ฉด ์„ฑ๋Šฅ(๋Œ€๊ธฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€)์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [11]. * **๋น„์šฉ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์˜ ์ €ํ•˜:** ๊ฐœ๋ฐœ ์†๋„(Fast delivery / Time to Market)๋ผ๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ์ตœ์šฐ์„ ์œผ๋กœ ํ•  ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์„ ์‰ฝ๊ฒŒ ์„ค๊ณ„ํ•  ์ˆ˜๋Š” ์žˆ์œผ๋‚˜, ํ–ฅํ›„ ์ฝ”๋“œ ์œ ์ง€๋ณด์ˆ˜์„ฑ(Maintainability)์ด ๋–จ์–ด์ง€๊ฑฐ๋‚˜ ๋†’์€ ๊ธฐ์ˆ  ๋ถ€์ฑ„(Technical Debt)๊ฐ€ ๋ฐœ์ƒํ•  ์œ„ํ—˜์ด ์ปค์ง‘๋‹ˆ๋‹ค [2, 11]. * **๊ตฌ์กฐ์  ๋ณต์žก์„ฑ์— ๋”ฐ๋ฅธ ๋ฐ˜๋Œ€ ๊ธ‰๋ถ€:** ๋†’์€ ํ™•์žฅ์„ฑ(Scalability)์ด๋‚˜ ์œ ์—ฐ์„ฑ ๋“ฑ ํŠน์ • NFR์„ ์ถฉ์กฑํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค(MSA)๋‚˜ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜(EDA) ๊ฐ™์€ ๋ถ„์‚ฐ ํ™˜๊ฒฝ ํŒจํ„ด์„ ๋„์ž…ํ•˜๋ฉด, ๊ฒฐ๊ณผ์ ์œผ๋กœ ํ†ต์‹  ์ง€์—ฐ(Network Latency), ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๋ณด์žฅ์˜ ์–ด๋ ค์›€, ๋””๋ฒ„๊น… ๋ฐ ํ…Œ์ŠคํŒ…์˜ ๋‚œ์ด๋„ ์ฆ๊ฐ€ ๋“ฑ ์šด์˜ ๋ณต์žก์„ฑ์ด๋ผ๋Š” ์ƒˆ๋กœ์šด ๋‹จ์ ์ด ์œ ๋ฐœ๋ฉ๋‹ˆ๋‹ค [14-16]. * **๊ฒฐ์ •์˜ ๋™์  ๋ณ€ํ™”์™€ ๋ฌธ์„œํ™” ํ•„์š”์„ฑ:** ์‹œ์Šคํ…œ์˜ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋งฅ๋ฝ์ด ๋ณ€ํ•จ์— ๋”ฐ๋ผ ์ดˆ๊ธฐ ์šฐ์„ ์ˆœ์œ„์— ๋‘์—ˆ๋˜ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ๋„ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [17]. ๋”ฐ๋ผ์„œ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ • ์‚ฌํ•ญ๊ณผ ๊ทธ์— ์ˆ˜๋ฐ˜๋œ ํƒ€ํ˜‘์ ์„ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ • ๊ธฐ๋ก(ADRs)๊ณผ ๊ฐ™์€ ์ˆ˜๋‹จ์„ ํ†ตํ•ด ๋ฌธ์„œํ™”ํ•˜์ง€ ์•Š์œผ๋ฉด, ํ–ฅํ›„ ํŒ€์›์ด๋‚˜ ์ดํ•ด๊ด€๊ณ„์ž๊ฐ€ ์‹œ์Šคํ…œ ์ง„ํ™” ๋ฐฉํ–ฅ์„ ํŒŒ์•…ํ•˜๊ฑฐ๋‚˜ ์œ ์ง€๋ณด์ˆ˜ํ•˜๋Š” ๋ฐ ํฐ ์–ด๋ ค์›€์„ ๊ฒช๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [18, 19]. ## ๐Ÿ”— Knowledge Connections ### Related Concepts #### [๊ด€๊ณ„ ์œ ํ˜• A: ์•„ํ‚คํ…์ฒ˜/ํ‰๊ฐ€ ๋ฐฉ๋ฒ•๋ก ] - [[Architecture Tradeoff Analysis Method (ATAM)]] - ์—ฐ๊ฒฐ ์ด์œ : ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ ๊ฐ„์˜ ์ƒ์ถฉ ๊ด€๊ณ„(Trade-offs)๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ ํ‰๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค [10, 11]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์ถ”์ƒ์ ์ธ '์„ฑ๋Šฅ'์ด๋‚˜ '๊ฐ€์šฉ์„ฑ' ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ตฌ์ฒด์ ์ธ ์‹œ์Šคํ…œ ๋ถ€ํ•˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, ์ˆจ๊ฒจ์ง„ ์•„ํ‚คํ…์ฒ˜ ์œ„ํ—˜๊ณผ ์ƒํ˜ธ์ž‘์šฉ์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐฉ์‹์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### [๊ด€๊ณ„ ์œ ํ˜• A: ์•„ํ‚คํ…์ฒ˜/๋ฌธ์„œํ™” ํ‘œ์ค€] - [[Architecture Decision Records (ADRs)]] - ์—ฐ๊ฒฐ ์ด์œ : ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋‚ด๋ฆฐ ์•„ํ‚คํ…์ฒ˜์  ์„ ํƒ, ํƒ€ํ˜‘์  ๋ฐ ํ–ฅํ›„ ๋ฆฌ์Šคํฌ๋ฅผ ์ง€์†์ ์œผ๋กœ ์ถ”์ ํ•˜๊ณ  ๋ฌธ์„œํ™”ํ•˜๋Š” ํ‘œ์ค€ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค [18, 19]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์กฐ์ง ๋‚ด์—์„œ ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ •์˜ ๋ฐฐ๊ฒฝ(์™œ ์ด ํŒจํ„ด์„ ๋ฒ„๋ฆฌ๊ณ  ๋‹ค๋ฅธ ํŒจํ„ด์„ ์„ ํƒํ–ˆ๋Š”์ง€)์„ ์–ด๋–ป๊ฒŒ ์†Œํ†ตํ•˜๊ณ  ์žฅ๊ธฐ์ ์œผ๋กœ ๋ณด์กดํ•˜๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### [๊ด€๊ณ„ ์œ ํ˜• A: ์•„ํ‚คํ…์ฒ˜/ํ’ˆ์งˆ ํ‘œ์ค€] - [[ISO/IEC 25010]] - ์—ฐ๊ฒฐ ์ด์œ : ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋‹ฌ์„ฑํ•ด์•ผ ํ•  ํ’ˆ์งˆ ์†์„ฑ(NFRs)์„ ๊ธฐ๋Šฅ ์ ํ•ฉ์„ฑ, ์„ฑ๋Šฅ ํšจ์œจ์„ฑ, ํ˜ธํ™˜์„ฑ, ์ƒํ˜ธ์ž‘์šฉ ๋Šฅ๋ ฅ ๋“ฑ์œผ๋กœ ์ฒด๊ณ„ํ™”ํ•œ ๊ตญ์ œ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค [5, 8]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘ ๋ฐ ์•„ํ‚คํ…์ฒ˜ ํ‰๊ฐ€ ์‹œ ์ธก์ • ๊ฐ€๋Šฅํ•œ ํ’ˆ์งˆ ์ง€ํ‘œ(Metrics)๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๊ณ  ํ‰๊ฐ€ ๊ธฐ์ค€์œผ๋กœ ์‚ผ๋Š”์ง€ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### [๊ด€๊ณ„ ์œ ํ˜• B: ํŒจํ„ด๊ณผ ๊ตฌ์กฐ์  ํ•ด๊ฒฐ์ฑ…] - [[Microservices Architecture Pattern]] - ์—ฐ๊ฒฐ ์ด์œ : ๋†’์€ ํ™•์žฅ์„ฑ(Scalability), ๋…๋ฆฝ์  ๋ฐฐํฌ์„ฑ(Deployability), ๊ฐ€์šฉ์„ฑ(Availability)์ด๋ผ๋Š” ํŠน์ •ํ•œ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์ฑ„ํƒ๋˜๋Š” ๋ถ„์‚ฐ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์ž…๋‹ˆ๋‹ค [20, 21]. - ์ด ๊ฐœ๋…์„ ํ†ตํ•ด ๋” ๊นŠ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„: NFR์„ ๊ทน๋Œ€ํ™”ํ•˜๋ ค๋Š” ์„ ํƒ์ด ์šด์˜ ๋น„์šฉ(Operational Complexity)์ด๋‚˜ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ผ๋Š” ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์  ํ•œ๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ์œ ๋ฐœํ•˜๋Š”์ง€ ์‹ค์‚ฌ๋ก€๋กœ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ### Deeper Research Questions - ์„ฑ๋Šฅ(Performance)๊ณผ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ(Consistency)๊ณผ ๊ฐ™์€ ์ƒ์ถฉํ•˜๋Š” ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ(NFR)์„ ๋™์‹œ์— ๋งŒ์กฑํ•ด์•ผ ํ•  ๋•Œ, ์•„ํ‚คํ…ํŠธ๋“ค์€ ์–ด๋–ค ์ „๋žต์œผ๋กœ ์ ์ ˆํ•œ ํƒ€ํ˜‘์ (Trade-offs)์„ ์„ค์ •ํ•˜๋Š”๊ฐ€? - ISO/IEC 25010์— ๋ช…์‹œ๋œ ๊ฐœ๋ฐœ ํƒ€์ž„ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ(์˜ˆ: ์œ ์ง€๋ณด์ˆ˜์„ฑ)๊ณผ ๋Ÿฐํƒ€์ž„ ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ(์˜ˆ: ์„ฑ๋Šฅ ํšจ์œจ์„ฑ) ๊ฐ„์˜ ์ถฉ๋Œ์€ ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ์„ค๊ณ„ ์‹œ ์–ด๋–ป๊ฒŒ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๊ฒฐ์ •๋˜๋Š”๊ฐ€? - ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(MSA) ๋˜๋Š” ์„œ๋ฒ„๋ฆฌ์Šค(Serverless)์™€ ๊ฐ™์€ ๋ถ„์‚ฐํ˜• ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์„ ๋„์ž…ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ณด์•ˆ(Security) ์š”๊ตฌ์‚ฌํ•ญ์˜ ๋ณ€ํ™”๋Š” ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜์™€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€? - ATAM(Architecture Tradeoff Analysis Method)์„ ํ†ตํ•ด ๋„์ถœํ•œ ์œ„ํ—˜ ์š”์†Œ(Risk)๋ฅผ ์• ์ž์ผ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก  ํ™˜๊ฒฝ์—์„œ ์–ด๋–ป๊ฒŒ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฒ€์ฆํ•˜๊ณ  ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง„ํ™”์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”๊ฐ€? - ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ์ด ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ณ€๋™ํ•  ๋•Œ, ์•„ํ‚คํ…์ฒ˜ ๊ฒฐ์ • ๊ธฐ๋ก(ADR) ๋ฌธ์„œ๋Š” ๋ณ€๊ฒฝ ๊ด€๋ฆฌ์— ์–ด๋–ค ๊ตฌ์ฒด์ ์ด๊ณ  ์‹ค์งˆ์ ์ธ ๋„์›€์„ ์ฃผ๋Š”๊ฐ€? ### Practical Application Contexts - **Implementation:** ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์‘๋‹ต ์‹œ๊ฐ„(์‹œ๊ฐ„ ํ–‰๋™), ์ฒ˜๋ฆฌ๋Ÿ‰, ์ž์› ํ™œ์šฉ๋„์™€ ๊ฐ™์€ ์„ฑ๋Šฅ ํšจ์œจ์„ฑ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋งŒ์กฑํ•˜๋„๋ก ์ฝ”๋”ฉ ๋ฐ ๋ฐฐํฌ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. - **System Design:** ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ ์‹œ ๋น„์ฆˆ๋‹ˆ์Šค ์ดํ•ด๊ด€๊ณ„์ž์™€ ํ•จ๊ป˜ ์ฃผ์š” NFR์˜ ๊ฐ€์ค‘์น˜(์˜ˆ: "๋ณด์•ˆ์„ฑ > ์†๋„")๋ฅผ ํ‰๊ฐ€ํ–‰๋ ฌ์— ๋„ฃ๊ณ , ์ด์— ๋ถ€ํ•ฉํ•˜๋Š” ์ตœ์ ์˜ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด(์˜ˆ: ๊ณ„์ธตํ˜• vs ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜)์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. - **Operation / Maintenance:** ๊ฐ€์šฉ์„ฑ ๋ฐ ๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ์— ๋Œ€ํ•œ NFR์ด ์‹ค์ œ ์‹œ์Šคํ…œ์—์„œ ์ง€์ผœ์ง€๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๊ทธ ํ†ตํ•ฉ ๋ฐ ๋ถ„์‚ฐ ํŠธ๋ ˆ์ด์‹ฑ์„ ํ†ตํ•œ ๋Ÿฐํƒ€์ž„ ์ƒํƒœ ๊ด€์ธก(Observability) ์ฒด๊ณ„๋ฅผ ์šด์˜ํ•ฉ๋‹ˆ๋‹ค. - **Learning Path:** ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฉด์ ‘(System Design Interview)์ด๋‚˜ ์„ค๊ณ„ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”๋ฅผ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์„ ๋ฐฐ์šฐ๊ณ , ๊ฐ๊ฐ์ด ํ™•์žฅ์„ฑ, ์žฅ์•  ํ—ˆ์šฉ์„ฑ ๋“ฑ ์–ด๋–ค NFR ํŠนํ™” ์†”๋ฃจ์…˜์ธ์ง€ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. - **My Project Relevance:** ํ˜„์žฌ ์ง„ํ–‰ ์ค‘์ธ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐํš ๋‹จ๊ณ„์—์„œ ํŒ€ ๊ทœ๋ชจ, ์˜ˆ์ƒ ํŠธ๋ž˜ํ”ฝ ๋ถ€ํ•˜, ์˜ˆ์‚ฐ, ๊ทœ์ œ ์ค€์ˆ˜ ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ NFR์„ ์ •์˜ํ•˜๊ณ , ๊ตฌ์กฐ์  ๋ณต์žก์„ฑ๊ณผ ์œ ์—ฐ์„ฑ ์‚ฌ์ด์˜ ์˜ฌ๋ฐ”๋ฅธ ํƒ€ํ˜‘์•ˆ์„ ์ œ์‹œํ•˜๋Š” ๊ธฐ์ดˆ ์ž๋ฃŒ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ### Adjacent Topics - [[Conway's Law]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์กฐ์™€ ๋น„๊ธฐ๋Šฅ์  ํ’ˆ์งˆ ์†์„ฑ(ํŠนํžˆ ๋ชจ๋“ˆ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ)์ด ํŒ€์˜ ์˜์‚ฌ์†Œํ†ต ๊ตฌ์กฐ์™€ ์–ด๋–ป๊ฒŒ ์ƒํ˜ธ ์˜ํ–ฅ์„ ์ฃผ๊ณ ๋ฐ›๋Š”์ง€ ์กฐ์ง์  ๊ด€์ ์—์„œ ํƒ๊ตฌํ•ฉ๋‹ˆ๋‹ค. - [[Technical Debt]] - ํ™•์žฅ ๋ฐฉํ–ฅ: ์ผ์ •์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์„ฃ๋ถˆ๋ฆฌ ๋‚ด๋ฆฐ ์•„ํ‚คํ…์ฒ˜ ํƒ€ํ˜‘์ด๋‚˜ ๋‚˜์œ ์„ค๊ณ„๊ฐ€ ์žฅ๊ธฐ์ ์œผ๋กœ ์œ ์ง€๋ณด์ˆ˜์„ฑ(Maintainability)์ด๋ผ๋Š” ๋น„๊ธฐ๋Šฅ์  ํ’ˆ์งˆ์— ์–ด๋– ํ•œ ๋น„์šฉ์œผ๋กœ ๋˜๋Œ์•„์˜ค๋Š”์ง€ ์—ฐ๊ตฌํ•ฉ๋‹ˆ๋‹ค. --- *Last updated: 2026-05-02*