๋ฐฐํฌ ๋งฅ๋ฝ์์ "๋ฐฐํฌ ์ปจํ ์ด๋"๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ ์์์ ์ข ์์ฑ์ ์บก์ํํ์ฌ ๋ค์ํ ํ๊ฒฝ๊ณผ ์์คํ ์ ๊ฑธ์ณ ์ผ๊ด๋๊ณ ํจ์จ์ ์ธ ๋ฐฐํฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฒฉ๋ฆฌ๋๊ณ ๊ฐ๋ณ๊ณ ํด๋ ๊ฐ๋ฅํ ๋จ์๋ฅผ ์๋ฏธํฉ๋๋ค. ์ด ๊ฐ๋ ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ, ํ์ฅ ๋ฐ ๊ด๋ฆฌ์ ๊ด๋ จ๋ ์๋ง์ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ฏ๋ก ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐฉ์์ ์ค์ํ ์ธก๋ฉด์ด ๋์์ต๋๋ค. ์ด ์ ์์ ์ด์ ์ ๋ฐฐํฌ ์ปจํ ์ด๋์ ๊ด๋ จ๋ ์ด์ , ๊ตฌ์ฑ ์์ ๋ฐ ๊ธฐ๋ณธ ๊ธฐ์ ์ ๋ฌผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋ฏธ์น๋ ์ํฅ์ ๋ ผ์ํ๋ ๊ฒ์ ๋๋ค.
๋ฐฐํฌ ์ปจํ ์ด๋์ ๊ด๋ฒ์ํ ์ฑํ์ ์ด์งํ๋ ์ค์ํ ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ด์ ํ์ํ ํ๊ฒฝ์ ํ๋์ ํ์คํ๋ ๋จ์๋ก ํจํค์งํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ ๋ฐ ์คํ์ ๊ฐ์ํํ๋ ๋ฅ๋ ฅ์ ๋๋ค. ์ด๋ ๊ฐ๋ฐ, ์ค๋น ๋ฐ ํ๋ก๋์ ํ๊ฒฝ ๊ฐ์ ๋ถ์ผ์น๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฐฐํฌ๋ฅผ ๋จ์ํํฉ๋๋ค. ์ด๋ก ์ธํด ์ผ๋ฐ์ ์ผ๋ก ๋ฐฐํฌ ์ค์ ๋ฌธ์ ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋๋ฒ๊น ํ๋ ๋ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ์ฆ๊ฐํฉ๋๋ค. ๋ํ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ CI/CD(์ง์์ ์ธ ํตํฉ ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ) ํ์ดํ๋ผ์ธ์ ์ง์ํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ๋น ๋ฅด๊ฒ ๊ตฌ์ถ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ๋ฐฐํฌํ ์ ์์ต๋๋ค. 2020๋ CNCF(Cloud Native Computing Foundation) ์ค๋ฌธ ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ์๋ต์์ 92%๊ฐ ํ๋ก๋์ ์์ ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๋ณด๊ณ ํ์ผ๋ฉฐ ์ด๋ ์ด ๊ธฐ์ ์ ์ค์์ฑ์ด ์ปค์ง๊ณ ์์์ ๋ฐ์ํฉ๋๋ค.
๋ฐฐํฌ ์ปจํ ์ด๋๋ ๋ค์ํ ๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฐ ๊ณ์ธต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐํ์ ํ๊ฒฝ์ ๊ธฐ์ฌํ๋ ๊ตฌ์ฑ ์์ ๋๋ ๊ตฌ์ฑ์ ๋ํ๋ ๋๋ค. ๊ฐ์ฅ ๋ฎ์ ๊ณ์ธต์๋ ์ผ๋ฐ์ ์ผ๋ก ๊ธฐ๋ณธ ์ด์ ์ฒด์ ๊ฐ ํฌํจ๋๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ข ์์ฑ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ง์ง๋ง์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋ ์์ฒด์ ๋ํ ๊ณ์ธต์ด ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๋ ์ด์ด๋ ์ปจํ ์ด๋ ๋ฐํ์์ ์ง์ํ๋ ๋ชจ๋ ์์คํ ์์ ๋ฐฐํฌ ๋ฐ ์คํ๋ ์ ์๋ ๋ถ๋ณ ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ก ๊ฒฐํฉ๋์ด ๋ค์ํ ํ๋ซํผ์์ ์ผ๊ด๋ ๋์์ ๋ณด์ฅํฉ๋๋ค.
๋ฐฐํฌ ์ปจํ ์ด๋์ ์ฃผ์ ์์ฑ ์ค ํ๋๋ ๊ฒฉ๋ฆฌ๋ ํน์ฑ์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํด๋น ์ข ์์ฑ์ด ํธ์คํธ ์์คํ ๋ฐ ๋์ผํ ํธ์คํธ์์ ์คํ๋๋ ๋ค๋ฅธ ์ปจํ ์ด๋์ ๋ถ๋ฆฌ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ฌํ ๊ฒฉ๋ฆฌ๋ ๊ฐ๊ฐ ํ๋ก์ธ์ค ๊ฒฉ๋ฆฌ์ ๋ฆฌ์์ค ๊ฒฉ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋ ๊ฐ์ง Linux ์ปค๋ ๊ธฐ๋ฅ์ธ ๋ค์์คํ์ด์ค์ cgroup์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํจ์ผ๋ก์จ ์ปจํ ์ด๋๋ ์๊ตฌ ์ฌํญ์ด ์์ถฉ๋๋ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ผํ ํธ์คํธ์ ๊ณต์กดํ ์ ์๋๋ก ํ์ฌ ๋ฆฌ์์ค ํ์ฉ๋๋ฅผ ์ต๋ํํ๋ ๋์์ ํธ์คํธ ์์คํ ์ด๋ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ๊ฐ์ญ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ถฉ๋์ด๋ ๋ฌธ์ ์ ๊ฐ๋ฅ์ฑ์ ์ต์ํํฉ๋๋ค.
Docker์ ๊ฐ์ ์ปจํ ์ด๋ํ ๊ธฐ์ ๊ณผ Kubernetes์ ๊ฐ์ ์ปจํ ์ด๋ ์กฐ์ ๋๊ตฌ๋ ๋ฐฐํฌ ์ปจํ ์ด๋์ ๊ด๋ฒ์ํ ์ฑํ์ ์ด์งํ์ต๋๋ค. ๋๋ฆฌ ์ฌ์ฉ๋๋ ์คํ ์์ค ์ปจํ ์ด๋ ํ๋ซํผ์ธ Docker๋ Dockerfile, Docker ์ด๋ฏธ์ง ๋ฐ Docker ์ปจํ ์ด๋ ๊ตฌ์ฑ ์์๋ฅผ ํตํด ์ปจํ ์ด๋ ์์ฑ ๋ฐ ๊ด๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค. ๋ฐ๋ฉด, Kubernetes๋ ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ, ํ์ฅ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์๋ํํ๋ ๋ฐ ์ค์ ์ ๋์ด ์กฐ์ง์ด ํ๋ก๋์ ํ๊ฒฝ์์ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ๋ฐ๋ฅธ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ๋๋ก ๋์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ๋ฅผ ๊ฐ์ํํ๊ธฐ ์ํด ๋ฐฐํฌ ์ปจํ ์ด๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. AppMaster ์ปจํ ์ด๋์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๊ณ ๊ฐ์ด ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํํ๊ฒ ์์ฑ ๋ฐ ๋ฐฐํฌํ๊ณ ์จํ๋ ๋ฏธ์ค ํธ์คํ ์ ์ํ ์คํ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ด๋ ์์ค ์ฝ๋๊น์ง ์ ๊ณตํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. AppMaster Docker ์ปจํ ์ด๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์บก์ํํจ์ผ๋ก์จ ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋ ๋์๊ณผ ๋ฆฌ์์ค ํจ์จ์ฑ์ ๋ณด์ฅํ๊ณ , ์๊ตฌ ์ฌํญ์ด ์์ ๋ ๋๋ง๋ค ์ฒ์๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ์ฌ ๋ฐฐํฌ๋ฅผ ๋จ์ํํ๊ณ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ค์ ๋๋ค.
๋ํ AppMaster ์ ์ปจํ ์ด๋ ์ฌ์ฉ์ Go๋ก ์์ฑ๋ ์๋ฒ๋ฆฌ์ค ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ํ๋ซํผ์ ์ง์๊ณผ ๊ฒฐํฉ๋์ด ๊ธฐ์ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ ์ ์๋ ๋ฐ์ด๋ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๋ซํผ์ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฒ ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฏ๋ก App Store๋ Play Market์ ๋ค์ ์ ์ถํ ํ์ ์์ด ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI), ๋ก์ง ๋ฐ API ํค๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ผ๋ฏ๋ก ๊ณ ๊ฐ์ ๋ฐฐํฌ ํ๋ก์ธ์ค๊ฐ ๋์ฑ ์ํํด์ง๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ๋ฐฐํฌ ์ปจํ ์ด๋๋ ์ต์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ๋ฐฉ์์ ์ค์ํ ์ธก๋ฉด์ผ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ตฌ์ถ, ํจํค์ง ๋ฐ ๋ฐฐํฌ๋๋ ๋ฐฉ์์ ํจ๋ฌ๋ค์ ์ ํ์ ๋ํ๋ ๋๋ค. ์ด๋ ๊ธฐ์กด ๋ฐฐํฌ ๋ฐฉ๋ฒ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋์์ ํฅ์๋ ์ด์์ฑ, ๊ฒฉ๋ฆฌ ๋ฐ ํ์ฅ์ฑ๊ณผ ๊ฐ์ ๋ค์ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. Docker ๋ฐ Kubernetes์ ๊ฐ์ ๋๊ตฌ์ AppMaster ์ ๊ฐ์ ํ๋ซํผ์ ๋ฐฐํฌ ์ปจํ ์ด๋์ ์ด์ ์ ๋์ฑ ์ ๋ณด์ฌ์ค์ผ๋ก์จ ์กฐ์ง์ด ๋ค์ํ ํ๊ฒฝ๊ณผ ์์คํ ์์ ๋ ๋น ๋ฅธ ์๋, ํจ์จ์ฑ ๋ฐ ์ผ๊ด์ฑ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.