msa

λͺ¨λ†€λ¦¬ν‹± μ•„ν‚€ν…μ²˜μ™€ λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜

λͺ¨λ†€λ¦¬ν‹± μ•„ν‚€ν…μ²˜(Monolithic Architecture)

  • image

    • https://www.nginx.com/blog/introduction-to-microservices/

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ•ˆμ— λͺ¨λ“  λΉ„μ¦ˆλ‹ˆμŠ€ 둜직이 λ‹€ λ“€μ–΄κ°€ μžˆλŠ” ꡬ쑰

  • 전톡적인 IT ν”„λ‘œμ νŠΈμ˜ 근간이 λ˜λŠ” 단일 ꡬ쑰 ν˜•μ‹

  • νŠΉμ§•

    • λ‹¨μΌν™”λœ 톡합 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚¬μš©

    • μ„œλΉ„μŠ€λ₯Ό 이루고 μžˆλŠ” 전체 κΈ°λŠ₯을 단 ν•˜λ‚˜μ˜ μ½”λ“œλ² μ΄μŠ€λ‘œ 개발(μΌμ›ν™”λœ μ½”λ“œ 체계)

  • μž₯점

    • λͺ¨λ“  것이 ν•˜λ‚˜μ˜ ν”„λ‘œμ νŠΈμ— λ“€μ–΄κ°€ 있기 λ•Œλ¬Έμ— 개발, λΉŒλ“œ, 배포, ν…ŒμŠ€νŠΈκ°€ μš©μ΄ν•©λ‹ˆλ‹€.

    • κΈ°μ‘΄ IDE와 νˆ΄μ„ μ΄μš©ν•΄ κ°œλ°œν•˜κΈ°κ°€ μš©μ΄ν•©λ‹ˆλ‹€.

    • 같은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ—¬λŸ¬ 개 두고 λ‘œλ“œ λ°ΈλŸ°μ„œλ₯Ό μ•žμ— λ‘λŠ” λ°©λ²•μœΌλ‘œ μ‰½κ²Œ ν™•μž₯(scale)ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

  • 단점

    • 기술이 λŠμž„μ—†μ΄ λ°”λ€ŒλŠ” ν™˜κ²½μ—μ„œ κΈ°μ‘΄ ν”„λ ˆμž„μ›Œν¬μ— μ˜μ‘΄μ„±μ΄ 생기며 잠재적인 문제 λ°œμƒ κ°€λŠ₯ν•©λ‹ˆλ‹€.

    • κΈ°λŠ₯이 λ§Žμ•„μ§€κ³  규λͺ¨κ°€ 컀져 λ³΅μž‘ν•΄μ§ˆμˆ˜λ‘ 지속적 톡합/배포(CI/CD) 및 μœ μ§€λ³΄μˆ˜κ°€ μ–΄λ ΅μŠ΅λ‹ˆλ‹€.

    • SPOF(Single Point of Failure) : ν•œ κ°€μ§€ κΈ°λŠ₯ μž₯μ•  λ°œμƒ μ‹œ 전체 μ„œλΉ„μŠ€ μž₯μ•  및 μ‚¬μš© λΆˆκ°€

    • μ—¬λŸ¬ λͺ¨λ“ˆμ΄ ν•¨κ»˜ μ‘΄μž¬ν•˜κΈ° λ•Œλ¬Έμ— 각 λͺ¨λ“ˆλ³„ νŠΉμ„±μ— λ§žλŠ” ν•˜λ“œμ›¨μ–΄ ν™•μž₯(scale-out)을 ν•˜κΈ° 어렀움

    • 전체 ν”„λ‘œμ„ΈμŠ€κ°€ ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€μ—μ„œ 돌기 λ•Œλ¬Έμ— μ•ˆμ •μ„±μ—λ„ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ—μ„œ λ©”λͺ¨λ¦¬ λˆ„μˆ˜(memory leak)κ°€ μΌμ–΄λ‚˜κ±°λ‚˜ ν”„λ‘œμ„ΈμŠ€κ°€ μ£½λŠ” 경우, 버그가 λ°œμƒν•˜λŠ” 경우 λ“± λͺ¨λ“  영ν–₯을 ν•œκΊΌλ²ˆμ— λ°›μŒ

    • μƒˆλ‘œμš΄ 기술, μ–Έμ–΄, ν”„λ ˆμž„μ›Œν¬ 등을 μ μš©ν•˜κΈ° μ–΄λ ΅μŠ΅λ‹ˆλ‹€. λΆ€λΆ„μ μœΌλ‘œ λ“€μ–΄λ‚΄λŠ” 것이 μ–΄λ ΅κΈ° λ•Œλ¬Έμ— 기술 λ…Έν›„κ°€ 올 λ•ŒκΉŒμ§€ 내버렀 λ‘κ²Œ 되고, ν•œμ°Έ 뒀에야 μ°¨μ„ΈλŒ€ ν”„λ‘œμ νŠΈλ‘œ 전체λ₯Ό κ°ˆμ•„μ—Žκ²Œ λ©λ‹ˆλ‹€.

λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜(Microservices architecture; MSA)

  • image

    • https://www.nginx.com/blog/introduction-to-microservices/

  • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λŠμŠ¨ν•˜κ²Œ κ²°ν•©λœ μ„œλΉ„μŠ€μ˜ λͺ¨μž„μœΌλ‘œ κ΅¬μ‘°ν™”ν•˜λŠ” μ„œλΉ„μŠ€ μ§€ν–₯ μ•„ν‚€ν…μ²˜(SOA) μŠ€νƒ€μΌμ˜ 일쒅인 μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œκΈ°λ²•

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ 더 μ‘°κ·Έλ§ˆν•œ μ—¬λŸ¬ μ„œλΉ„μŠ€λ₯Ό λΆ„ν•΄ν•  λ•Œμ˜ μž₯점은 λͺ¨λ“ˆμ„±μ„ κ°œμ„ ν•˜κ³  μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 이해, 개발, ν…ŒμŠ€νŠΈλ₯Ό 더 μ‰½κ²Œ ν•΄ μ£Όκ³  μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 침식에 더 탄λ ₯적으둜 λ§Œλ“€μ–΄ μ€λ‹ˆλ‹€.

  • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€λ₯Ό μ‚¬μš©ν•˜λ©΄ μ„œλΉ„μŠ€λ₯Ό 잘게 λΆ„λ¦¬ν•¨μœΌλ‘œμ¨ μ• μžμΌν•œ 개발 ν™˜κ²½κ³Ό 점점 더 λ³΅μž‘ν•΄μ§€λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λΆ„λͺ…ν•œ 이점이 μžˆμ§€λ§Œ, μ„œλΉ„μŠ€λ₯Ό λΆ„λ¦¬ν•˜λ©΄μ„œ μƒκΈ°λŠ” 단점도 μ‘΄μž¬ν•©λ‹ˆλ‹€.

  • 규λͺ¨κ°€ μž‘μ€ 자율적인 νŒ€λ“€μ΄ νŒ€λ³„ μ„œλΉ„μŠ€λ₯Ό λ…λ¦½μ μœΌλ‘œ 개발, μ „κ°œ, 규λͺ¨ ν™•μž₯을 ν•  수 있게 ν•¨μœΌλ‘œμ¨ λ³‘λ ¬λ‘œ κ°œλ°œν•  수 있게 ν•©λ‹ˆλ‹€. 지속적인 λ¦¬νŒ©ν„°λ§μ„ 톡해 개개의 μ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜κ°€ ν•˜λ‚˜λ‘œ 병합될 수 있게 ν—ˆμš©ν•©λ‹ˆλ‹€.

  • 콜 관리, 고객 관리 λ“± μ„œλΉ„μŠ€ λ‹¨μœ„λ‘œ λ‚˜λˆ„κ³  각각의 μ„œλΉ„μŠ€λ“€μ€ API ν˜•νƒœλ‘œ μ œκ³΅λ©λ‹ˆλ‹€. 각각의 μ„œλΉ„μŠ€λŠ” ν•˜λ‚˜μ˜ μž‘μ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ²˜λŸΌ 배포가 κ°€λŠ₯ν•©λ‹ˆλ‹€. λ”°λΌμ„œ λΆ€λΆ„μ μœΌλ‘œ μƒˆλ‘œμš΄ κΈ°λŠ₯을 μΆ”κ°€ν•˜κ±°λ‚˜, μƒˆλ‘œμš΄ κΈ°μˆ μ„ μ μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ λΆ€λΆ„μ μœΌλ‘œ μž₯μ• κ°€ λ°œμƒν•˜λ”λΌλ„ λ³΅κ΅¬ν•˜λŠ” λ™μ•ˆ ν•΄λ‹Ή μ„œλΉ„μŠ€μ™€ 연관이 μ—†λŠ” λ‹€λ₯Έ μ„œλΉ„μŠ€λŠ” 정상 λ™μž‘ν•©λ‹ˆλ‹€.

  • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ 기반 μ•„ν‚€ν…μ²˜λŠ” 지속적 배포와 μ „κ°œ(λ””ν”Œλ‘œμ΄)λ₯Ό κ°€λŠ₯μΌ€ ν•©λ‹ˆλ‹€.

  • νŠΉμ§•

    • MSA의 μ„œλΉ„μŠ€λ“€μ€ HTTP와 같은 기술 λΆˆκ°€μ§€λ‘ μ μΈ ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜μ—¬ λͺ©ν‘œλ₯Ό λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ λ„€νŠΈμ›Œν¬λ₯Ό 톡해 ν†΅μ‹ ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€λ“€μΈ κ²½μš°λ„ μžˆμŠ΅λ‹ˆλ‹€.

    • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜μ˜ μ„œλΉ„μŠ€λ“€μ€ 독립적인 μ „κ°œ(deploy)κ°€ κ°€λŠ₯ν•©λ‹ˆλ‹€.

    • μ„œλΉ„μŠ€ ꡐ체가 μ‰½μŠ΅λ‹ˆλ‹€.

    • μ„œλΉ„μŠ€λŠ” κΈ°λŠ₯λ³„λ‘œ λΆ„λ₯˜λ©λ‹ˆλ‹€.

    • μ„œλΉ„μŠ€λŠ” 졜적의 쑰건에 λΆ€ν•©ν•˜λŠ” 바에 따라 각기 λ‹€λ₯Έ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄, λ°μ΄ν„°λ² μ΄μŠ€, ν•˜λ“œμ›¨μ–΄, μ†Œν”„νŠΈμ›¨μ–΄ ν™˜κ²½μ„ μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

    • μ„œλΉ„μŠ€λ“€μ€ 규λͺ¨κ°€ μž‘κ³ , λ©”μ‹œμ§€ 전달이 κ°€λŠ₯ν•˜λ©° μ»¨ν…μŠ€νŠΈλ³„λ‘œ 묢이며 자율적으둜 개발되며 λ…λ¦½μ μœΌλ‘œ μ „κ°œν•  수 있으며 뢄산적이며 λΉŒλ“œκ°€ 되며 μžλ™ν™”λœ ν”„λ‘œμ„ΈμŠ€λ“€λ‘œ μΆœμ‹œλ©λ‹ˆλ‹€.

  • μž₯점

    • μ„œλΉ„μŠ€λ³„λ‘œ 독립적인 배포가 κ°€λŠ₯ν•©λ‹ˆλ‹€.

    • μŠ€μΌ€μΌλ§(Scaling) : νŠΉμ • μ„œλΉ„μŠ€ λΆ€ν•˜λ‘œ μŠ€μΌ€μΌλ§μ΄ ν•„μš”ν•  경우 ν•΄λ‹Ή μ„œλΉ„μŠ€λ§Œ ν™•μž₯

    • μž₯μ•  λŒ€μ‘ : 전체 μ„œλΉ„μŠ€ μ œκ³΅μ— λ―ΈμΉ˜λŠ” 영ν–₯ μ΅œμ†Œν™”

    • 닀쀑언어(Polyglot) : 각 μ„œλΉ„μŠ€λ§ˆλ‹€ λ‹€μ–‘ν•œ μ–Έμ–΄/ν™˜κ²½ ꡬ성 κ°€λŠ₯

  • 단점

    • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ λΆ„μ‚° μ‹œμŠ€ν…œμ΄λΌλŠ” μ‚¬μ‹€μ—μ„œ λ°œμƒν•˜λŠ” λ³΅μž‘μ„±μž…λ‹ˆλ‹€.

    • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ ν…ŒμŠ€νŠΈ 및 λ°°ν¬ν•˜λŠ” 것도 훨씬 더 λ³΅μž‘ν•©λ‹ˆλ‹€.

  • μ•„ν‚€ν…μ²˜

    • λͺ¨λ“ˆμ„±μ΄ μžˆλŠ” ꡬ쑰λ₯Ό μžμ—°μŠ€λŸ½κ²Œ κ°•μ œν•¨

    • 자기 μžμ‹ μ„ 지속적 배포 μ†Œν”„νŠΈμ›¨μ–΄ 개발 ν”„λ‘œμ„ΈμŠ€μ— μœ„μΉ˜μ‹œν‚΅λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ‚¬μ†Œν•œ λΆ€λΆ„μ˜ 변경은 ν•˜λ‚˜ μ΄μƒμ˜ 적은 수의 μ„œλΉ„μŠ€μ˜ λ‹€μ‹œ λΉŒλ“œ, μž¬μ „κ°œλ§Œμ„ ν•„μš”λ‘œ ν•©λ‹ˆλ‹€.

    • μ„¬μ„Έν•œ μΈν„°νŽ˜μ΄μŠ€(λ…λ¦½μ μœΌλ‘œ μ„œλΉ„μŠ€λ₯Ό μ „κ°œν•  수 있음), λΉ„μ¦ˆλ‹ˆμŠ€ μ£Όλ„μ˜ 개발(도메인 λ“œλ¦¬λΈ λ””μžμΈ), ν΄λΌμš°λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ•„ν‚€ν…μ²˜, 폴리곳 ν”„λ‘œκ·Έλž˜λ°, νΌμ‹œμŠ€ν„΄μŠ€, κ°€λ²Όμš΄ μ»¨ν…Œμ΄λ„ˆ μ „κ°œ, νƒˆμ€‘μ‹¬ν™”λœ 지속적 배포, 전체둠적인 μ„œλΉ„μŠ€ λͺ¨λ‹ˆν„°λ§μ„ κ°–μΆ˜ λ°λΈŒμ˜΅μŠ€μ™€ 같은 원칙듀을 κ³ μˆ˜ν•©λ‹ˆλ‹€.

    • ν™•μž₯성에 이득이 λ˜λŠ” νŠΉμ§•λ“€μ„ μ œκ³΅ν•©λ‹ˆλ‹€.

    • 각 μ„œλΉ„μŠ€λŠ” μ„œλ‘œ APIλ₯Ό μ œκ³΅ν•˜κ³  이λ₯Ό μ΄μš©ν•΄μ„œ μ„œλ‘œ ν˜ΈμΆœν•©λ‹ˆλ‹€. 각 μ„œλΉ„μŠ€λŠ” 비동기(async)둜 λ™μž‘ν•˜κ³  λ©”μ‹œμ§€ 기반으둜 톡신

    • λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ μ•„ν‚€ν…μ²˜λŠ” μ•„μ£Ό μž‘μ€ λ‹¨μœ„λ‘œ λ™μž‘ν•˜λŠ” μ„œλΉ„μŠ€κ°€ κ΅¬λ™λ˜λ„λ‘ μ‹œμŠ€ν…œ 및 μ†Œν”„νŠΈμ›¨μ–΄μ˜ ꡬ성과 κ΅¬μ„±μš”μ†Œ κ°„μ˜ 관계λ₯Ό μ •μ˜ν•œ μ•„ν‚€ν…μ²˜

    • λͺ¨λ“  μš”μ†Œλ₯Ό ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— κ΅¬μΆ•ν•˜λŠ” 전톡적인 λͺ¨λ†€λ‘œμ‹ μ ‘κ·Ό 방식 λŒ€μ‹  λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€μ—μ„œλŠ” λͺ¨λ“  μš”μ†Œκ°€ 독립적이며 μ—°λ™λ˜μ–΄ λ™μΌν•œ νƒœμŠ€ν¬λ₯Ό μ™„μˆ˜

  • ꡬ성 원칙

    • 단일 μ±…μž„μ˜ 원칙(Single Responsibility) : 각 μ„œλΉ„μŠ€λŠ” ν•˜λ‚˜μ˜ μ±…μž„λ§Œ 가짐

    • 독립적인 배포(Independently Deployable) : 각 μ„œλΉ„μŠ€λ₯Ό λ…λ¦½μ μœΌλ‘œ 배포

    • λŠμŠ¨ν•œ κ²°ν•©(Loosely Coupled) : 각 μ„œλΉ„μŠ€ κ°„ μ˜μ‘΄μ„±μ„ μ΅œμ†Œν™”

    • 높은 μœ μ§€μ„±, ν…ŒμŠ€νŠΈ κ°€λŠ₯μ„±(Highly Maintainable and Testable) : λΆ„λ¦¬λœ μ„œλΉ„μŠ€λ³„ 관리 및 μœ μ§€κ°€ νŽΈν•˜κ³  ν…ŒμŠ€νŠΈλ„ λ…λ¦½μ μœΌλ‘œ κ°€λŠ₯

    • νŒ€ λ‹¨μœ„ ꡬ성이 κ°€λŠ₯(Owned by a Small Team) : μ„œλΉ„μŠ€ λ‹¨μœ„λ‘œ νŒ€ ꡬ성을 ν•˜μ—¬ 개발/운영 κ°€λŠ₯

    • 사업 λ‹¨μœ„(μ„œλΉ„μŠ€ λ‹¨μœ„)의 쑰직(Organized around Business Capabilities) : 각 μ„œλΉ„μŠ€μ˜ λ‹¨μœ„λ₯Ό μ‚¬μ—…μ˜ λ‹¨μœ„λ‘œ νŒλ‹¨ν•  수 있음

  • ꡬ성 μš”μ†Œ

    • image

      • https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes

      • Config Management : μ„œλΉ„μŠ€μ˜ μž¬λΉŒλ“œ, μž¬λΆ€νŒ… 없이 섀정사항을 반영

      • Service Discovery : MSA 기반 μ„œλΉ„μŠ€ 배포 μ‹œ μ„œλΉ„μŠ€ 검색 및 등둝

      • API Management : ν΄λΌμ΄μ–ΈνŠΈ μ ‘κ·Ό μš”μ²­μ„ 일원화

      • Centralized Logging : μ„œλΉ„μŠ€λ³„ 둜그의 쀑앙집쀑화

      • Distributed Tracing : λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€ κ°„μ˜ 호좜 좔적

      • Centralized Monitoring : μ„œλΉ„μŠ€λ³„ λ©”νŠΈλ¦­ μ •λ³΄μ˜ 쀑앙집쀑화

      • Resilience & Fault Tolerance : MSA κ΅¬μ‘°μ—μ„œ ν•˜λ‚˜μ˜ μ‹€νŒ¨ν•œ μ„œλΉ„μŠ€κ°€ 체인에 μ—°κ²°λœ 전체 μ„œλΉ„μŠ€λ“€μ— νŒŒκΈ‰ 효과λ₯Ό λ°œμƒμ‹œν‚€μ§€ μ•Šλ„λ‘ ν•˜κΈ° μœ„ν•œ 계단식 μ‹€νŒ¨ λ°©μ§€ ꡬ쑰

      • Auto-Scaling & Self-Healing : μžλ™ μŠ€μΌ€μΌλ§, 볡ꡬ, μžλ™ν™”λ₯Ό ν†΅ν•œ μ„œλΉ„μŠ€ 관리 νš¨μœ¨ν™”

  • MSAλ₯Ό κ΅¬ν˜„ν•˜λŠ” 기반 기술

    • image

      • https://developers.redhat.com/blog/2016/12/09/spring-cloud-for-microservices-compared-to-kubernetes

  • λͺ¨λ†€λ¦¬ν‹± μ•„ν‚€ν…μ²˜μ™€ 비ꡐ

    • λͺ¨λ†€λ¦¬ν‹± μ•„ν‚€ν…μ²˜λŠ” ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λͺ¨λ“  κΈ°λŠ₯이 ν•˜λ‚˜μ˜ ꡬ쑰에 ν†΅ν•©λ˜μ–΄ μžˆλŠ” ν˜•νƒœλ‘œ 전톡적인 μ†Œν”„νŠΈμ›¨μ–΄ 개발 λ°©λ²•λ‘ μ—μ„œ 자주 μ‚¬μš©λ˜λ˜ λ°©λ²•λ‘ μœΌλ‘œ ν•˜λ‚˜μ˜ κ΅¬μ„±ν™˜κ²½λ§Œ κ΄€λ¦¬ν•˜λ©΄ 되기 λ•Œλ¬Έμ— 개발 및 ν…ŒμŠ€νŠΈκ°€ μš©μ΄ν•˜λ‹€λŠ” μž₯점이 μžˆμ§€λ§Œ 배포의 어렀움과 ν”„λ‘œμ νŠΈκ°€ 컀지면 전체 μ½”λ“œλ₯Ό νŒŒμ•…ν•˜κΈ° νž˜λ“€λ‹€λŠ” 단점이 있으며 μ†Œκ·œλͺ¨ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ— μ ν•©ν•œ κ΅¬μ‘°μž…λ‹ˆλ‹€.

    • MSAλŠ” ν•˜λ‚˜μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ—¬λŸ¬ λ‹¨μœ„μ˜ κΈ°λŠ₯ λ³„λ‘œ λ‚˜λˆ„λŠ” ν˜•νƒœλ‘œ κΈ°λŠ₯ λ³„λ‘œ λ‚˜λˆ„μ–΄μ„œ 배포λ₯Ό κ°€λŠ₯ν•˜κ³  μœ μ—°ν•œ ν™•μž₯이 κ°€λŠ₯ν•˜λ‹€λŠ” μž₯점이 μžˆμ§€λ§Œ, μ—°κ΄€λœ μ—¬λŸ¬ λͺ¨λ“ˆλ“€ κ°„μ˜ 톡합 ν…ŒμŠ€νŠΈκ°€ μ–΄λ ΅κ³ , 흩어진 섀정듀을 ν†΅ν•©μ μœΌλ‘œ 잘 관리해야 ν•œλ‹€λŠ” 단점이 μžˆμŠ΅λ‹ˆλ‹€. λ³΅μž‘ν•œ λŒ€κ·œλͺ¨ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμ— μ ν•©ν•œ κ΅¬μ‘°μž…λ‹ˆλ‹€.

Reference

  • https://www.oreilly.com/library/view/infrastructure-as-code/9781098114664/

  • http://www.yes24.com/Product/Goods/64728692

  • http://www.yes24.com/Product/Goods/69304366

  • https://www.oreilly.com/library/view/cloud-native-devops/9781492040750/

Last updated