๋ฌด์ค๋จ ๋ฐฐํฌ๋?
๋ฌด์ค๋จ ๋ฐฐํฌ๋ ์๋น์ค ์ฅ์ ์ ๋ฐฐํฌ์ ๋ถ๋ด์ ์ต์ํํ๊ธฐ ์ํด ์ด์ ์ค์ธ ์๋น์ค๋ฅผ ์ค๋จํ์ง ์๊ณ ์ ๊ท ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ๋ ๊ธฐ์
๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ(Blue-Green Deployment)

- ๊ฐ๋ : ๋ ๊ฐ์ ํ๊ฒฝ(๋ธ๋ฃจ์ ๊ทธ๋ฆฐ)์ ์ ์งํ๋ฉฐ, ํ์ฌ ์ด์ ์ค์ธ ์๋น์ค ํ๊ฒฝ์ Blue, ์๋กญ๊ฒ ๋ฐฐํฌํ ํ๊ฒฝ์ Green์ด๋ผ๊ณ ํจ
- ๋ฐฐํฌ ๊ณผ์
- ์๋ก์ด ๋ฒ์ ์ ๊ทธ๋ฆฐ ํ๊ฒฝ์ ๋ฐฐํฌํ ํ, ์ถฉ๋ถํ ํ ์คํธ๋ฅผ ๊ฑฐ์นจ
- ํ ์คํธ ์๋ฃ ํ ํธ๋ํฝ์ ๋ธ๋ฃจ ํ๊ฒฝ์์ ๊ทธ๋ฆฐ ํ๊ฒฝ์ผ๋ก ์ ํ
- ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์ ๋ธ๋ฃจ ํ๊ฒฝ์ผ๋ก ํธ๋ํฝ์ ์ ํํ์ฌ ๋กค๋ฐฑ ์ฉ์ด
- ์ฅ์
- ๋กค๋ฐฑ์ด ๊ฐ๋จํ๊ณ ์ํ์ด ์ ์
- ํ ์คํธ๊ฐ ์ถฉ๋ถํ ์ด๋ฃจ์ด์ง ํ์ ์ค์ ์๋น์ค์ ๋ฐ์
- ํธํ์ฑ ๋ฌธ์ ์์
- ๋จ์
- ๋ ๊ฐ์ ํ๊ฒฝ์ ์ ์งํด์ผ ํ๋ฏ๋ก ์ธํ๋ผ ๋น์ฉ ์ฆ๊ฐ
๋กค๋ง ๋ฐฐํฌ(Rolling Deployment)

- ๊ฐ๋ : ์ ์ฒด ์๋ฒ ์ค ์ผ๋ถ์ฉ ์ ์ง์ ์ผ๋ก ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌ
- ๋ฐฐํฌ ๊ณผ์
- ์ ์ฒด ์๋ฒ๋ฅผ ์ฌ๋ฌ ๊ทธ๋ฃน์ผ๋ก ๋๋๊ณ , ํ ๊ทธ๋ฃน์ฉ ์์ฐจ์ ์ผ๋ก ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌ
- ํ ๊ทธ๋ฃน์ ๋ฐฐํฌ๊ฐ ์๋ฃ๋๋ฉด ๋ค์ ๊ทธ๋ฃน์ ๋ฐฐํฌ
- ๋ฐฐํฌ ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๊ทธ๋ฃน์ผ๋ก ๋กค๋ฐฑ
- ์ฅ์ :
- ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ ์ง์ ์ผ๋ก ๊ต์ฒดํ๋ฏ๋ก ํธ๋ํฝ์ด ์ง์์ ์ผ๋ก ๋ถ์ฐ
- ๋ง์ ์๋ฒ ์์์ ํ๋ณดํ์ง ์์๋ ๊ฐ๋ฅ
- ๋จ์
- ๋ฐฐํฌ ๊ณผ์ ์ด ๊ธธ์ด์ง ์ ์์
- ๋ณต์กํ ๋กค๋ฐฑ ์ ์ฐจ
- ํธํ์ฑ ๋ฌธ์ (API ๋ณ๊ฒฝ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ณ๊ฒฝ ๋ฑ)
์นด๋๋ฆฌ ๋ฐฐํฌ(Canary Deployment)

