๐ฉ๊ฐ์
๋ค์ด ํ์(Downtime)์ ์์คํ , ์๋ฒ, ๋คํธ์ํฌ, ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์๋น์ค๊ฐ ์ ์์ ์ผ๋ก ์๋ํ์ง ์๋ ์๊ฐ์ ์๋ฏธํฉ๋๋ค. ์ฆ, ์ฌ์ฉ์๊ฐ ํด๋น ์์คํ ์ด๋ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ํ๋ฅผ ๋งํฉ๋๋ค. ๋ค์ด ํ์์ ๊ณํ๋ ๊ฒ์ผ ์๋ ์๊ณ , ์๊ธฐ์น ์์ ๋ฌธ์ ๋ก ๋ฐ์ํ ์๋ ์์ต๋๋ค. ๋ค์ด ํ์์ ๋น์ฆ๋์ค ์ด์์ ์น๋ช ์ ์ธ ์ํฅ์ ๋ฏธ์น ์ ์๊ธฐ ๋๋ฌธ์ ์ต์ํํ๋ ค๋ ๋ ธ๋ ฅ์ด ์ค์ํฉ๋๋ค.
๋ฌธ์ ๋ฅผ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ฐฐํฌํ๋ ๊ณผ์ ์์๋ ๋ค์ด ํ์์ด ๋ฐ์ํ ์ ์๋ค๋ ์ ์ ๋๋ค. ๋ฒ์ 1์ด ์ด์ฉ๋๊ณ ์๋ ์ํฉ์์ ๋ฒ์ 2๋ฅผ ๋ฐฐํฌํ๋ฉด, ๋ฒ์ 1์ด ์ข ๋ฃ๋๊ณ ๋ฒ์ 2๊ฐ ์คํ๋๋ ๋์ ๋ค์ดํ์์ด ๋ฐ์๋ฉ๋๋ค. ์ด๋ฌํ ๋ค์ดํ์์ ์ต์ํ ์์ผ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ด ๋ฌด์ค๋จ ๋ฐฐํฌ์ ๋๋ค.
๋ฌด์ค๋จ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ๋ ์๋น์ค์ ๊ฐ์ฉ์ฑ์ ์ ์งํ๋ฉด์ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํ์์ ์ต๋ํํ๊ณ , ๋ฐฐํฌ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ๋ค์ดํ์์ ์ต์ํํ์ฌ ์๋น์ค์ ์ง์์ฑ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ ์์ ์ ํฅ์์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ด๋ฅผ ์ํด ๋ค์ํ ๋ฐฐํฌ ์ ๋ต์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ์ ์ธ ๋ฌด์ค๋จ ๋ฐฐํฌ ์ ๋ต์ผ๋ก๋ ๋กค๋ง ์ ๋ต, ๋ธ๋ฃจ ๊ทธ๋ฆฐ ์ ๋ต, ์นด๋๋ฆฌ ์ ๋ต์ด ์์ต๋๋ค.
๋กค๋ง ์ ๋ต, ๋ธ๋ฃจ ๊ทธ๋ฆฐ ์ ๋ต, ์นด๋๋ฆฌ ์ ๋ต ๊ฐ๊ฐ์ ๊ณ ์ ์ ์ฅ์ ๊ณผ ๋จ์ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์กฐ์ง์ ํ์์ ์ํฉ์ ๋ฐ๋ผ ์ ํฉํ ์ ๋ต์ ์ ํํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ ๋ต์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ์ ์์ ์ฑ๊ณผ ํจ์จ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
๐๏ธ๐๏ธ ๋กค๋ง ์ ๋ต
๊ฐ๋
๋กค๋ง ์ ๋ต(Rolling Deployment)์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฒ์ ์ ์ ์ง์ ์ผ๋ก ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ธฐ์กด ์ธ์คํด์ค๋ฅผ ํ๋์ฉ ์๋ก์ด ๋ฒ์ ์ผ๋ก ๊ต์ฒดํ๋ฉฐ, ๋ฐฐํฌ ๊ณผ์ ์์ ์ผ๋ถ ์ธ์คํด์ค๋ ์ด์ ๋ฒ์ , ๋๋จธ์ง ์ธ์คํด์ค๋ ์ ๋ฒ์ ์ด ์คํ๋ฉ๋๋ค.
๋ก๋ ๋ฐธ๋ฐ์์ ์ฐ๊ฒฐ๋์ด ์๋ ์๋ฒ๋ฅผ ํ๋ ์ถ๊ฐ ํ๊ฑฐ๋ ์ฐ๊ฒฐ์ ๋์ด์ ์๋ก์ด ๋ฒ์ ์ผ๋ก ๊ต์ฒดํ๊ณ ๋ก๋๋ฐธ๋ฐ์์ ๋ค์ ์ฐ๊ฒฐํฉ๋๋ค. ์ด ๊ณผ์ ์ ์ ์ง์ ์ผ๋ก ์งํํ์ฌ ์ต์ข ์ ์ผ๋ก๋ ๋ชจ๋ ํธ๋ํฝ์ด ์ ๋ฒ์ ์ ๋๋ฌํ ์ ์๊ฒ ํฉ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ํตํด ์๋น์ค ์ค๋จ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ฅ์
- ๋ฌด์ค๋จ ๋ฐฐํฌ: ์ ํ๋ฆฌ์ผ์ด์ ์ธ์คํด์ค๋ฅผ ํ๋์ฉ ๊ต์ฒดํ๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์์คํ ์ ๋ค์ดํ์์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
- ์ ์ง์ ๋ฐฐํฌ: ๋ฐฐํฌ ๊ณผ์ ์ ์ ์ง์ ์ผ๋ก ์ํํ์ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ ์ํ๊ฒ ๋์ํ ์ ์์ต๋๋ค.
- ๋ฆฌ์์ค ํจ์จ์ฑ: ์ถ๊ฐ์ ์ธ ์ธํ๋ผ๋ฅผ ํ์๋ก ํ์ง ์์ผ๋ฉฐ, ๊ธฐ์กด ๋ฆฌ์์ค๋ฅผ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค.
๋จ์
- ๋ณต์กํ ์ํ ๊ด๋ฆฌ: ๊ธฐ์กด ๋ฒ์ ๊ณผ ์๋ก์ด ๋ฒ์ ์ด ๋์์ ์คํ๋๋ฏ๋ก, ์ํ ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง ์ ์์ต๋๋ค.
- ๋กค๋ฐฑ ์ด๋ ค์: ๋ฐฐํฌ ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋กค๋ฐฑ ๊ณผ์ ์ด ๋ณต์กํ๊ณ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
- ์ผ๊ด์ฑ ๋ฌธ์ : ๋ฐฐํฌ๊ฐ ์งํ๋๋ ๋์ ๊ตฌ๋ฒ์ ๊ณผ ์ ๋ฒ์ ์ด ๊ณต์กดํ๊ธฐ ๋๋ฌธ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ฌ์ฉ์๊ฐ ์ด์ ๋ฒ์ ๊ณผ ์๋ก์ด ๋ฒ์ ์ ํผ์ฉํ์ฌ ์ฌ์ฉํ ์ ์์ด ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
๐ฆ๐ฉ ๋ธ๋ฃจ ๊ทธ๋ฆฐ ์ ๋ต
๊ฐ๋
๋ธ๋ฃจ ๊ทธ๋ฆฐ ์ ๋ต(Blue-Green Deployment)์ ๋ ๊ฐ์ ๋์ผํ ํ๊ฒฝ(๋ธ๋ฃจ ํ๊ฒฝ๊ณผ ๊ทธ๋ฆฐ ํ๊ฒฝ)์ ์ฌ์ฉํ์ฌ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ธ๋ฃจ ํ๊ฒฝ์์ ํ์ฌ ์ด์ ์ค์ธ ๋ฒ์ ์ ์คํํ๊ณ , ๊ทธ๋ฆฐ ํ๊ฒฝ์์ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํฉ๋๋ค. ์๋ก์ด ๋ฒ์ ์ด ์ค๋น๋๋ฉด ํธ๋ํฝ์ ๋ธ๋ฃจ ํ๊ฒฝ์์ ๋ชจ๋ ํ๋ฒ์ ๊ทธ๋ฆฐ ํ๊ฒฝ์ผ๋ก ์ ํํ์ฌ ๋ฐฐํฌ๋ฅผ ์๋ฃํฉ๋๋ค.
๋ฐฐํฌ๊ฐ ์๋ฃ๋ ํ ๊ธฐ์กด ๊ตฌ ๋ฒ์ ์ด ์๋ ํ๊ฒฝ์ ๋ค์ ๋ฐฐํฌ๋ฅผ ์ํด ์ฌ์ฌ์ฉํ๊ฑฐ๋ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์ฅ์
- ๋ฌด์ค๋จ ๋ฐฐํฌ: ํธ๋ํฝ ์ ํ๋ง์ผ๋ก ๋ฐฐํฌ๊ฐ ์๋ฃ๋๋ฏ๋ก ์๋น์ค ์ค๋จ์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
- ๋น ๋ฅธ ๋กค๋ฐฑ: ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ํธ๋ํฝ์ ๋ค์ ๋ธ๋ฃจ ํ๊ฒฝ์ผ๋ก ์ ํํ์ฌ ์ ์ํ๊ฒ ๋กค๋ฐฑํ ์ ์์ต๋๋ค.
- ์์ ์ฑ: ๋ ๊ฐ์ ๋ณ๋ ํ๊ฒฝ์ ์ฌ์ฉํ๋ฏ๋ก ๋ฐฐํฌ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ์ถฉ๋์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ๋กค๋ง ๋ฐฐํฌ์ ๋ฌ๋ฆฌ ํ๋ฒ์ ํธ๋ํฝ์ ๋ชจ๋ ์๋ก์ด ๋ฒ์ ์ผ๋ก ์ฎ๊ธฐ๊ธฐ ๋๋ฌธ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
๋จ์
- ๋ฆฌ์์ค ๋น์ฉ: ๋ ๊ฐ์ ๋ณ๋ ํ๊ฒฝ์ ์ ์งํด์ผ ํ๋ฏ๋ก ๋ฆฌ์์ค ๋น์ฉ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ด์ํ๋ค๋ฉด ํ์ ์๋ ์ธ์คํด์ค๋ฅผ ์ ๊ฑฐํ๋ฉด ๊ทธ๋ง์ด์ง๋ง, ์จ-ํ๋ ๋ฏธ์ค ๋ฐฉ์์ผ๋ก ์๋น์ค๋ฅผ ์ด์ํ๋ค๋ฉด ๋น์ฉ ๋ถ๋ด์ด ํด ๊ฒ ์ ๋๋ค.
- ํ๊ฒฝ ๋๊ธฐํ: ๋ธ๋ฃจ ํ๊ฒฝ๊ณผ ๊ทธ๋ฆฐ ํ๊ฒฝ์ ๋์ผํ๊ฒ ์ ์งํด์ผ ํ๋ฏ๋ก ํ๊ฒฝ ๋๊ธฐํ๊ฐ ํ์ํฉ๋๋ค.
- ๋ณต์ก์ฑ: ๋ ๊ฐ์ ํ๊ฒฝ์ ๊ด๋ฆฌํ๊ณ ํธ๋ํฝ ์ ํ์ ์ฒ๋ฆฌํ๋ ๊ณผ์ ์ด ๋ณต์กํ ์ ์์ต๋๋ค.
๐ฆโ๏ธ์นด๋๋ฆฌ ์ ๋ต
๊ฐ๋
์นด๋๋ฆฌ ์ ๋ต(Canary Deployment)์ ์๋ก์ด ๋ฒ์ ์ ์์์ ์ฌ์ฉ์์๊ฒ ๋จผ์ ๋ฐฐํฌํ์ฌ ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๊ธฐ์๋ ์ผ๋ถ ์ธ์คํด์ค์๋ง ์ ๋ฒ์ ์ ๋ฐฐํฌํ๊ณ , ์ ์ง์ ์ผ๋ก ํธ๋ํฝ์ ๋๋ ค๊ฐ๋ฉฐ ์ ์ฒด ๋ฐฐํฌ๋ฅผ ์๋ฃํฉ๋๋ค.
์นด๋๋ฆฌ ๋ฐฐํฌ์ ํต์ฌ์ ์์์ ํธ๋ํฝ์ผ๋ก ์๋ก์ด ๋ฒ์ ์ ๋ํ ์ค๋ฅ๋ฅผ ์กฐ๊ธฐ์ ๊ฐ์งํ๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ ํน์ง ๋๋ถ์ A/B ํ ์คํธ๋ฅผ ์งํํ๊ธฐ์๋ ์ ํฉํฉ๋๋ค.
์ฅ์
- ์ด๊ธฐ ์ค๋ฅ ๊ฐ์ง: ์๋ก์ด ๋ฒ์ ์ ์๊ท๋ชจ๋ก ๋จผ์ ๋ฐฐํฌํ์ฌ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ํด๊ฒฐํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ํผ๋๋ฐฑ: ์ด๊ธฐ ์ฌ์ฉ์๋ก๋ถํฐ ํผ๋๋ฐฑ์ ๋ฐ์ ๋ฐฐํฌ ์ค ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์์ ํ ์ ์์ต๋๋ค.
- ์ ์ฐ์ฑ: ๋ฐฐํฌ ๊ณผ์ ์์ ํธ๋ํฝ ๋น์จ์ ์กฐ์ ํ ์ ์์ด ์ ์ฐํ๊ฒ ๋์ํ ์ ์์ต๋๋ค.
๋จ์
- ๋ณต์กํ ์ค์ : ์ด๊ธฐ์ ์ ์ฒด ๋ฐฐํฌ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ณต์กํ ์ค์ ์ด ํ์ํ ์ ์์ต๋๋ค.
- ์ํ ๊ด๋ฆฌ: ๋กค๋ง ์ ๋ต๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ธฐ์กด ๋ฒ์ ๊ณผ ์๋ก์ด ๋ฒ์ ์ด ๋์์ ์คํ๋๋ฏ๋ก ์ํ ๊ด๋ฆฌ๊ฐ ๋ณต์กํ ์ ์์ต๋๋ค.
- ์ผ๊ด์ฑ ๋ฌธ์ : ๋กค๋ง ์ ๋ต๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฐฐํฌ๊ฐ ์งํ๋๋ ๋์ ๊ตฌ ๋ฒ์ ๊ณผ ์ ๋ฒ์ ์ด ๊ณต์กดํ๊ธฐ ๋๋ฌธ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์ด๊ธฐ ์ฌ์ฉ์์ ์ ์ฒด ์ฌ์ฉ์ ๊ฐ์ ๊ฒฝํ์ด ๋ค๋ฅผ ์ ์์ด ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
'DevOps > CI&CD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌด์ค๋จ ๋ฐฐํฌ ์ค์ต - ์นด๋๋ฆฌ ์ ๋ต (0) | 2024.09.07 |
---|---|
๋ฌด์ค๋จ ๋ฐฐํฌ ์ค์ต - ๋กค๋ง ์ ๋ต (0) | 2024.09.06 |
๋ฌด์ค๋จ ๋ฐฐํฌ ์ค์ต - ๋ธ๋ฃจ๊ทธ๋ฆฐ ์ ๋ต (0) | 2024.08.18 |
๋ฌด์ค๋จ ๋ฐฐํฌ ์ค์ต ๊ธฐ๋ณธ ์ ํ (Github Actions, Nginx ํ์ฉ) (0) | 2024.08.13 |
CI/CD ๋ ๋ฌด์์ธ๊ฐ? (0) | 2024.07.17 |
๋๊ธ