NGINX์—์„œ ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์›์น™. 1 ๋ถ€

์•ˆ๋…•ํ•˜์„ธ์š” ์นœ๊ตฌ. ์ฝ”์Šค ๊ฐœ๊ฐ•์„ ์•ž๋‘๊ณ  PHP ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž, ์ „ํ†ต์ ์œผ๋กœ ์œ ์šฉํ•œ ์ž๋ฃŒ์˜ ๋ฒˆ์—ญ์„ ๊ท€ํ•˜์™€ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด๋Š” ์ ์  ๋” ๋ณต์žกํ•ด์ง€๋Š” ๋™์‹œ์— ์ ์  ๋” ๋งŽ์€ ์ผ์ƒ ์—…๋ฌด๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. Marc Andressen์ด ๋งํ–ˆ๋“ฏ์ด ๊ทธ๊ฒƒ์€ ์„ธ์ƒ์„ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค.

NGINX์—์„œ ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์›์น™. 1 ๋ถ€

๊ทธ ๊ฒฐ๊ณผ ์ง€๋‚œ ๋ช‡ ๋…„ ๋™์•ˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์ œ๊ณตํ•˜๋Š” ๋ฐฉ์‹์ด ํฌ๊ฒŒ ๋ฐ”๋€Œ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ผ๋ จ์˜ ์›์น™์„ ๋‚ณ์€ ๊ตฌ์กฐ์  ๊ทœ๋ชจ์˜ ๋ณ€ํ™”์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์›์น™์€ ํŒ€ ๊ตฌ์ถ•, ์„ค๊ณ„, ๊ฐœ๋ฐœ ๋ฐ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ œ๊ณต์— ๋„์›€์ด ๋˜๋Š” ๊ฒƒ์œผ๋กœ ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

NGINX์—์„œ ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์›์น™. 1 ๋ถ€

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

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

์ด๋Ÿฌํ•œ ์›์น™์„ ์ ์šฉํ•˜๋ฉด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ตœ์‹  ๋™ํ–ฅ์„ ํ™œ์šฉํ•˜๋Š” ์ž์‹ ์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋ฐ ์ œ๊ณต, ์ปจํ…Œ์ด๋„ˆ ์‚ฌ์šฉ(์˜ˆ: ๋„์ปค) ๋ฐ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(์˜ˆ: Kubernetes), ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์‚ฌ์šฉ(๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ ํฌํ•จ) NGINX ะธ ๋„คํŠธ์›Œํฌ ํ†ต์‹  ์•„ํ‚คํ…์ฒ˜ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ.

์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜? ๋ชจ๋˜ ์Šคํƒ? "ํ˜„๋Œ€"๋ž€ ์ •ํ™•ํžˆ ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ?

๋Œ€๋ถ€๋ถ„์˜ ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋ฌด์—‡์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์•„์ด๋””์–ด๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ๊ฐœ๋…์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์‹  ์•ฑ์€ React JavaScript ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, Android ๋˜๋Š” iOS ๋ชจ๋ฐ”์ผ ์•ฑ, ๋‹ค๋ฅธ API์— ์—ฐ๊ฒฐํ•˜๋Š” ์•ฑ ๋“ฑ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ฐ์ดํ„ฐ ๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ๋ฌดํ•œํ•œ ์ˆ˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์š”์ฒญ๋œ ๋ฐ์ดํ„ฐ ๋ฐ ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•œ API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. API๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ  ์ผ์ •ํ•ด์•ผ ํ•˜๋ฉฐ ํŠน์ • ํด๋ผ์ด์–ธํŠธ์˜ ํŠน์ • ์š”์ฒญ์— ๋Œ€ํ•ด ํŠน๋ณ„ํžˆ ์ž‘์„ฑ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. API๋Š” HTTP(S)๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ GUI ๋˜๋Š” CLI์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋Š” JSON๊ณผ ๊ฐ™์ด ์ผ๋ฐ˜์ ์œผ๋กœ ํ—ˆ์šฉ๋˜๊ณ  ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•œ ํ˜•์‹์œผ๋กœ ์ œ๊ณต๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. API๋Š” RESTful API ๋˜๋Š” GraphQL๊ณผ ๊ฐ™์ด ๊นจ๋—ํ•˜๊ณ  ์ฒด๊ณ„์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๊ฐœ์ฒด์™€ ์„œ๋น„์Šค๋ฅผ ๋…ธ์ถœํ•˜์—ฌ ์ ์ ˆํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

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

์ด ์Šคํƒ ์œ ํ˜•์˜ ์ธ๊ธฐ ์žˆ๋Š” ๋ฒ„์ „์€ ๋‹ค์Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”, Python, ๋…ธ๋“œ, ๋ฃจ๋น„, PHP ะธ Go. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜ NGINX ์–ธ๊ธ‰๋œ ๊ฐ ์–ธ์–ด๋กœ ๊ตฌํ˜„๋œ ์ตœ์‹  ์Šคํƒ์˜ ์˜ˆ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

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

์›์น™

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

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

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

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

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๊ณ„ํ•˜๊ณ  ๊ตฌํ˜„ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ์›์น™์„ ์—ผ๋‘์— ๋‘”๋‹ค๋ฉด ์ œํ’ˆ ๊ฐœ๋ฐœ ๋ฐ ์ œ๊ณต์—์„œ ๋ถ€์ธํ•  ์ˆ˜ ์—†๋Š” ์ด์ ์„ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์„ธ ๊ฐ€์ง€ ์›์น™์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž‘์Œ ์›๋ฆฌ

