[Infra] 배포 μ „λž΅ - Rolling, Blue/Green, Canary

2025. 8. 10. 23:11Β·Infra

무쀑단 배포

무쀑단 λ°°ν¬λŠ” μ„œλΉ„μŠ€ μž₯애와 배포의 뢀담을 μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•΄ 운영 쀑인 μ„œλΉ„μŠ€λ₯Ό μ€‘λ‹¨ν•˜μ§€ μ•Šκ³  μ‹ κ·œ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό λ°°ν¬ν•˜λŠ” κΈ°μˆ μž…λ‹ˆλ‹€.

2024.11.18 - [Infra] - [Infra] 무쀑단을 μœ„ν•œ 인프라 μ•„ν‚€ν…μ²˜

 

[Infra] 무쀑단을 μœ„ν•œ 인프라 μ•„ν‚€ν…μ²˜

μ•ˆμ •μ„± 및 μ΄μ€‘ν™”μ•ˆμ •μ„±μ•ˆμ •μ„±, κ³ κ°€μš©μ„±μ΄λž€, μ‹œμŠ€ν…œ μ„œλΉ„μŠ€κ°€ κ°€λŠ₯ν•œ ν•œ λ©ˆμΆ”μ§€ μ•Šλ„λ‘ ν•˜λŠ” 것이닀.μ•ˆμ •μ„±, κ³ κ°€μš©μ„±μ˜ λͺ©ν‘œμ‹€ν˜„ μˆ˜λ‹¨κ³ μž₯, μž₯애에 μ˜ν•œ μ •μ§€κ°€ λ°œμƒν•˜μ§€ μ•Šμ„ κ²ƒμ»΄ν¬λ„ŒνŠΈ

lucy-devblog.tistory.com

무쀑단 배포의 핡심은 λ‘œλ“œλ°ΈλŸ°μ„œλ₯Ό 톡해 μ—°κ²°λœ 두 개 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€μ— νŠΈλž˜ν”½μ„ μ œμ–΄ν•΄ λ°°ν¬ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 무쀑단 배포λ₯Ό ν•˜κΈ° μœ„ν•΄μ„œλŠ” κ³ κ°€μš©μ„±μ˜ μ‹œμŠ€ν…œ 인프라가 κ΅¬μ„±λ˜μ–΄ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 이에 λŒ€ν•œ λ‚΄μš©μ€ μœ„ νŽ˜μ΄μ§€λ₯Ό ν™•μΈν•˜μ‹œλ©΄ λ©λ‹ˆλ‹€.

배포 μ „λž΅

μ†Œν”„νŠΈμ›¨μ–΄ μ—…λ°μ΄νŠΈλ₯Ό μ‚¬μš©μžμ—κ²Œ μ „λ‹¬ν•˜λŠ” 방식

μ£Όμš” 배포 μ „λž΅

Rolling

둀링 λ°°ν¬λŠ” μ„œλ²„λ₯Ό ν•œ λŒ€μ”© ꡬ λ²„μ „μ—μ„œ μƒˆ λ²„μ „μœΌλ‘œ κ΅μ²΄ν•΄λ‚˜κ°€λŠ” μ „λž΅μž…λ‹ˆλ‹€.

