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

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ๊ณผ ํ”„๋กœํ† ์ฝœ์ด ์žˆ์œผ๋ฉฐ, ์ตœ์ ์˜ ๊ธฐ๋Šฅ์„ ์œ„ํ•ด์„œ๋Š” ํ”„๋กœ์ ํŠธ์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ต์‹ ์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ณธ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. ๋™๊ธฐ์‹ ํ†ต์‹ : ์ด ์ ‘๊ทผ ๋ฐฉ์‹์—์„œ ๋ฐœ์‹ ์ž ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ๋‹ค์Œ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ธฐ ์ „์— ์ˆ˜์‹ ์ž ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐœ์‹ ์ž๊ฐ€ ์ˆ˜์‹  ์„œ๋น„์Šค๋กœ๋ถ€ํ„ฐ ์ฆ‰๊ฐ์ ์ธ ํ”ผ๋“œ๋ฐฑ์ด๋‚˜ ํ™•์ธ์„ ์š”๊ตฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋™๊ธฐ์‹ ํ†ต์‹ ์— ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์—๋Š” HTTP/REST, GraphQL ๋ฐ gRPC๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

2. ๋น„๋™๊ธฐ์‹ ํ†ต์‹ : ๋™๊ธฐ์‹ ํ†ต์‹ ๊ณผ ๋‹ฌ๋ฆฌ ์†ก์‹ ์ž ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋Š” ์ˆ˜์‹ ์ž์˜ ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ž‘์—…์„ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ฆ‰๊ฐ์ ์ธ ์‘๋‹ต์ด ํ•„์š”ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์†ก์‹ ์ž์™€ ์ˆ˜์‹ ์ž๊ฐ€ ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•ด์•ผ ํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” AMQP, MQTT ๋˜๋Š” Apache Kafka์™€ ๊ฐ™์€ ํ”„๋กœํ† ์ฝœ์„ ํ™œ์šฉํ•˜๋Š” ๋ฉ”์‹œ์ง€ ๋Œ€๊ธฐ์—ด ๋ฐ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

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

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

๋˜ํ•œ AppMaster ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์˜ ๋ณต์žก์„ฑ๊ณผ ์ถœ์‹œ ๊ธฐ๊ฐ„์„ ์ค„์ด๋Š” ๋ฐ ํƒ์›”ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋žซํผ์€ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์›์„ ํ†ตํ•ด ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ๊ฐœ๋ฐœ์„ ํฌํ•จํ•œ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฑ„ํƒํ•จ์œผ๋กœ์จ AppMaster ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” App Store ๋ฐ Play Market์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋‹ค์‹œ ์ œ์ถœํ•  ํ•„์š” ์—†์ด ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ UI, ๋กœ์ง ๋ฐ API ํ‚ค๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ์™€ ํ•จ๊ป˜ ์„œ๋ฒ„ endpoints ์— ๋Œ€ํ•œ Swagger(OpenAPI) ๋ฌธ์„œ๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋ฏ€๋กœ ์•ˆ์ „ํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ํ†ต์‹ ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ์‚ฌ์šฉ์ž๋Š” 30์ดˆ ์ด๋‚ด์— ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ธํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ƒ์„ฑ๋˜๋ฏ€๋กœ ๊ธฐ์ˆ ์  ๋ถ€์ฑ„๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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