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

๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋Š” ๊ธฐ์ˆ  ์Šคํƒ, ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก , ๋ฐฐํฌ ํ”Œ๋žซํผ, ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ด€๋ฆฌ ๋„๊ตฌ, ๋ณด์•ˆ ์กฐ์น˜๋ฅผ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ์ฐจ์›์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ฐจ์›์˜ ์„ ํƒ์€ ํŠน์ • ํ”„๋กœ์ ํŠธ์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ, ๋Œ€์ƒ ๊ณ ๊ฐ, ๋ฆฌ์†Œ์Šค ๋ฐ ์ œ์•ฝ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ์˜ ๋งฅ๋ฝ์—์„œ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋Š” ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ ๊ณ ์œ ํ•œ ๊ณผ์ œ์™€ ๊ณ ๋ ค ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์„œ๋ฒ„ ์ธํ”„๋ผ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ๋ฐ ๋ฏธ๋“ค์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ํ”Œ๋žซํผ์˜ ์„ ํƒ์€ ์„ฑ๋Šฅ, ํ™•์žฅ์„ฑ, ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ์„ฑ ๋ฐ ๊ธฐ์กด ์‹œ์Šคํ…œ๊ณผ์˜ ํ˜ธํ™˜์„ฑ๊ณผ ๊ฐ™์€ ์š”์†Œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AppMaster ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ๊ณผ ํ™•์žฅ์„ฑ์œผ๋กœ ์•Œ๋ ค์ง„ ์ปดํŒŒ์ผ ์–ธ์–ด์ธ Go๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Docker ์ปจํ…Œ์ด๋„ˆ์— ํŒจํ‚ค์ง•๋˜์–ด Kubernetes ๋˜๋Š” Amazon ECS์™€ ๊ฐ™์€ Docker ๋Ÿฐํƒ€์ž„๊ณผ ํ˜ธํ™˜๋˜๋Š” ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ™˜๊ฒฝ์— ์›ํ™œํ•˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋ฒ„ ์ธก ๊ด€๋ฆฌ ๋ฐ API ํ†ต์‹ ๊ณผ ํ•จ๊ป˜ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ Œ๋”๋ง, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๋ฐ ๋ธŒ๋ผ์šฐ์ € ํ˜ธํ™˜์„ฑ๊ณผ ๊ด€๋ จ๋œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. AppMaster ๋ฐ˜์‘ํ˜• ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์ถ•์„ ์œ„ํ•œ ์ตœ์‹  JavaScript ํ”„๋ ˆ์ž„์›Œํฌ์ธ Vue3์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜์‘ํ˜•, ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ € UI ๊ตฌ์„ฑ์š”์†Œ ์ƒ์„ฑ ๋ฐ ํ•„์ˆ˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง drag-and-drop ๋„๊ตฌ์™€ ๋น„์ฃผ์–ผ ๋””์ž์ด๋„ˆ๋ฅผ ํ†ตํ•ด ํšจ์œจ์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ํ•„์ˆ˜ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ ํ†ตํ•ฉ ์ž‘์—…์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—๋Š” ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ, ์žฅ์น˜, ํผ ํŒฉํ„ฐ, ์šด์˜ ์ฒด์ œ ๋ฒ„์ „ ๋ฐ ์•ฑ ์Šคํ† ์–ด ์ œ์ถœ ์š”๊ตฌ ์‚ฌํ•ญ์˜ ๊ด€๋ฆฌ๊ฐ€ ์ˆ˜๋ฐ˜๋ฉ๋‹ˆ๋‹ค. AppMaster ํ”Œ๋žซํผ์€ Android์šฉ Kotlin ๋ฐ Jetpack Compose ์™€ iOS์šฉ SwiftUI ํ™œ์šฉํ•˜์—ฌ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์„œ๋ฒ„ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ณ ๊ฐ์€ ์•ฑ ์Šคํ† ์–ด์— ์ƒˆ ๋ฒ„์ „์„ ์ œ์ถœํ•˜์ง€ ์•Š๊ณ ๋„ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ UI, ๋กœ์ง ๋ฐ API ํ‚ค๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํฌ๊ฒŒ ๊ฐ„์†Œํ™”๋˜๊ณ  ์ถœ์‹œ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž๋Š” ๋˜ํ•œ UI ๊ตฌ์„ฑ์š”์†Œ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฝ”๋“œ์˜ ์ž๋™ ์ƒ์„ฑ์„ ํ†ตํ•ด ์ฝ”๋“œ ์ค‘๋ณต, ์ˆ˜๋™ ์˜ค๋ฅ˜ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ๋น„์šฉ์„ ์ค„์ด๋Š” ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ๋Š” ํ•ต์‹ฌ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์™ธ์—๋„ ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ, CI/CD(์ง€์†์  ํ†ตํ•ฉ ๋ฐ ๋ฐฐํฌ), ๋ฒ„์ „ ์ œ์–ด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, API ๋ฌธ์„œํ™” ๋“ฑ์˜ ์ธก๋ฉด๋„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. AppMaster ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ, ์†Œ์Šค ์ฝ”๋“œ, ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ ๋ฐ OpenAPI(Swagger) ๋ฌธ์„œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์ž๋™ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ํ”Œ๋žซํผ์€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” CI/CD ํ”Œ๋žซํผ๊ณผ์˜ ํ†ตํ•ฉ์„ ์ง€์›ํ•˜๋ฏ€๋กœ ํŒ€์€ ์—…๊ณ„ ํ‘œ์ค€ DevOps ๋ฐฉ์‹์„ ์ฑ„ํƒํ•˜์—ฌ ๊ณ ํ’ˆ์งˆ ์†Œํ”„ํŠธ์›จ์–ด ์ œ๊ณต์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋งˆ์ง€๋ง‰์œผ๋กœ, ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ œ์•ฝ ์กฐ๊ฑด์ด ๋ณ€ํ™”ํ•จ์— ๋”ฐ๋ผ ์ ์‘ ๊ฐ€๋Šฅํ•˜๊ณ  ๋ฏธ๋ž˜์—๋„ ๋Œ€๋น„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. AppMaster ๋Š” ์ฒญ์‚ฌ์ง„ ๋ณ€๊ฒฝ์— ๋”ฐ๋ผ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฒด๊ณ„์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์žฌ์ƒ์„ฑํ•˜๊ณ  ์ตœ์‹  ๊ฐœ๋ฐœ ๊ธฐ์ˆ  ๋ฐ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ธฐ๋ณธ ๊ธฐ์ˆ  ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ํ™˜๊ฒฝ์ด ๋ณ€ํ™”ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ด€๋ จ์„ฑ, ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ํ™•์žฅ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์‹œ์Šคํ…œ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋‹จ๊ณ„์™€ ์š”์†Œ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ถ„์„์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์ธ ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์ธํ”„๋ผ, ๊ธฐ์ˆ , ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•๋ก , ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ณด์•ˆ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜์™€ ๊ฐ™์€ ์ธก๋ฉด์„ ๊ณ ๋ คํ•˜์—ฌ ๋น„์šฉ, ์œ„ํ—˜, ๊ทธ๋ฆฌ๊ณ  ์œ ์ง€ ๋ณด์ˆ˜. ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ธฐ์ˆ ์„ ํฌ๊ด„์ ์œผ๋กœ ํฌ๊ด„ํ•˜๊ณ  ์ž๋™ํ™” ๋ฐ ๋ฏธ๋ž˜ ๋ณด์žฅ์— ์ดˆ์ ์„ ๋งž์ถ˜ AppMasterno-code ํ”Œ๋žซํผ์€ ์ค‘์†Œ๊ธฐ์—…๋ถ€ํ„ฐ ๊ด‘๋ฒ”์œ„ํ•œ ๊ณ ๊ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋ฐฐํฌ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๊ธฐ์—…์—.