๋ฐฐํฌ ๋งฅ๋ฝ์—์„œ "๋ฐฐํฌ ์ปจํ…Œ์ด๋„ˆ"๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ ์ข…์†์„ฑ์„ ์บก์Аํ™”ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ๊ณผ ์‹œ์Šคํ…œ์— ๊ฑธ์ณ ์ผ๊ด€๋˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐฐํฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒฉ๋ฆฌ๋˜๊ณ  ๊ฐ€๋ณ๊ณ  ํœด๋Œ€ ๊ฐ€๋Šฅํ•œ ๋‹จ์œ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐœ๋…์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ, ํ™•์žฅ ๋ฐ ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ˆ˜๋งŽ์€ ๊ณผ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ฏ€๋กœ ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐฉ์‹์˜ ์ค‘์š”ํ•œ ์ธก๋ฉด์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ •์˜์˜ ์ดˆ์ ์€ ๋ฐฐํฌ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ด€๋ จ๋œ ์ด์ , ๊ตฌ์„ฑ ์š”์†Œ ๋ฐ ๊ธฐ๋ณธ ๊ธฐ์ˆ ์€ ๋ฌผ๋ก  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ๋…ผ์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐฐํฌ ์ปจํ…Œ์ด๋„ˆ์˜ ๊ด‘๋ฒ”์œ„ํ•œ ์ฑ„ํƒ์„ ์ด‰์ง„ํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ด์— ํ•„์š”ํ•œ ํ™˜๊ฒฝ์„ ํ•˜๋‚˜์˜ ํ‘œ์ค€ํ™”๋œ ๋‹จ์œ„๋กœ ํŒจํ‚ค์ง•ํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ๋ฐ ์‹คํ–‰์„ ๊ฐ„์†Œํ™”ํ•˜๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ, ์ค€๋น„ ๋ฐ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ ๊ฐ„์˜ ๋ถˆ์ผ์น˜๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ ๋ฐฐํฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐฐํฌ ์ค‘์— ๋ฌธ์ œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” 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 ์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์€ ๋ฐฐํฌ ์ปจํ…Œ์ด๋„ˆ์˜ ์ด์ ์„ ๋”์šฑ ์ž˜ ๋ณด์—ฌ์คŒ์œผ๋กœ์จ ์กฐ์ง์ด ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ๊ณผ ์‹œ์Šคํ…œ์—์„œ ๋” ๋น ๋ฅธ ์†๋„, ํšจ์œจ์„ฑ ๋ฐ ์ผ๊ด€์„ฑ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.