- ๊ฐ๋ : ์๋ก์ด ๋ฒ์ ์ ์์์ ์ฌ์ฉ์์๊ฒ ๋จผ์ ๋ฐฐํฌํ์ฌ ๋ฌธ์ ์ฌ๋ถ๋ฅผ ํ์ ํ ํ, ์ ์ง์ ์ผ๋ก ๋ฐฐํฌ ๋ฒ์๋ฅผ ํ๋
- ์ ์ฐจ
- ์ด๊ธฐ์ ์ ์ฒด ์ฌ์ฉ์ ์ค ์ผ๋ถ์๊ฒ๋ง ์๋ก์ด ๋ฒ์ ๋ฐฐํฌ
- ๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์ ์ฐจ์ ์ผ๋ก ๋ฐฐํฌ ๋์์ ๋๋ ค๊ฐ๋ฉฐ ์ต์ข ์ ์ผ๋ก ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ๋ฐฐํฌ
- ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ์ ์ํ ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ ๊ฐ๋ฅ
- ์ฅ์
- ๋ฌธ์ ๋ฐ์ ์ ์ํฅ์ ๋ฐ๋ ์ฌ์ฉ์๊ฐ ์ ์
- ์๋ก์ด ๋ฒ์ ์ผ๋ก ์ธํ ์ํ ์ต์ํ
- ๋ฐฐํฌ์ ์์ ์ฑ ๋์
- ๋จ์
- ๋ฐฐํฌ์ ๋กค๋ฐฑ ๋ณต์ก
- ํธ๋ํฝ ๊ด๋ฆฌ ํ์
- ํธํ์ฑ ๋ฌธ์ (API ๋ณ๊ฒฝ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ณ๊ฒฝ ๋ฑ)
๋ฌด์ค๋จ ๋ฐฐํฌ ๋ฐฉ์ ๋น๊ต
| ์์ | ๋กค๋ง ๋ฐฐํฌ (Rolling Deployment) | ์นด๋๋ฆฌ ๋ฐฐํฌ (Canary Deployment) | ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ (Blue-Green Deployment) |
| ํธ๋ํฝ๊ณผ ๋ถํ | ํธ๋ํฝ๊ณผ ๋ถํ๊ฐ ๋ถ์ฐ๋๋ฉฐ, ์ ์ง์ ์ ๋ฐ์ดํธ๋ก ํธ๋ํฝ ์ค๋จ ์ต์ํ | ์๊ท๋ชจ ํธ๋ํฝ์ ์๋ก์ด ๋ฒ์ ์ผ๋ก ๋ผ์ฐํ ํ์ฌ ์ด๊ธฐ ์ํ์ ์ต์ํ | ์ ํ ์์ ์ ํธ๋ํฝ์ด ํ ๋ฒ์ ์ด๋, ์ถฉ๋ถํ ์ธํ๋ผ ํ์ |
| ๋ฐฐํฌ ์๊ฐ๊ณผ ๋น์ฉ | ๋ช ์๊ฐ์์ ๋ฉฐ์น ์์, ์๊ฐ ์ฆ๊ฐ๋ก ์ธํด ๋น์ฉ ์ฆ๊ฐ ๊ฐ๋ฅ | ๋ช ์๊ฐ์์ ๋ฉฐ์น ์์, ์ด๊ธฐ ๋จ๊ณ์ ์ถ๊ฐ ๋ชจ๋ํฐ๋ง ๋น์ฉ ๋ฐ์ | ๋ช ๋ถ์์ ๋ช ์๊ฐ ์์, ๋ ํ๊ฒฝ ์ ์ง๋ก ์ธํด ๋น์ฉ ์ฆ๊ฐ |
| ๊ธฐ์ ์ ๊ตฌํ ๊ฐ๋ฅ์ฑ | Auto Scaling, Load Balancer ์ค์ ํ์ | ํธ๋ํฝ ๋ถํ ๋ฐ ๋ชจ๋ํฐ๋ง ์ค์ ํ์ | ๋ ํ๊ฒฝ ์ด์ ๋ฐ Route 53 ๊ฐ์ ํธ๋ํฝ ์ ํ ๋๊ตฌ ํ์ |
์ ํฉํ ๋ฐฐํฌ ๋ฐฉ์ ๋ถ์ ๋ฐ AWS ์๋น์ค ์กฐ์ฌ
- ๋ธ๋ฃจ ๊ทธ๋ฆฐ ๋ฐฐํฌ (Blue-Green Deployment)
- ์ ํฉํ ์ํฉ
- ๋ค์ดํ์ ์์ด ์์ ์ ์ผ๋ก ์ ๋ฒ์ ์ ๋ฐฐํฌํ๊ณ ์ถ์ ๋ ์ ํฉ
- ๋๊ท๋ชจ ์๋น์ค๋ ์ค์ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉ
- AWS ๊ด๋ จ ์๋น์ค:
- Route 53 (DNS ๋ผ์ฐํ
), Elastic Load Balancing, AWS CloudFormation ๋๋ AWS CodeDeploy ๋ฑ
- ๋ ํ๊ฒฝ ๊ฐ์ ๋๊ธฐํ์ ์ ํ ์์ ๊ด๋ฆฌ๊ฐ ํ์
- Route 53 (DNS ๋ผ์ฐํ
), Elastic Load Balancing, AWS CloudFormation ๋๋ AWS CodeDeploy ๋ฑ
- ๋กค๋ง ๋ฐฐํฌ (Rolling Deployment)
- ์ ํฉํ ์ํฉ
- ์๋ฒ ์ธ์คํด์ค๋ฅผ ์ ์ง์ ์ผ๋ก ์ ๋ฐ์ดํธ ๊ฐ๋ฅ
- ๋จ์ผ ์์ฒญ์ ๋ํ ์๋ต ์๊ฐ์ด ์๋์ ์ผ๋ก ์งง์ ์๋น์ค์ ์ ํฉ
- AWS ๊ด๋ จ ์๋น์ค:
- Auto Scaling, Elastic Load Balancing (Application Load Balancer ๋ฑ)
- ๊ฐ ์ธ์คํด์ค์ ์ ๋ฐ์ดํธ๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๋ ์ค์ ์ด ํ์
- ECS์์ ๋กค๋ง ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ ์ ๊ณต
- Auto Scaling, Elastic Load Balancing (Application Load Balancer ๋ฑ)
- ์นด๋๋ฆฌ ๋ฐฐํฌ (Canary Deployment)
- ์ ํฉํ ์ํฉ
- ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฑ๋ฅ์ ์์ ์ ์ผ๋ก ํ๊ฐํ๊ณ ์ ํ ๋ ์ ํฉ
- ํน์ ์ง์ญ ๋๋ ์ฌ์ฉ์ ๊ทธ๋ฃน์ ๋ํด ์คํ์ ์ผ๋ก ๋ฐฐํฌํ ๋ ์ ์ฉ
- AWS ๊ด๋ จ ์๋น์ค:
- AWS CodeDeploy, AWS Lambda, CloudWatch ๋ฑ
- ํธ๋ํฝ์ ๋ถํ ํ๊ณ ๋ชจ๋ํฐ๋ง
- AWS CodeDeploy, AWS Lambda, CloudWatch ๋ฑ
- references
[Container ์ด๋ก ] 7. ๋ฐฐํฌ(Deployment)์ 3๊ฐ์ง ๋ฐฉ์
๋ชฉ์ฐจ Blue/Green canary rolling update Blue/Green ๋ฐฐํฌ ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ๋ ๋ก๋ ๋ฐธ๋ฐ์, Kubernetes์ ๊ฐ์ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ํ๋ซํผ ๋๋ ์๋ํ๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ๋น๋กฏํ ๋ค์ํ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ
easyitwanner.tistory.com
๋ฌด์ค๋จ ๋ฐฐํฌ ์ํคํ ์ฒ์ ๋ฐฐํฌ ์ ๋ต (Rolling, Blue/Green, Canary)
์ค๋จ ๋ฐฐํฌ ๋ฐฉ์๊ณผ ๋ค์ดํ์ ๋ค์ดํ์ ์๋ฒ ํ๋๋ก ์๋น์ค๋ฅผ ์ด์ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ํ์ฌ ์๋ฒ์๋ V1 ๋ฒ์ ์ด ์คํ๋๊ณ ์๋ ์ํฉ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์ด๋ฒ์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ถ๊ฐํ V2 ๋ฒ์ ์ ์๋ก
hudi.blog
๋ฌด์ค๋จ ๋ฐฐํฌ ์ํคํ ์ฒ(Zero Downtime Deployment)- ๊ธ๋ก๋ฒ ์๋น์ค ์ด์์ ํ์ ์์ | ์ธ์ฌ์ดํธ๋ฆฌํฌํธ |
www.samsungsds.com
'DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| CDN (Content Delivery Network) (2) | 2025.01.05 |
|---|---|
| PM2 Research (1) | 2025.01.05 |