μ„œλΉ„μŠ€ 쀑인 μΈμŠ€ν„΄μŠ€ ν•˜λ‚˜λ₯Ό λ‘œλ“œλ°ΈλŸ°μ„œμ—μ„œ λΌμš°νŒ…ν•˜μ§€ μ•Šλ„λ‘ ν•œ λ’€, μƒˆ 버전을 μ μš©ν•˜μ—¬ λ‹€μ‹œ λΌμš°νŒ…ν•˜λ„λ‘ ν•©λ‹ˆλ‹€. 이λ₯Ό λ°˜λ³΅ν•˜μ—¬ λͺ¨λ“  μΈμŠ€ν„΄μŠ€μ— μƒˆ λ²„μ „μ˜ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ λ°°ν¬ν•©λ‹ˆλ‹€. μΈμŠ€ν„΄μŠ€λ§ˆλ‹€ μ°¨λ‘€λ‘œ 배포λ₯Ό μ§„ν–‰ν•˜κΈ° λ•Œλ¬Έμ— 상황에 따라 μ†μ‰½κ²Œ 둀백이 κ°€λŠ₯ν•œ μž₯점이 μžˆμŠ΅λ‹ˆλ‹€. 둀링 배포 방식은 κ°€μš© μžμ›μ΄ μ œν•œμ μΌ κ²½μš°μ— μ‚¬μš©λ˜λ©° μƒˆ 버전을 배포할 λ•Œ μΈμŠ€ν„΄μŠ€ μˆ˜κ°€ κ°μ†Œν•˜κΈ° λ•Œλ¬Έμ— μ„œλΉ„μŠ€ 처리 μš©λŸ‰μ„ κ³ λ €ν•΄μ•Ό ν•©λ‹ˆλ‹€. λ˜ν•œ 배포가 μ§„ν–‰λ˜λŠ” λ™μ•ˆ ꡬ버전과 신버전이 κ³΅μ‘΄ν•˜κΈ° λ•Œλ¬Έμ— ν˜Έν™˜μ„± λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Blue/Green

블루/κ·Έλ¦° λ°°ν¬λŠ” 블루(ꡬ 버전)와 λ™μΌν•˜κ²Œ κ·Έλ¦°(μƒˆ 버전)을 κ΅¬μ„±ν•œ ν›„ λ‘œλ“œλ°ΈλŸ°μ„œλ₯Ό 톡해 그린으둜 λͺ¨λ“  νŠΈλž˜ν”½μ„ μ „ν™˜ν•˜λŠ” 배포 λ°©μ‹μž…λ‹ˆλ‹€.

ꡬ버전과 λ™μΌν•œ 운영 ν™˜κ²½μœΌλ‘œ μ‹ λ²„μ „μ˜ μΈμŠ€ν„΄μŠ€λ₯Ό κ΅¬μ„±ν•˜κΈ° λ•Œλ¬Έμ— μ‹€μ œ μ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œ μ‹  버전을 미리 ν…ŒμŠ€νŠΈν•  수 μžˆλŠ” μž₯점이 있고 둀링 배포와 λ§ˆμ°¬κ°€μ§€λ‘œ λΉ λ₯Έ 둀백이 κ°€λŠ₯ν•©λ‹ˆλ‹€. 배포가 μ™„λ£Œλœ ν›„ λ‚¨μ•„μžˆλŠ” κΈ°μ‘΄ λ²„μ „μ˜ ν™˜κ²½μ„ λ‹€μŒ 배포에 μž¬μ‚¬μš©κ°€λŠ₯ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 블루-κ·Έλ¦° 배포λ₯Ό μœ„ν•΄μ„œλŠ” μ‹œμŠ€ν…œ μžμ›μ΄ 두 배둜 ν•„μš”ν•˜λ©° μƒˆλ‘œμš΄ ν™˜κ²½μ— λŒ€ν•œ ν…ŒμŠ€νŠΈκ°€ μ „μ œλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€. 

Canary

μΉ΄λ‚˜λ¦¬ λ°°ν¬λŠ” 잠재적 문제 상황을 미리 λ°œκ²¬ν•˜κΈ° μœ„ν•œ λ°©μ‹μž…λ‹ˆλ‹€.