์ธ๊ฐ„์˜ ๋‡Œ๋Š” ๋™์‹œ์— ๋งŽ์€ ์–‘์˜ ์ •๋ณด๋ฅผ ์ธ์‹ํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์‹ฌ๋ฆฌํ•™์—์„œ ์ธ์ง€ ๋ถ€ํ•˜๋ผ๋Š” ์šฉ์–ด๋Š” ๊ธฐ์–ต์— ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •์‹ ์  ๋…ธ๋ ฅ์˜ ์ด๋Ÿ‰์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ˜„์žฌ ๋ณต์žกํ•œ ๋ชจ๋ธ๊ณผ ๊ฐœ๋ฐœ ์ค‘์ธ ๊ธฐ๋Šฅ์„ ๋จธ๋ฆฟ์†์— ์œ ์ง€ํ•˜๋Š” ๋Œ€์‹  ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž์˜ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ์šฐ์„  ์ˆœ์œ„์ž…๋‹ˆ๋‹ค.

NGINX์—์„œ ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•œ ์›์น™. 1 ๋ถ€

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ ๋ถ„ํ•ด๋ฉ๋‹ˆ๋‹ค.

  • ๊ฐœ๋ฐœ์ž์˜ ์ธ์ง€ ๋ถ€ํ•˜ ๊ฐ์†Œ
  • ํ…Œ์ŠคํŠธ ๊ฐ€์†ํ™” ๋ฐ ๋‹จ์ˆœํ™”
  • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.


๊ฐœ๋ฐœ์ž์˜ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€๊ฐ€ ์žˆ์œผ๋ฉฐ ์—ฌ๊ธฐ์—์„œ ์†Œํ˜•ํ™” ์›์น™์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ธ์ง€ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๋Š” ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ„ ํ”„๋ ˆ์ž„์„ ์ค„์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„ ํ”„๋ ˆ์ž„์ด ์งง์„์ˆ˜๋ก ์ธ์ง€ ๋ถ€ํ•˜๊ฐ€ โ€‹โ€‹๋‚ฎ์•„์ง‘๋‹ˆ๋‹ค.
  2. ์ผํšŒ์„ฑ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋Š” ์ฝ”๋“œ์˜ ์–‘์„ ์ค„์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์ ๊ณ  ๋ถ€ํ•˜๊ฐ€ ์ ์Šต๋‹ˆ๋‹ค.
  3. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ ์ง„์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„ ๋‹จ์ถ•

๋ฐฉ๋ฒ•๋ก ์ด ์‚ฌ์šฉ๋˜๋˜ ์‹œ์ ˆ๋กœ ๋Œ์•„๊ฐ€ ๋ด…์‹œ๋‹ค. waterfall ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์˜ ํ‘œ์ค€์ด์—ˆ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋˜๋Š” ์—…๋ฐ์ดํŠธ์— XNUMX๊ฐœ์›”์—์„œ XNUMX๋…„์˜ ์‹œ๊ฐ„ ํ”„๋ ˆ์ž„์ด ์ผ๋ฐ˜์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์—”์ง€๋‹ˆ์–ด๋Š” ๋จผ์ € ์ œํ’ˆ ์š”๊ตฌ ์‚ฌํ•ญ(PRD), ์‹œ์Šคํ…œ ์ฐธ์กฐ ๋ฌธ์„œ(SRD), ์•„ํ‚คํ…์ฒ˜ ์ฒญ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ๊ด€๋ จ ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋‚˜์˜ ์ธ์ง€ ๋ชจ๋ธ๋กœ ๊ฒฐํ•ฉํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋ณ€๊ฒฝ๋จ์— ๋”ฐ๋ผ ์ธ์ง€ ๋ชจ๋ธ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ์ „์ฒด ํŒ€์— ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ์ง„์ง€ํ•œ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์—ฌ์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ตœ์•…์˜ ๊ฒฝ์šฐ ๋‹จ์ˆœํžˆ ์ž‘์—…์„ ๋งˆ๋น„์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

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

์ž‘์€ ์ฝ”๋“œ๋ฒ ์ด์Šค

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

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

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

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

์ž‘์€ ์ฆ๋ถ„ ๋ณ€๊ฒฝ

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

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

์—”์ง€๋‹ˆ์–ด๋Š” ๊ฐ„๋‹จํ•œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋„์ž…์—๋„ ๋งŽ์€ ์–ด๋ ค์›€์„ ๊ทน๋ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ์˜์ง„์˜ ์ž…์žฅ์—์„œ๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์š”์†Œ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํŒ€์˜ ๋ถˆํ•„์š”ํ•œ ๋ถ€๋‹ด์„ ์ค„์ด๋Š” ๊ฒƒ์ด ํ˜„๋ช…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํŒ€์„ ๋•๊ธฐ ์œ„ํ•ด ํ•  ์ˆ˜ ์žˆ๋Š” ์„ธ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์˜ ๋.

๊ณง ๋ฒˆ์—ญ์˜ ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์„ ๊ฒŒ์‹œํ•  ์˜ˆ์ •์ด๋ฉฐ ์ด์ œ ๊ท€ํ•˜์˜ ์˜๊ฒฌ์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ ๋ฐ์ด, ์˜ค๋Š˜ 20.00์— ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€