๋ฌด์ค๋จ ๋ฐฐํฌ๋?
- ๋ฌด์ค๋จ ๋ฐฐํฌ(Zero-Downtime Deployment)๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ๋ ์๋น์ค ์ค๋จ ์์ด ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๋ ๋ฐฉ์์ ๋๋ค.
- ์ฌ์ฉ์์๊ฒ๋ ์ง์์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ฉด์, ์๋ก์ด ๋ฒ์ ์ ์์ ์ฑ์ ์ ์ง์ ์ผ๋ก ํ์ธํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋ฌด์ค๋จ ๋ฐฐํฌ ์ฃผ์ ์ ๋ต 3๊ฐ์ง
1. ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ (Blue-Green Deployment)
๊ณผ์
- ๋ ๊ฐ์ ๋๋ฑํ ํ๊ฒฝ(๋ธ๋ฃจ/๊ทธ๋ฆฐ)์ ํ๊ฒฝ์ ์ด์ฉํฉ๋๋ค. ๋ธ๋ฃจ๋ ํ์ฌ ์ด์ ์ค์ธ ํ๋ก๋์ ํ๊ฒฝ์ด๊ณ , ๊ทธ๋ฆฐ์ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ ํ๊ฒฝ์ ๋๋ค.
- ๋ธ๋ฃจ ํ๊ฒฝ์ด ์คํ๋๊ณ ์๋ ์ํฉ์์, ๊ทธ๋ฆฐ ํ๊ฒฝ์ ์๋ก์ด ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํฉ๋๋ค.
- ๋ฐฐํฌ๊ฐ ์๋ฃ๋๊ณ ๋๋ฉด, ๋ก๋ ๋ฐธ๋ฐ์๋ ์น์๋ฒ๋ฅผ ํตํด ํธ๋ํฝ์ ๋ธ๋ฃจ ํ๊ฒฝ์์ ๊ทธ๋ฆฐ ํ๊ฒฝ์ผ๋ก ์ ํํฉ๋๋ค.
- ์ดํ ๋ธ๋ฃจ ํ๊ฒฝ์ ํ์์ ๋ฐ๋ผ ์ ์งํ๊ฑฐ๋ ์ข ๋ฃํฉ๋๋ค.
์ฅ์
- ๊ทธ๋ฆฐ ํ๊ฒฝ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ค์ ๋ธ๋ฃจ ํ๊ฒฝ์ผ๋ก ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
- ํ๋ก๋์ ํ๊ฒฝ๊ณผ ์ ์ฌํ ํ๊ฒฝ์์ ์๋ก์ด ๋ฒ์ ์ ํ ์คํธํ ์ ์์ต๋๋ค.
๋จ์
- ๋ ๊ฐ์ ํ๊ฒฝ์ ์ ์งํด์ผ ํ๋ฏ๋ก ์ธํ๋ผ์ ๋ฆฌ์์ค๊ฐ 2๋ฐฐ๋ก ํ์ํฉ๋๋ค.
- ์๋ํ๋ ํ ์คํธ์์ ์ค๋ฅ๊ฐ ๊ฐ์ง๋์ง ์์ ๊ฒฝ์ฐ, ๊ทธ๋ฆฐ ํ๊ฒฝ์ผ๋ก ๊ฐ๋ ํธ๋ํฝ์ด ๋ชจ๋ ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค.
๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ๋ฅผ ์ง์ํ๋ ์๋น์ค
- AWS Elastic Beanstalk, AWS Elastic Load Balancing(ELB), AWS CodeDeploy
- GCP Google Kubernetes Engine(GKE), Google Cloud Run
2. ์นด๋๋ฆฌ ๋ฐฐํฌ (Canary Deployment)
๊ณผ์
- ๊ธฐ์กด ๋ฒ์ (stable)๊ณผ ์ ๋ฒ์ (canary)์ ๋์์ ์คํํฉ๋๋ค.
- ์ฌ์ฉ์๋ฅผ ๋ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด ์๊ท๋ชจ์ ์ฌ์ฉ์๋ ์นด๋๋ฆฌ ๋ฒ์ ์ผ๋ก, ๋๋จธ์ง๋ ๊ธฐ์กด ๋ฒ์ ์ผ๋ก ํธ๋ํฝ์ ๋ถ๋ฆฌํฉ๋๋ค.
- ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ๊ฑฐ๋ ์์ ํฉ๋๋ค.
- ์นด๋๋ฆฌ ๋ฒ์ ์ด ์์ ์ฑ์ด ํ์ธ๋๋ฉด ์ ์ฒด ํธ๋ํฝ์ ์ ๋ฒ์ ์ผ๋ก ์ ํํฉ๋๋ค.
์ฅ์
- ๊ธฐ์กด ๋ฒ์ ์ผ๋ก์ ๋กค๋ฐฑ์ด ๋น ๋ฆ ๋๋ค.
- ๋ฌธ์ ๋ฐ์์ ์๊ท๋ชจ์ ์ฌ์ฉ์๋ง ์ํฅ์ ๋ฐ์ต๋๋ค.
- ์ค์ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ์ ๋ฒ์ ์ ํ ์คํธํ ์ ์์ต๋๋ค.
- * A/B ํ
์คํธ ํ๊ฒฝ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
(* ๋ ๊ฐ์ง ์ด์์ ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๊ตํ์ฌ ์ด๋ค ๋ฒ์ ์ด ๋ ๋์ ์ฑ๊ณผ๋ฅผ ๋ด๋์ง ํ๋จํ๋ ๊ฒ)
๋จ์
- ๋ ๋ฒ์ ์ ์คํํด์ผ ํ๋ฏ๋ก ์๋ฒ ๋ฆฌ์์ค์ ๋น์ฉ์ด ์ถ๊ฐ๋ก ๋ค ์ ์์ต๋๋ค.
- ๋ ๋ฒ์ ์ด ํจ๊ป ์คํ๋๊ธฐ ๋๋ฌธ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์นด๋๋ฆฌ ๋ฐฐํฌ๋ฅผ ์ง์ํ๋ ์๋น์ค
- AWS CodeDeploy, AWS Elastic Container Service(ECS)
- GCP Google Kubernetes Engine(GKE), Google Cloud Run
3. ๋กค๋ง ๋ฐฐํฌ (Rolling Deployment)
๊ณผ์
- ๊ธฐ์กด ๋ฒ์ ์ ์ผ๋ถ ์ธ์คํด์ค๋ฅผ ์ ๋ฒ์ ์ผ๋ก ๊ต์ฒดํฉ๋๋ค.
- ๊ต์ฒดํ ์ผ๋ถ ์ธ์คํด์ค์์ ์์ ์ ์ผ๋ก ๋์ํ๋ฉด ์ ์ง์ ์ผ๋ก ๋๋จธ์ง ์ธ์คํด์ค์ ์ ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค.
- ์ ์ฒด ์ธ์คํด์ค๊ฐ ์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ๋๋ฉด, ๊ตฌ ๋ฒ์ ์ ์ธ์คํด์ค๋ ์ข ๋ฃ๋๊ฑฐ๋ ๋ฆฌ์์ค ํ์์ ์ ๊ฑฐ๋ฉ๋๋ค.
์ฅ์
- ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ์ ๋น๊ตํ์ ๋, ์ ์ฒด ์ธํ๋ผ๋ฅผ ๋์ผํ๊ฒ ๊ตฌ์ฑํ๋ ๋์ ์๋ก์ด ์ธ์คํด์ค๋ง ํ๋์ฉ ์ถ๊ฐํ๋ฉด ๋ฉ๋๋ค.
- ๋กค๋ฐฑ์ด ํ์ํ ๊ฒฝ์ฐ ๋ชจ๋ ํธ๋ํฝ์ ์ด์ ๋ฒ์ ์ผ๋ก ๋๋๋ฆด ์ ์์ต๋๋ค.
๋จ์
- ์ ์ฒด ์์คํ ์ด ์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๋๊ธฐ๊น์ง ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
- ๋ธ๋ฃจ-๊ทธ๋ฆฐ, ์นด๋๋ฆฌ ๋ฐฐํฌ์ ๋นํด ๋กค๋ฐฑํ๋๋ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
- ์นด๋๋ฆฌ ๋ฐฐํฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ์กด ๋ฒ์ ๊ณผ ์ ๋ฒ์ ์ด ๋์์ ์คํ๋ ๋ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋กค๋ง ๋ฐฐํฌ๋ฅผ ์ง์ํ๋ ์๋น์ค
- AWS Elastic Beanstalk, AWS Elastic Container Service(ECS)
- GCP Google Kubernetes Engine(GKE), Google Cloud Run
๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ vs ์นด๋๋ฆฌ ๋ฐฐํฌ vs ๋กค๋ง ๋ฐฐํฌ ๋น๊ต ์ ๋ฆฌ
๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ | ์นด๋๋ฆฌ ๋ฐฐํฌ | ๋กค๋ง ๋ฐฐํฌ | |
์ค๋ช | ๋ธ๋ฃจ/๊ทธ๋ฆฐ ๋ ๊ฐ์ ํ๊ฒฝ์ ๊ตฌ์ฑ, ๊ทธ๋ฆฐ ํ๊ฒฝ์ ์ ๋ฒ์ ๋ฐฐํฌ ํ ํธ๋ํฝ ์ ํ | ์ผ๋ถ ์ฌ์ฉ์ ํธ๋ํฝ๋ง ์ ๋ฒ์ ์ผ๋ก ๋ฐฐํฌํ์ฌ ํ ์คํธํ๊ณ , ๋ฌธ์ ์์ผ๋ฉด ์ ์ฒด ํธ๋ํฝ์ ์ ๋ฒ์ ์ผ๋ก ์ ํ | ๊ธฐ์กด ๋ฒ์ ์ ์ผ๋ถ ์ธ์คํด์ค๋ง ์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ์ฌ ํ ์คํธํ๊ณ , ๋ฌธ์ ์์ผ๋ฉด ๋๋จธ์ง ์ธ์คํด์ค๋ ์ ๋ฒ์ ์ผ๋ก ์ ์ง์ ์ ๋ฐ์ดํธ |
์ฅ์ |
|
|
|
๋จ์ |
|
|
|
์ฐธ๊ณ
What Is Blue-Green Deployment?
๋ฌด์ค๋จ ๋ฐฐํฌ๋? ๋ฌด์ค๋จ ๋ฐฐํฌ ์ ๋ต์ ๋ํด ์์๋ณด์.
Blue-Green, Rolling, and Canary: Continuous Deployments Explained