μ‹ λ²„μ „μ˜ 제곡 λ²”μœ„λ₯Ό λŠ˜λ €κ°€λ©΄μ„œ λͺ¨λ‹ˆν„°λ§ 및 ν”Όλ“œλ°± 과정을 κ±°μΉ  수 μžˆμŠ΅λ‹ˆλ‹€.λ‘œλ“œλ°ΈλŸ°μ„œλ₯Ό 톡해 μ‹ λ²„μ „μ˜ μ œν’ˆμ„ κ²½ν—˜ν•˜λŠ” μ‚¬μš©μžλ₯Ό μ‘°μ €λž„ 수 μžˆλŠ” 것이 νŠΉμ§•μœΌλ‘œ 신버전을 νŠΉμ • μ‚¬μš©μž ν˜Ήμ€ λ‹¨μˆœ λΉ„μœ¨μ— 따라 ꡬ뢄해 μ œκ³΅κ°€λŠ₯ν•©λ‹ˆλ‹€. 이 방식은 μ‹ λ²„μ „μ˜ 배포 전에 μ‹€μ œ 운영 ν™˜κ²½μ—μ„œ 미리 ν…ŒμŠ€νŠΈν•œλ‹€λŠ” μ μ—μ„œ 블루/κ·Έλ¦° 배포와 λΉ„μŠ·ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μΉ΄λ‚˜λ¦¬ λ°°ν¬λŠ” 단계적인 μ „ν™˜ 방식을 톡해 뢀정적 영ν–₯을 μ΅œμ†Œν™”ν•˜κ³  상황에 따라 νŠΈλž˜ν”½ 양을 λŠ˜λ¦¬κ±°λ‚˜ λ‘€λ°±ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 둀링 배포와 λ§ˆμ°¬κ°€μ§€λ‘œ 신ꡬ 두 버전이 운영되기 λ•Œλ¬Έμ— 버전 관리가 ν•„μš”ν•©λ‹ˆλ‹€.

배포 μ „λž΅ 선택 μ‹œ 고렀사항

  • μ„œλΉ„μŠ€ μ€‘μš”λ„
  • 배포 λΉˆλ„
  • μžμ› 상황
  • 기술 μŠ€νƒ

μ°Έκ³ 

  • https://www.samsungsds.com/kr/insights/1256264_4627.html
  • https://onlywis.tistory.com/10

'Infra' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Infra] DR(Disaster Recovery, μž¬ν•΄λ³΅κ΅¬)  (0) 2025.08.01
[Infra] λ°±μ—…(Backup)  (0) 2025.07.23
[Infra] μ„œλ²„(Server)  (3) 2024.12.20
[Infra] μŠ€ν† λ¦¬μ§€ μ’…λ₯˜  (0) 2024.12.17
[Infra] ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… μ’…λ₯˜  (0) 2024.11.22
'Infra' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [Infra] DR(Disaster Recovery, μž¬ν•΄λ³΅κ΅¬)
  • [Infra] λ°±μ—…(Backup)
  • [Infra] μ„œλ²„(Server)
  • [Infra] μŠ€ν† λ¦¬μ§€ μ’…λ₯˜
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My FutureπŸ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • 전체
    였늘
    μ–΄μ œ
    • λΆ„λ₯˜ 전체보기 (171)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (85)
        • Algorithms (77)
        • SQL (7)
      • ETC (5)
  • λΈ”λ‘œκ·Έ 메뉴

    • ν™ˆ
    • νƒœκ·Έ
    • λ°©λͺ…둝
  • 곡지사항

  • 링크

    • Lucy's Instagram
    • Lucy's GitHub
  • 인기 κΈ€

  • νƒœκ·Έ

    μ˜€λΈ”μ™„
    dfs
    λ¦¬λˆ…μŠ€
    Linux
    μ‰˜ 슀크립트
    programmers
    Baekjoon
    bfs
    λ°±μ€€
    docker
    도컀
    λ¦¬λˆ…μŠ€λ§ˆμŠ€ν„° 2κΈ‰
    λ„ˆλΉ„μš°μ„ νƒμƒ‰
    Java
    K8s
    λ¦¬λˆ…μŠ€λ§ˆμŠ€ν„°
    μ½”λ”©ν…ŒμŠ€νŠΈ 곡뢀
    μžλ°”
    Kubernetes
    Shell
    cs 기초 지식 정리
    network
    Shell Script
    λ„€νŠΈμ›Œν¬
    μ…Έ 슀크립트
    ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€
    μΏ λ²„λ„€ν‹°μŠ€
    ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€
    λ„€νŠΈμ›Œν¬ 기초 지식
    λ‹€μ΄λ‚˜λ―Ή ν”„λ‘œκ·Έλž˜λ°
  • 졜근 λŒ“κΈ€

  • 졜근 κΈ€

  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
The Engineer, Lucy
[Infra] 배포 μ „λž΅ - Rolling, Blue/Green, Canary
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”