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

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

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

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

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

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

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