๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ ์์ญ์์ Canary ๋ฐฐํฌ๋ ํต์ ๋ ํ๊ฒฝ์์ ์ฌ์ฉ์ ํ์ ์งํฉ์ ์๋ก์ด ๊ธฐ๋ฅ, ์ ๋ฐ์ดํธ ๋๋ ๊ตฌ์ฑ์ ์ํํ๊ฒ ๋ฆด๋ฆฌ์คํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ ์ง์ ์ธ ๋กค์์ ์ ๋ต์ ๋๋ค. ์ด ์ด๋ฆ์ ํ๊ด์์ ๋ ์ฑ ๊ฐ์ค๋ ๊ธฐํ ์ํ์ ์กฐ๊ธฐ ์งํ๋ฅผ ๊ฐ์งํ๊ธฐ ์ํด ์นด๋๋ฆฌ์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ดํ์์ ๋ฐ์จ ๊ฒ์ ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ Canary ๋ฐฐํฌ๋ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฒด ์ฌ์ฉ์ ์ง๋จ์ ๋ฐฐํฌํ๊ธฐ ์ ์ ์ฒ์์๋ ์๊ท๋ชจ ์ฌ์ฉ์ ๊ธฐ๋ฐ์๋ง ๋ ธ์ถํ์ฌ ์๋ก์ด ์ ๋ฐ์ดํธ๋ ๊ธฐ๋ฅ ๋์ ์ ์ํ์ ์ต์ํํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค์ Canary ๋ฐฐํฌ๋ ์์ ์ฑ ํฅ์, ์ฌ์ฉ์ ๊ฒฝํ ๊ฐ์ , ๊ฐํธํ ๋กค๋ฐฑ, ๋น ๋ฅธ ํผ๋๋ฐฑ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ฌด์์๋ก ์ ํ๋ ์์์ ์ฌ์ฉ์์๊ฒ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณต๊ฐํจ์ผ๋ก์จ ๊ฐ๋ฐํ์ ์ค์๊ฐ์ผ๋ก ์ฑ๋ฅ์ ์ธก์ ํ๊ณ ํผ๋๋ฐฑ์ ์์งํ ์ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฒด ์ํ๊ณ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ ์ํ๊ฒ ํด๊ฒฐํ๊ณ ์ํํ ์ ์์ผ๋ฏ๋ก ์์คํ ์ ๋ฐ์ ์ค๋ฅ ์ํ์ ์ค์ด๊ณ ๋ณด๋ค ์์ ์ ์ธ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์์๋ ์ํํ๊ณ ์ํ์ด ๋ฎ์ ๋ฐฐํฌ ์ ๋ต์ ์ค์์ฑ์ ์ดํดํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ ํ๋ซํผ์ ํ์ฅ์ฑ, ์์ ์ฑ ๋ฐ ์ง์์ ์ธ ๊ฐ์ ์ ์ค์ ์ ๋๊ณ ์ค๊ณ๋์์ต๋๋ค. ํ๋ ์์ํฌ์ Canary ๋ฐฐํฌ ๋ฐฉ๋ฒ๋ก ์ ๊ตฌํํจ์ผ๋ก์จ ๊ณ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ์ ๋ฐ์ดํธ๋ฅผ ์ถ์ํ ๋ ๋ณด๋ค ์ํํ๊ณ ์ํ ์๋ ๊ฒฝํ์ ๋๋ฆด ์ ์๋๋ก ์ง์ํฉ๋๋ค.
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ Canary ๋ฐฐํฌ๋ ์ฌ์ฉ๋๋ ์ธํ๋ผ, ํ๋ซํผ ๋ฐ ๋๊ตฌ์ ๋ฐ๋ผ ๋ค์ํ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ ์ ์์ต๋๋ค. ์ ์๋ ค์ง ๋ฐฉ๋ฒ์ ๊ฐ๋ฐ์๊ฐ ๋ฐํ์ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๊ธฐ๋ฅ์ ํ์ฑํํ๊ฑฐ๋ ๋นํ์ฑํํ ์ ์๋ ๊ฐ๋จํ ๋ฉ์ปค๋์ฆ์ธ ๊ธฐ๋ฅ ํ๋๊ทธ๋ฅผ ํ์ฉํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด ์์คํ ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๋ฉด์ ๊ฐ๋ณ ๊ธฐ๋ฅ์ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํ ์ ์์ต๋๋ค.
๋ ๋ค๋ฅธ ์ธ๊ธฐ ์๋ ์ ๊ทผ ๋ฐฉ์์ ์ํํ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ๊ฐ๋ฅํ๊ฒ ํ๋ Docker ๋ฐ Kubernetes์ ๊ฐ์ ์ปจํ ์ด๋ํ ๋ฐ ์กฐ์ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ ๊ฒ์ ๋๋ค. ์๋ก์ด ๋ฒ์ ์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๋ณ๋์ ์ปจํ ์ด๋๋ก ๋ฐฐํฌํ๊ณ ์ด๋ค ์ฌ์ด์ ํธ๋ํฝ์ ์ ์ง์ ์ผ๋ก ์ด๋ํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๊ฐ ๋ฆด๋ฆฌ์ค์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ Canary ๋ฐฐํฌ๋ฅผ ๊ฒฝํํ๋ ์ฌ์ฉ์ ๊ทธ๋ฃน์์ ์์งํ ๊ฒฝํ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ถ๊ฐ ๋กค์์ ๋๋ ๋กค๋ฐฑ์ ๋ํ ์ ๋ณด์ ์ ๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ ํ ๋ชฉ๋ก, ์ฌ์ฉ์ ์ธ์ฆ, ๊ฒฐ์ ์ฒ๋ฆฌ ๋ฑ ์ฌ๋ฌ ๊ตฌ์ฑ ์์๊ฐ ํฌํจ๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ํ์ฉํ๋ AppMaster ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ ์ ์ ์๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณ ๋ คํด ๋ณด๊ฒ ์ต๋๋ค. ์ ๋ฐ์ดํธ๋ ์ ํ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋์ ํ๋ฉด ๊ฐ๋ฐํ์ Canary ๋ฐฐํฌ ์ ๋ต์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ค์ ์์์ ์ฌ์ฉ์์๊ฒ ์ ๋ฐ์ดํธ๋ฅผ ๋ฐฐํฌํ๋ ๊ฒ๋ถํฐ ์์ํ ๋ค์ ์ ๋ฐ์ดํธ๊ฐ ์ ํ ๊ถ์ฅ ์ฌํญ์ ํจ์จ์ฑ, ์ฌ์ฉ์ ์ฐธ์ฌ ๋ฐ ์์คํ ์์ ์ฑ์ ๋ฏธ์น๋ ์ํฅ์ ์ง์์ ์ผ๋ก ํ๊ฐํ์ต๋๋ค.
์ด๊ธฐ ์ฌ์ฉ์ ๊ทธ๋ฃน์ ๋ชจ๋ํฐ๋งํ๊ณ ์์์น ๋ชปํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ ๊ฐ๋ฐ ํ์ ์ ์ฒด ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋จ๊ณ์ ์ผ๋ก ์ถ์ํ์ฌ ํต์ ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ ์ฌํญ์ ๋ ธ์ถ๋๋ ์ฌ์ฉ์ ์๋ฅผ ๋๋ฆด ์ ์์ต๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ์ ์๊ณ ๋ฆฌ์ฆ์ ์์ ํ ๋ฐฐํฌํ๊ธฐ ์ ์ ํด๋น ์๊ณ ๋ฆฌ์ฆ์ ์ ํจ์ฑ์ ์๊ฒฉํ๊ฒ ํ ์คํธํ์ฌ ํด๋น ๊ธฐ๋ฅ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๋์ง ํ์ธํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค์ Canary ๋ฐฐํฌ๋ ์ํํธ์จ์ด ์์คํ ์ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ์ ๋ฐ์ดํธ ๋์ ๊ณผ ๊ด๋ จ๋ ์ํ์ ์ํํ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ณธ๊ฒฉ์ ์ธ ์ถ์ ์ ์ ์๊ท๋ชจ ์ฌ์ฉ์ ์ง๋จ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ง์ ์ผ๋ก ๋ ธ์ถํจ์ผ๋ก์จ ์ด ์ ๋ต์ ํตํด ๊ฐ๋ฐ์๋ ๋ฐฐํฌ๋ฅผ ์ ์ดํ๊ณ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ํด๊ฒฐํ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค. AppMasterno-code ํ๋ซํผ์ ํตํด ๊ณ ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์์ Canary ๋ฐฐํฌ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ํ๋ ฅ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ํ๊ณ๋ฅผ ์ ์งํ๊ณ ๋ชจ๋ ์ ๋ฐ์ดํธ ๋๋ ๊ฐ์ ์์ ์ผ๊ด๋๊ณ ๋ง์กฑ์ค๋ฌ์ด ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค.