--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Serverless Architecture]] last_updated: 2026-05-02 --- # [[Serverless Architecture]] ## πŸ“Œ Brief Summary μ„œλ²„λ¦¬μŠ€ μ•„ν‚€ν…μ²˜(Serverless Architecture)λŠ” κ°œλ°œμžκ°€ μ„œλ²„ 인프라λ₯Ό ν”„λ‘œλΉ„μ €λ‹ν•˜κ±°λ‚˜ 직접 관리할 ν•„μš” 없이, ν΄λΌμš°λ“œ μ œκ³΅μ—…μ²΄κ°€ λ¦¬μ†ŒμŠ€ ν• λ‹Ήκ³Ό ν™•μž₯을 λ™μ μœΌλ‘œ κ΄€λ¦¬ν•˜λŠ” ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ μ†Œν”„νŠΈμ›¨μ–΄ 섀계 νŒ¨ν„΄μ΄λ‹€ [1-3]. μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ 주둜 νŠΉμ • μ΄λ²€νŠΈμ— μ˜ν•΄ νŠΈλ¦¬κ±°λ˜λŠ” μ†Œκ·œλͺ¨μ˜ 독립적인 ν•¨μˆ˜(Function as a Service) ν˜•νƒœλ‘œ 배포되며, νŠΈλž˜ν”½μ— 맞좰 μžλ™μœΌλ‘œ μŠ€μΌ€μΌλ§λœλ‹€ [2, 4, 5]. 유휴 μ‹œκ°„ 없이 μ½”λ“œκ°€ μ‹€μ œ μ‹€ν–‰λœ μ‹œκ°„μ— λŒ€ν•΄μ„œλ§Œ λΉ„μš©μ„ μ§€λΆˆν•˜λŠ” μ’…λŸ‰μ œ λͺ¨λΈμ„ 톡해 μŠ€νƒ€νŠΈμ—…κ³Ό 예츑 λΆˆκ°€λŠ₯ν•œ μ›Œν¬λ‘œλ“œλ₯Ό κ°€μ§„ ν”„λ‘œμ νŠΈμ— 높은 κ²½μ œμ„±κ³Ό 개발 민첩성을 μ œκ³΅ν•œλ‹€ [1, 6, 7]. ## πŸ“– Core Content * **인프라 κ΄€λ¦¬μ˜ 좔상화 (No Infrastructure Management):** 'μ„œλ²„λ¦¬μŠ€'λΌλŠ” λͺ…칭은 μ„œλ²„κ°€ 물리적으둜 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” 뜻이 μ•„λ‹ˆλΌ, 운영 체제 관리, 패치 적용, μ„œλ²„ ν”„λ‘œλΉ„μ €λ‹ λ“±μ˜ 인프라 운영 μ±…μž„μ„ AWS, Azure, Google Cloud와 같은 ν΄λΌμš°λ“œ μ œκ³΅μžμ—κ²Œ μ „μ μœΌλ‘œ μœ„μž„ν•œλ‹€λŠ” 것을 μ˜λ―Έν•œλ‹€ [1, 2, 8, 9]. 이λ₯Ό 톡해 κ°œλ°œμžλŠ” μˆœμˆ˜ν•˜κ²Œ λΉ„μ¦ˆλ‹ˆμŠ€ 둜직과 μ½”λ“œ μž‘μ„±μ—λ§Œ 집쀑할 수 μžˆλ‹€ [9, 10]. * **이벀트 기반 ν•¨μˆ˜ μ‹€ν–‰ (Event-Driven Functions):** μ„œλ²„λ¦¬μŠ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ HTTP μš”μ²­, λ°μ΄ν„°λ² μ΄μŠ€ μƒνƒœ λ³€κ²½, 파일 μ—…λ‘œλ“œ, μ˜ˆμ•½λœ μž‘μ—…(Scheduled tasks) λ“±κ³Ό 같은 μ΄λ²€νŠΈμ— λ°˜μ‘ν•˜μ—¬ λΉ„λ™κΈ°μ μœΌλ‘œ μ‹€ν–‰λ˜λŠ” κ°œλ³„ ν•¨μˆ˜μ˜ μ§‘ν•©μœΌλ‘œ κ΅¬μ„±λœλ‹€ [2, 4]. * **μžλ™ν™”λœ 탄λ ₯적 ν™•μž₯ (Automatic Scalability):** νŠΈλž˜ν”½μ΄ κΈ‰μ¦ν•˜κ±°λ‚˜ 변동성이 맀우 큰 μ›Œν¬λ‘œλ“œ ν™˜κ²½μ—μ„œλ„, ν΄λΌμš°λ“œ ν”Œλž«νΌμ΄ μˆ˜μš”μ— 맞게 μ‹€μ‹œκ°„μœΌλ‘œ λ¦¬μ†ŒμŠ€λ₯Ό ν• λ‹Ήν•˜κ³  ν•¨μˆ˜λ₯Ό λ³΅μ œν•˜μ—¬ μ²˜λ¦¬ν•œλ‹€ [10, 11]. 이 과정은 μˆ˜λ™ κ°œμž… 없이 이루어지며, 기본적으둜 κ³ κ°€μš©μ„±(High Availability) 및 내결함성(Fault Tolerance)을 λ‚΄μž₯ν•˜κ³  μžˆλ‹€ [4, 12, 13]. * **μ‚¬μš©λŸ‰ 기반의 경제적인 과금 λͺ¨λΈ (Pay-per-use Pricing):** μ½”λ“œκ°€ μ‹€ν–‰λ˜λŠ” μ»΄ν“¨νŒ… μ‹œκ°„μ— λŒ€ν•΄μ„œλ§Œ μš”κΈˆμ΄ λΆ€κ³Όλ˜λ―€λ‘œ μ„œλ²„κ°€ 유휴 μƒνƒœμΌ λ•ŒλŠ” λΉ„μš©μ΄ λ°œμƒν•˜μ§€ μ•ŠλŠ”λ‹€ [6, 7, 12]. 쀑간 규λͺ¨ μ΄ν•˜μ˜ νŠΈλž˜ν”½μ„ κ°€μ§„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλŠ” κΈ°μ‘΄ ν΄λΌμš°λ“œ ν˜ΈμŠ€νŒ… 방식보닀 μ΅œλŒ€ 70%κΉŒμ§€ λΉ„μš©μ„ μ ˆκ°ν•  수 μžˆμ–΄ MVP 개발 및 μ‹ μ†ν•œ ν”„λ‘œν† νƒ€μ΄ν•‘μ— 맀우 μ ν•©ν•˜λ‹€ [1, 7, 10]. ## βš–οΈ Trade-offs & Caveats * **μ½œλ“œ μŠ€νƒ€νŠΈ μ§€μ—° (Cold Start Latency):** ν•¨μˆ˜κ°€ 일정 μ‹œκ°„ λ™μ•ˆ ν˜ΈμΆœλ˜μ§€ μ•Šμ•„ λΉ„ν™œμ„± μƒνƒœμ— 머무λ₯΄λ‹€κ°€ λ‹€μ‹œ 싀행될 λ•Œ, ν΄λΌμš°λ“œ ν™˜κ²½μ΄ μ»¨ν…Œμ΄λ„ˆλ₯Ό μ΄ˆκΈ°ν™”ν•˜λŠ” κ³Όμ •μ—μ„œ μ§€μ—° μ‹œκ°„(μ΅œλŒ€ 5초 λ“±)이 λ°œμƒν•œλ‹€ [6, 12-14]. μ΄λŠ” μ‹€μ‹œκ°„ 응닡이 맀우 μ€‘μš”ν•œ μ±„νŒ…, κ²Œμž„, νŠΈλ ˆμ΄λ”© μ‹œμŠ€ν…œμ—μ„œλŠ” 치λͺ…적인 약점이 될 수 μžˆλ‹€ [13, 14]. * **μ‹€ν–‰ μ‹œκ°„ 및 λ©”λͺ¨λ¦¬ μ œμ•½ (Execution & Resource Limits):** μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜λŠ” μ‹€ν–‰ μ‹œκ°„μ— μ—„κ²©ν•œ μ œμ•½(예: AWS Lambda의 경우 μ΅œλŒ€ 15λΆ„)을 κ°€μ§€λ©°, λ©”λͺ¨λ¦¬ λ¦¬μ†ŒμŠ€λ„ ν•œμ •λ˜μ–΄ μžˆλ‹€ [6, 15, 16]. λ”°λΌμ„œ 였랜 μ‹œκ°„μ΄ κ±Έλ¦¬λŠ” λ°±κ·ΈλΌμš΄λ“œ μž‘μ—…μ΄λ‚˜ λŒ€κ·œλͺ¨ λ¦¬μ†ŒμŠ€ 집약적인 데이터 처리 ν”„λ‘œμ„ΈμŠ€μ—λŠ” λΆ€μ ν•©ν•˜λ‹€ [15-17]. * **벀더 쒅속성 (Vendor Lock-in):** νŠΉμ • ν΄λΌμš°λ“œ μ œκ³΅μ—…μ²΄μ˜ λ…μžμ μΈ μƒνƒœκ³„μ™€ 도ꡬ에 κ°•ν•˜κ²Œ κ²°ν•©λ˜λ―€λ‘œ, ν–₯ν›„ λ‹€λ₯Έ ν΄λΌμš°λ“œ ν”Œλž«νΌ(AWSμ—μ„œ Azure λ“±)으둜 λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ν•˜κ³ μž ν•  λ•Œ μ½”λ“œμ™€ μ•„ν‚€ν…μ²˜λ₯Ό λŒ€λŒ€μ μœΌλ‘œ μˆ˜μ •ν•΄μ•Ό ν•˜λŠ” λ“± 높은 μ „ν™˜ λΉ„μš©μ΄ λ°œμƒν•œλ‹€ [6, 12, 16, 18]. * **디버깅 및 λͺ¨λ‹ˆν„°λ§μ˜ λ³΅μž‘μ„± (Debugging & Observability Challenges):** μ½”λ“œκ°€ λ‹€μˆ˜μ˜ λΆ„μ‚°λœ 독립 ν•¨μˆ˜λ‘œ νŒŒνŽΈν™”λ˜μ–΄ λΉ„λ™κΈ°μ μœΌλ‘œ μ‹€ν–‰λ˜κΈ° λ•Œλ¬Έμ— 둜컬 ν™˜κ²½μ—μ„œμ˜ ν…ŒμŠ€νŠΈκ°€ μ–΄λ ΅κ³  μ—λŸ¬μ˜ κ·Όλ³Έ 원인을 μΆ”μ ν•˜κΈ°κ°€ 맀우 κΉŒλ‹€λ‘­λ‹€ [12, 19, 20]. 이λ₯Ό κ΄€λ¦¬ν•˜λ €λ©΄ Datadog, New Relicκ³Ό 같은 λΆ„μ‚° 좔적(Distributed tracing) κΈ°λŠ₯이 ν¬ν•¨λœ 특수 κ΄€μΈ‘μ„± 도ꡬ가 ν•„μˆ˜μ μ΄λ‹€ [20, 21]. * **규λͺ¨μ˜ 경제 μ—­μ „ λΉ„μš© (Cost Inefficiency at Scale):** 초기 및 변동성 νŠΈλž˜ν”½μ—μ„œλŠ” λΉ„μš© νš¨μœ¨μ μ΄μ§€λ§Œ, 호좜 λ³Όλ₯¨μ΄ μ§€μ†μ μœΌλ‘œ 맀우 λ†’κ±°λ‚˜ μž₯μ‹œκ°„ μ‹€ν–‰λ˜λŠ” μ›Œν¬λ‘œλ“œμ˜ 경우, μ§€μ†μ μœΌλ‘œ ν• λ‹Ήλœ 가상 λ¨Έμ‹ (VM)을 μœ μ§€ν•˜λŠ” 것보닀 였히렀 μ»΄ν“¨νŒ… λΉ„μš©μ΄ μ΄ˆκ³Όλ˜μ–΄ κ²½μ œμ„±μ΄ λ–¨μ–΄μ§ˆ 수 μžˆλ‹€ [12, 17]. ## πŸ”— Knowledge Connections ### Related Concepts #### [관계 μœ ν˜• A (μ•„ν‚€ν…μ²˜ 섀계 사상)] - [[Event-Driven Architecture]] - μ—°κ²° 이유: μ„œλ²„λ¦¬μŠ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 핡심 λ™μž‘ μ›λ¦¬λŠ” HTTP μš”μ²­, 파일 μ—…λ‘œλ“œ λ“±μ˜ μ΄λ²€νŠΈκ°€ λ°œμƒν•  λ•Œ ν•¨μˆ˜κ°€ νŠΈλ¦¬κ±°λ˜λŠ” 비동기식 이벀트 ꡬ쑰에 μ² μ €νžˆ μ˜μ‘΄ν•˜κΈ° λ•Œλ¬Έμ΄λ‹€ [2, 4]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ„œλ²„λ¦¬μŠ€ ν™˜κ²½μ—μ„œ μˆ˜λ§Žμ€ κ°œλ³„ ν•¨μˆ˜λ“€μ΄ 쀑앙 μ„œλ²„ 없이 μ–΄λ–»κ²Œ λŠμŠ¨ν•˜κ²Œ κ²°ν•©(Loose coupling)λ˜μ–΄ μƒν˜Έμž‘μš©ν•˜κ³ , νŠΈλž˜ν”½ 폭증 μ‹œ 이벀트λ₯Ό μ–΄λ–»κ²Œ λ³‘λ ¬λ‘œ μ²˜λ¦¬ν•˜λŠ”μ§€ 원리λ₯Ό 이해할 수 μžˆλ‹€ [22, 23]. - [[Microservices Architecture]] - μ—°κ²° 이유: λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ₯Ό κ΅¬ν˜„ν•˜κ³  λΆ„λ¦¬ν•˜λŠ” κ°€μž₯ ν˜„λŒ€μ μ΄κ³  κ³ λ„ν™”λœ 방법 쀑 ν•˜λ‚˜κ°€ 각각의 λΉ„μ¦ˆλ‹ˆμŠ€ κΈ°λŠ₯을 λ…λ¦½λœ μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜λ‘œ κ΅¬ν˜„ν•˜μ—¬ λ°°ν¬ν•˜λŠ” 것이기 λ•Œλ¬Έμ΄λ‹€ [23-25]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: λͺ¨λ†€λ¦¬μ‹ μ•„ν‚€ν…μ²˜λ₯Ό μž‘μ€ λ‹¨μœ„μ˜ 독립적인 μ„œλΉ„μŠ€λ‘œ λΆ„ν•΄ν•˜μ—¬ ν™•μž₯μ„±κ³Ό 탄λ ₯성을 ν™•λ³΄ν•˜λŠ” μ•„ν‚€ν…μ²˜μ˜ μ§„ν™” κ³Όμ •κ³Ό λΆ„μ‚° μ‹œμŠ€ν…œμ˜ λ³΅μž‘μ„±μ„ 이해할 수 μžˆλ‹€ [25, 26]. - [[Modular Monolith]] - μ—°κ²° 이유: μ„œλ²„λ¦¬μŠ€μ™€ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€κ°€ μ•ΌκΈ°ν•˜λŠ” 극단적인 λΆ„μ‚° μ‹œμŠ€ν…œμ˜ 디버깅, λͺ¨λ‹ˆν„°λ§ λ³΅μž‘μ„±μ— λŒ€ν•œ λŒ€μ•ˆμœΌλ‘œ, νŒ€ 규λͺ¨λ‚˜ μš”κ΅¬μ‚¬ν•­μ— 따라 μ„œλ²„λ¦¬μŠ€ λŒ€μ‹  단일 μ½”λ“œλ² μ΄μŠ€ λ‚΄μ—μ„œ 논리적 λͺ¨λ“ˆμ„ λΆ„λ¦¬ν•˜μ—¬ ν†΅μ œλ ₯을 ν™•λ³΄ν•˜λŠ” μ ‘κ·Ό 방식이기 λ•Œλ¬Έμ΄λ‹€ [27-29]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν”„λ‘œμ νŠΈ 초기 λ‹¨κ³„μ—μ„œ λ„€νŠΈμ›Œν¬ 지연이 μ—†λŠ” 단일 ν”„λ‘œμ„ΈμŠ€μ˜ 이점을 λˆ„λ¦΄μ§€, 인프라 관리λ₯Ό μœ„μž„ν•˜λŠ” μ„œλ²„λ¦¬μŠ€λ₯Ό 선택할지에 λŒ€ν•œ μ•„ν‚€ν…μ²˜μ˜ μ „λž΅μ  νŠΈλ ˆμ΄λ“œμ˜€ν”„(Trade-off)λ₯Ό ν•™μŠ΅ν•  수 μžˆλ‹€ [29-31]. #### [관계 μœ ν˜• B (κ΅¬ν˜„ 및 운영 ν™˜κ²½)] - [[Cloud-Native Computing]] - μ—°κ²° 이유: μ„œλ²„λ¦¬μŠ€ μ•„ν‚€ν…μ²˜λŠ” ν΄λΌμš°λ“œ 제곡자의 인프라 및 λ¦¬μ†ŒμŠ€ 동적 ν• λ‹Ή κΈ°λŠ₯에 μ „μ μœΌλ‘œ μ˜μ‘΄ν•˜λŠ” ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ μ„€κ³„μ˜ ꢁ극적인 ν˜•νƒœμ΄κΈ° λ•Œλ¬Έμ΄λ‹€ [1, 4, 32]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: ν΄λΌμš°λ“œ 인프라가 μ–΄λ–»κ²Œ λ™μ μœΌλ‘œ μžμ›μ„ ν• λ‹Ήν•˜κ³  μ˜€ν†  μŠ€μΌ€μΌλ§μ„ μ§€μ›ν•˜λŠ”μ§€, 그리고 ν΄λΌμš°λ“œ ν™˜κ²½μ— μ’…μ†λ¨μœΌλ‘œμ¨ λ°œμƒν•˜λŠ” 벀더 락인(Vendor Lock-in)의 근본적인 원인을 νŒŒμ•…ν•  수 μžˆλ‹€ [4, 16, 33]. ### Deeper Research Questions - μ„œλ²„λ¦¬μŠ€ μ•„ν‚€ν…μ²˜μ˜ κ°€μž₯ 큰 약점인 'μ½œλ“œ μŠ€νƒ€νŠΈ(Cold Start)'둜 μΈν•œ 초기 지연을 μ™„ν™”ν•˜κΈ° μœ„ν•΄ ν΄λΌμš°λ“œ μ œκ³΅μ—…μ²΄μ™€ μ•„ν‚€ν…νŠΈλ“€μ€ μ–΄λ– ν•œ μ΅œμ ν™” 기법(예: ν”„λ‘œλΉ„μ €λ‹λœ λ™μ‹œμ„± λ“±)을 μ μš©ν•˜κ³  μžˆλŠ”κ°€? - μ§€μ†μ μœΌλ‘œ 높은 νŠΈλž˜ν”½μ΄ λ°œμƒν•˜λŠ” μ—”ν„°ν”„λΌμ΄μ¦ˆ ν™˜κ²½μ—μ„œ μ„œλ²„λ¦¬μŠ€ λΉ„μš©μ΄ 가상 λ¨Έμ‹ (VM)μ΄λ‚˜ μ»¨ν…Œμ΄λ„ˆ(예: Kubernetes) 기반 λͺ¨λΈμ˜ μœ μ§€ λΉ„μš©μ„ μ΄ˆκ³Όν•˜κ²Œ λ˜λŠ” 손읡뢄기점(Break-even point)은 μ–΄λ–»κ²Œ μ‚°μ •ν•˜κ³  λͺ¨λ‹ˆν„°λ§ν•  수 μžˆλŠ”κ°€? - μƒνƒœλ₯Ό μœ μ§€ν•˜μ§€ μ•ŠλŠ”(Stateless) μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜μ˜ νŠΉμ„±μƒ, μ—¬λŸ¬ μ„œλΉ„μŠ€μ— 걸친 λ³΅μž‘ν•œ λΉ„μ¦ˆλ‹ˆμŠ€ νŠΈλžœμž­μ…˜μ„ μ²˜λ¦¬ν•  λ•Œ λ°μ΄ν„°μ˜ 일관성(Data Consistency)은 μ–΄λ–»κ²Œ 보μž₯ν•΄μ•Ό ν•˜λŠ”κ°€? - 벀더 쒅속성(Vendor Lock-in) 리슀크λ₯Ό μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ μ˜€ν”ˆμ†ŒμŠ€ ν”„λ ˆμž„μ›Œν¬(예: Serverless Framework)λ‚˜ μ»¨ν…Œμ΄λ„ˆν™”λœ ν•¨μˆ˜ 배포 방식 λ“± λ©€ν‹° ν΄λΌμš°λ“œ μ „λž΅μ„ μ–΄λ–»κ²Œ μ μš©ν•  수 μžˆλŠ”κ°€? - 기쑴의 λͺ¨λ†€λ¦¬μ‹ μ•„ν‚€ν…μ²˜ 기반 λ ˆκ±°μ‹œ μ‹œμŠ€ν…œμ„ μ„œλ²„λ¦¬μŠ€ μ•„ν‚€ν…μ²˜λ‘œ μ μ§„μ μœΌλ‘œ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜(예: μŠ€νŠΈλž­κΈ€λŸ¬ ν”Όκ·Έ νŒ¨ν„΄ ν™œμš©)ν•  λ•Œ μ§λ©΄ν•˜κ²Œ λ˜λŠ” 기술 뢀채 ν•΄κ²° 및 λ°μ΄ν„°λ² μ΄μŠ€ 뢄리 κ³Όμ œλŠ” 무엇인가? ### Practical Application Contexts - **Implementation:** AWS Lambda, Azure Functions, Google Cloud Functions와 같은 ν΄λΌμš°λ“œ FaaS(Function as a Service) ν”Œλž«νΌμ„ ν™œμš©ν•˜μ—¬, 인프라 μ„ΈνŒ… 없이 HTTP μš”μ²­μ΄λ‚˜ 파일 μ—…λ‘œλ“œ μ‹œ 싀행될 단일 λΉ„μ¦ˆλ‹ˆμŠ€ 둜직(μ½”λ“œ μŠ€λ‹ˆνŽ«)λ§Œμ„ μž‘μ„±ν•˜κ³  λ°°ν¬ν•œλ‹€. - **System Design:** νŠΈλž˜ν”½μ„ μ˜ˆμΈ‘ν•  수 μ—†κ±°λ‚˜ 간헐적인 μ›Œν¬λ‘œλ“œ(예: 이메일 λ°œμ†‘, 이미지 리사이징, 비정기적인 데이터 λ³€ν™˜)μ—λŠ” μ„œλ²„λ¦¬μŠ€λ₯Ό μš°μ„  μ μš©ν•˜κ³ , μ§€μ†μ μœΌλ‘œ λΉ λ₯Έ 응닡이 ν•„μš”ν•œ μ½”μ–΄ μ„œλΉ„μŠ€λŠ” μ»¨ν…Œμ΄λ„ˆ/λͺ¨λ†€λ¦¬μŠ€λ‘œ κ΅¬μ„±ν•˜λŠ” ν•˜μ΄λΈŒλ¦¬λ“œ μ•„ν‚€ν…μ²˜(Hybrid Architecture)λ₯Ό μ„€κ³„ν•œλ‹€. - **Operation / Maintenance:** μ„œλ²„μ˜ OS νŒ¨μΉ˜λ‚˜ μš©λŸ‰ 증섀 λ“±μ˜ 운영 뢀담은 μ‚¬λΌμ§€μ§€λ§Œ, 잘게 μͺΌκ°œμ§„ μˆ˜λ§Žμ€ ν•¨μˆ˜ κ°„μ˜ 호좜 흐름과 비동기 μ—λŸ¬λ₯Ό μΆ”μ ν•˜κΈ° μœ„ν•΄ Datadog, New Relicκ³Ό 같은 κ°•λ ₯ν•œ λΆ„μ‚° 좔적(Distributed Tracing) 및 λ‘œκΉ… 인프라λ₯Ό λ°˜λ“œμ‹œ ꡬ좕해야 ν•œλ‹€. - **Learning Path:** 전톡적인 λͺ¨λ†€λ¦¬μ‹ 및 λ ˆμ΄μ–΄λ“œ μ•„ν‚€ν…μ²˜μ˜ ν•œκ³„λ₯Ό ν•™μŠ΅ν•œ ν›„, λΆ„μ‚° μ‹œμŠ€ν…œμΈ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ 섀계 원칙을 μ΄ν•΄ν•˜κ³ , μ΅œμ’…μ μœΌλ‘œ 인프라 κ΄€λ¦¬μ˜ μ±…μž„μ„ ν΄λΌμš°λ“œλ‘œ μ™„μ „νžˆ μœ„μž„ν•˜λŠ” μ„œλ²„λ¦¬μŠ€ 및 이벀트 기반 μ„€κ³„λ‘œ μ•„ν‚€ν…μ²˜ 지식을 ν™•μž₯ν•œλ‹€. - **My Project Relevance:** λΉ λ₯Έ μ‹œμž₯ μΆœμ‹œκ°€ μ΅œμš°μ„ μΈ μŠ€νƒ€νŠΈμ—…μ˜ MVP ν”„λ‘œμ νŠΈλ‚˜ λ§ˆμΌ€νŒ… 캠페인처럼 νŠΉμ • μ‹œμ μ—λ§Œ νŠΈλž˜ν”½μ΄ ν­μ¦ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κΈ°νšν•  λ•Œ, 초기 ν˜ΈμŠ€νŒ… λΉ„μš©μ„ 0으둜 λ§žμΆ”κ³  관리 μ˜€λ²„ν—€λ“œλ₯Ό μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•œ 핡심 λ°±μ—”λ“œ μ „λž΅μœΌλ‘œ λ„μž…μ„ κ²€ν† ν•  수 μžˆλ‹€. ### Adjacent Topics - [[Backend as a Service (BaaS)]] - ν™•μž₯ λ°©ν–₯: μ„œλ²„λ¦¬μŠ€ μƒνƒœκ³„λ₯Ό κ΅¬μ„±ν•˜λŠ” 또 λ‹€λ₯Έ μΆ•μœΌλ‘œ, μ‚¬μš©μž 인증, λ°μ΄ν„°λ² μ΄μŠ€, μŠ€ν† λ¦¬μ§€ λ“± λ°±μ—”λ“œμ˜ 곡톡 κΈ°λŠ₯ 전체λ₯Ό ν΄λΌμš°λ“œ API둜 μ œκ³΅λ°›μ•„ μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜(FaaS)와 κ²°ν•©ν•˜μ—¬ 코딩을 μ΅œμ†Œν™”ν•˜λŠ” μ•„ν‚€ν…μ²˜ 방식 연ꡬ. - [[Saga Pattern]] - ν™•μž₯ λ°©ν–₯: μ„œλ²„λ¦¬μŠ€λ‚˜ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ ν™˜κ²½μ²˜λŸΌ κ°œλ³„ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ°€μ§€λŠ” λΆ„μ‚° μ‹œμŠ€ν…œμ—μ„œ, μ€‘μ•™ν™”λœ νŠΈλžœμž­μ…˜ 관리가 λΆˆκ°€λŠ₯ν•  λ•Œ 데이터 μ •ν•©μ„±(Eventual Consistency)을 μœ μ§€ν•˜κΈ° μœ„ν•œ 보상 νŠΈλžœμž­μ…˜ 섀계 기법 연ꡬ. --- *Last updated: 2026-05-02* --- - [[Cloud_Native_Architecture]]: μ„œλ²„λ¦¬μŠ€κ°€ μ†ν•œ μƒμœ„ μ•„ν‚€ν…μ²˜ νŒ¨λŸ¬λ‹€μž„. - [[Microservices_Architecture]]: μ„œλ²„λ¦¬μŠ€ ν•¨μˆ˜λ“€μ΄ λͺ¨μ—¬ κ΅¬μ„±ν•˜λŠ” κ³ λ„λ‘œ λΆ„μ‚°λœ μ„œλΉ„μŠ€ 체계. - [[Event_Driven_Architecture]]: μ„œλ²„λ¦¬μŠ€μ˜ μ‹€ν–‰ 기반이 λ˜λŠ” 비동기 λ©”μ‹œμ§• λͺ¨λΈ. ## 1. κ°œμš” μ„œλ²„λ¦¬μŠ€ μ»΄ν“¨νŒ…(Serverless Computing)은 κ°œλ°œμžκ°€ μ„œλ²„ 인프라λ₯Ό 직접 κ΄€λ¦¬ν•˜μ§€ μ•Šκ³ , λΉ„μ¦ˆλ‹ˆμŠ€ 둜직인 'ν•¨μˆ˜(Function)' λ‹¨μœ„λ‘œ μ½”λ“œλ₯Ό λ°°ν¬ν•˜μ—¬ μ‹€ν–‰ν•˜λŠ” ν΄λΌμš°λ“œ λ„€μ΄ν‹°λΈŒ μ•„ν‚€ν…μ²˜ λͺ¨λΈμ΄λ‹€. μΈν”„λΌμ˜ ν™•μž₯, 패치, ν”„λ‘œλΉ„μ €λ‹μ€ ν΄λΌμš°λ“œ μ œκ³΅μžκ°€ μ „λ‹΄ν•˜λ©°, μ‚¬μš©μžλŠ” μ‹€μ œ μ½”λ“œκ°€ μ‹€ν–‰λœ μ‹œκ°„κ³Ό λ¦¬μ†ŒμŠ€μ— λŒ€ν•΄μ„œλ§Œ λΉ„μš©μ„ μ§€λΆˆν•œλ‹€. ## 2. 핡심 λ©”μ»€λ‹ˆμ¦˜ (FaaS) - **이벀트 트리거 (Event-driven)**: HTTP μš”μ²­, DB λ³€κ²½, 파일 μ—…λ‘œλ“œ λ“± νŠΉμ • μ΄λ²€νŠΈμ— μ˜ν•΄ ν•¨μˆ˜κ°€ μ¦‰μ‹œ 호좜됨. - **μžλ™ ν™•μž₯ (Auto-scaling)**: νŠΈλž˜ν”½μ˜ 증감에 따라 ν•¨μˆ˜ μΈμŠ€ν„΄μŠ€κ°€ 0μ—μ„œ λ¬΄ν•œλŒ€(ν”Œλž«νΌ ν•œκ³„κΉŒμ§€)둜 μ¦‰μ‹œ ν™•μž₯ 및 μΆ•μ†Œλ¨. - **λ¬΄μƒνƒœμ„± (Stateless)**: 각 ν•¨μˆ˜ 싀행은 독립적이며 이전 μ‹€ν–‰μ˜ μƒνƒœλ₯Ό μœ μ§€ν•˜μ§€ μ•ŠμŒ. μƒνƒœ μ €μž₯이 ν•„μš”ν•œ 경우 μ™ΈλΆ€ DBλ‚˜ μŠ€ν† λ¦¬μ§€λ₯Ό ν™œμš©. ## 3. μ‹€μ „ 적용 및 μ΅œμ ν™” - **ν”„λ ˆμž„μ›Œν¬λ³„ νŠΉμ„±**: - **Express/Fastify**: 가볍고 λΉ λ₯Έ μ΄ˆκΈ°ν™” μ†λ„λ‘œ 'μ½œλ“œ μŠ€νƒ€νŠΈ' μ§€μ—° μ΅œμ†Œν™”μ— 유리. - **NestJS**: κ΅¬μ‘°ν™”λœ λŒ€κ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ ν•©ν•˜λ‚˜, λ‘κΊΌμš΄ 좔상화 κ³„μΈ΅μœΌλ‘œ 인해 μ΄ˆκΈ°ν™” μ‹œ 더 λ§Žμ€ λ©”λͺ¨λ¦¬μ™€ μ‹œκ°„μ΄ μ†Œμš”λ  수 있음. - **JAMstack 톡합**: λ°±μ—”λ“œ λ‘œμ§μ„ μ„œλ²„λ¦¬μŠ€ API둜 μΆ”μƒν™”ν•˜μ—¬ ν”„λ‘ νŠΈμ—”λ“œμ™€ λ…λ¦½μ μœΌλ‘œ 배포 및 운영. ## 4. νŠΈλ ˆμ΄λ“œμ˜€ν”„ 및 μ£Όμ˜μ‚¬ν•­ - **μ½œλ“œ μŠ€νƒ€νŠΈ (Cold Starts)**: 유휴 μƒνƒœμ˜ ν•¨μˆ˜κ°€ 처음 싀행될 λ•Œ λ°œμƒν•˜λŠ” μ΄ˆκΈ°ν™” μ§€μ—° μ‹œκ°„. μ„±λŠ₯ μ΅œμ ν™”μ˜ 핡심 과제. - **ν”Œλž«νΌ 쒅속성 (Vendor Lock-in)**: νŠΉμ • ν΄λΌμš°λ“œ 제곡자(AWS, Azure, GCP)의 λ…μžμ μΈ λŸ°νƒ€μž„ ν™˜κ²½κ³Ό 트리거 방식에 결합될 μœ„ν—˜. - **λ””λ²„κΉ…μ˜ ν•œκ³„**: 둜컬 ν™˜κ²½κ³Ό μ‹€μ œ ν΄λΌμš°λ“œ ν™˜κ²½ κ°„μ˜ 차이둜 인해 λΆ„μ‚° 좔적 및 μ •λ°€ν•œ μ„±λŠ₯ νŠœλ‹μ΄ μ–΄λ €μšΈ 수 있음. ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ**: 검증 μ™„λ£Œ (Verified) - **좜처 신뒰도**: A - **κ²€ν†  이유**: 운영 λΉ„μš© μ΅œμ ν™”μ™€ 개발 생산성 κ·ΉλŒ€ν™”λ₯Ό μœ„ν•œ ν˜„λŒ€μ  ν΄λΌμš°λ“œ μ‹€ν–‰ λͺ¨λΈμ˜ ν‘œμ€€ κ°€μ΄λ“œ 정립.