์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

ํŒŒ์ด์ฌ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ : ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋ถ€ํ„ฐ ์›น ๊ฐœ๋ฐœ๊นŒ์ง€ (feat. FastAPI)

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

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์›น ๊ฐœ๋ฐœ, ๋ฐฑ์—”๋“œ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ๋™์‹œ์„ฑ / ๋ณ‘๋ ฌ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ ์„ค๊ณ„ ์›์น™

  • ํŒŒ์ด์ฌ ์ฝ”๋ฃจํ‹ด, ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ํŒŒ์ด์ฌ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ, ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ ๊ธฐ๋ฒ•

  • ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ ๊ด€๋ จ OS ์ง€์‹

  • MongoDB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„์ •ํ˜• ๋น…๋ฐ์ดํ„ฐ ์ ์žฌํ•˜๊ธฐ

  • FastAPI๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๊ฐœ๋ฐœ, ๋น„๋™๊ธฐ ๊ฒŒ์ดํŠธ์›จ์ด Uvicorn ์‚ฌ์šฉ

  • AWS ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„ ๊ตฌ์ถ•

  • ์›น ๋ฐ์ดํ„ฐ ํฌ๋กค๋ง, ์‹œ๊ฐํ™”

๋А๋ฆฐ ํŒŒ์ด์ฌ?
๋™์‹œ์„ฑยท๋ณ‘๋ ฌ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋‚ ๊ฐœ๋ฅผ ๋‹ค์„ธ์š”!

๊ฐ•์˜๋ฅผ
์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

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

๋™์‹œ์„ฑยท๋น„๋™๊ธฐยท๋ณ‘๋ ฌ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„
ํŒŒ์ด์ฌ ์ตœ์‹  ๋ฌธ๋ฒ•์œผ๋กœ

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

๋™์‹œ์„ฑ๊ณผ ๋ณ‘๋ ฌ์„ฑ์„
๋™์‹œ(at the same time)์—

์ด ๊ฐ•์˜์—์„œ๋Š” ๋™์‹œ์„ฑ๊ณผ ๋ณ‘๋ ฌ์„ฑ์„ ๋ชจ๋‘ ๋‹ค๋ฃจ๊ณ  ์‹ค์ œ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค๋“œ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ์ด ๊ฐ•์˜์˜ ์ œ๋ชฉ์ธ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ด์ค‘์ ์ธ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์„ฑ(Concurrency)๊ณผ ๋ณ‘๋ ฌ์„ฑ(Parallelism)์—์„œ์˜ ๋™์‹œ์„ฑ๊ณผ ๋™์‹œ์—(at the same time)์˜ ์˜๋ฏธ๋กœ์„œ์˜ ๋™์‹œ์„ฑ์ž…๋‹ˆ๋‹ค. ๋ณ‘๋ ฌ์„ฑ์„ ํ‘œํ˜„ํ•  ๋•Œ '๋™์‹œ์—' ๋˜๋Š” 'ํ•œ์ˆœ๊ฐ„์—'๋ผ๊ณ  ํ‘œํ˜„ํ•  ๋•Œ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ•์˜๋ฅผ
์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ๊ถŒํ•˜๊ณ  ์‹ถ์–ด์š”

๋™์‹œ์„ฑ? ๋ณ‘๋ ฌ์„ฑ?
์ด๊ฒŒ ๋‹ค ๋ญ์•ผ?

๋™์‹œ์„ฑ๊ณผ ๋ณ‘๋ ฌ์„ฑ์ด
๋ฌด์—‡์ธ์ง€, ์™œ ํ•„์š”ํ•œ์ง€
์ดํ•ดํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด

์ตœ์‹  ํŒŒ์ด์ฌ ๋ฌธ๋ฒ•์œผ๋กœ
 ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋™์‹œ์„ฑยท๋น„๋™๊ธฐยท๋ณ‘๋ ฌ์„ฑ
๋ฌธ๋ฒ•์„ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ
์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด

ํŒŒ์ด์ฌ ๋™์‹œ์„ฑ ๋ฌธ๋ฒ•์„
์‹ค๋ฌด์—์„œ๋„

์‹ค๋ฌด์—์„œ๋„ ์ ์šฉํ• 
์ˆ˜ ์žˆ๋Š” ๋™์‹œ์„ฑ
ํ”„๋กœ๊ทธ๋ž˜๋ฐ

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋„
๊ถ๊ธˆํ•œ FastAPI

๋น„๋™๊ธฐ ๋ฌธ๋ฒ•์„ ์ ๊ทน
์‚ฌ์šฉํ•˜๋Š” FastAPI์„
์จ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด

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

์ด ๊ฐ•์˜๋Š”
์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜๋„ ๋„์›€ ๋ฉ๋‹ˆ๋‹ค

  • ํŒŒ์ด์ฌ์„ ๋ฐฐ์šฐ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฐ˜ ์–ธ์–ด) ๊ฐœ๋ฐœ์ž

ํŒŒ์ด์ฌ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ :
๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋ถ€ํ„ฐ ์›น ๊ฐœ๋ฐœ๊นŒ์ง€

๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ํ†ต์‹ 
  • ์‹œ์Šคํ…œ ๋””์Šคํฌ ํŒŒ์ผ ์ฝ๊ธฐ/์“ฐ๊ธฐ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฟผ๋ฆฌ ์ž‘์—…
  • API ์‚ฌ์šฉ

๋ณ‘๋ ฌ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  • ๋น„๋””์˜ค, ์˜ค๋””์˜ค ๋˜๋Š” ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ
  • ์ปดํ“จํ„ฐ ๋น„์ „
  • ๋จธ์‹ ๋Ÿฌ๋‹
  • ๋”ฅ๋Ÿฌ๋‹

์ด ๊ฐ•์˜๋Š”
์ด๋ ‡๊ฒŒ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค

ํŒŒ์ด์ฌ ์ฝ”๋ฃจํ‹ด๊ณผ ๋น„๋™๊ธฐ ํ•จ์ˆ˜

๊ธฐ๋ณธ์ ์ธ ์šฉ์–ด ์ •๋ฆฌ์™€ ํŒŒ์ด์ฌ ์ฝ”๋ฃจํ‹ด์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ

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

ํŒŒ์ด์ฌ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ๊ณผ ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์‹ฑ

๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ? ๋ฉ€ํ‹ฐ ํ”„๋กœ์„ธ์Šค? ๋™์‹œ์„ฑ? ๋ณ‘๋ ฌ์„ฑ?

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

๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘

๋™์‹œ์„ฑยท๋น„๋™๊ธฐ ์‹ค์ œ๋กœ ํ”„๋กœ์ ํŠธ์— ์‘์šฉํ•˜๊ธฐ

  • ์ง€๊ธˆ๊นŒ์ง€ ๋ฐฐ์šด ์ด๋ก ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์›น ํฌ๋กค๋Ÿฌ์™€ ์˜คํ”ˆ API๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ธฐ๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ์ต์ˆ™ํ•ด์ง€๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

์‹ค์ „ ํ”„๋กœ์ ํŠธ : "๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๊ธฐ ์›น ์•ฑ" with FastAPI

๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ MongoDB CRUD, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋ฐ ์›น ๊ฐœ๋ฐœ

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

AWS ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์œผ๋กœ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ๋Š” ๋‹จ์ˆœ ๊ฐœ๋ฐœ์—์„œ ๋๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. AWS ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„์— ์›น ์•ฑ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๋ณด๋„ˆ์Šค ๊ฐ•์˜

์งˆ๋ฌธ์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฐ•์˜

  • ์ด ๊ฐ•์˜์—์„œ ํ•„์š”ํ•œ ํŒŒ์ด์ฌ ๋ฌธ๋ฒ• ๊ฐ•์˜๊ฐ€ ์ง€์†์ ์œผ๋กœ ์—…๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.
  • ์ค‘์š”ํ•œ ์งˆ๋ฌธ์€ ๋ณด๋„ˆ์Šค ๊ฐ•์˜์— ์ง€์†์ ์œผ๋กœ ๋‹ต๋ณ€ํ•˜์—ฌ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•์˜ ์˜ˆ์ƒ ์งˆ๋ฌธ
Q&A

Q. ํŒŒ์ด์ฌ ์„ ์ˆ˜ ์ง€์‹์€ ์–ด๋А ์ •๋„๋กœ ํ•„์š”ํ•œ๊ฐ€์š”?

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

Q. ์ˆ˜๊ฐ• ๊ด€๋ จ ์ฐธ๊ณ  ์‚ฌํ•ญ(๊ฐ–์ถฐ์•ผ ํ•  ํ™˜๊ฒฝ, ๊ธฐํƒ€ ์œ ์˜์‚ฌํ•ญ ๋“ฑ)์ด ์žˆ๋‚˜์š”?

ํŒŒ์ด์ฌ ๋ฒ„์ „์€ 3.7 ์ด์ƒ์ธ ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค


์ง€์‹๊ณต์œ ์ž๊ฐ€
์ „ํ•˜๊ณ  ์‹ถ์€ ๋ง

๊ฐ•์˜๋Š” ์•ž์œผ๋กœ๋„
๊ณ„์† ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค

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

์งˆ๋ฌธ์€
์–ธ์ œ๋‚˜ ํ™˜์˜์ž…๋‹ˆ๋‹ค

๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๋ฉด์„œ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€์ ์ธ ์„ค๋ช…์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์€ ์–ธ์ œ๋“ ์ง€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์‚ฌ๋ก€์™€ ํ•จ๊ป˜ ๋‹ต๋ณ€์„ ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ˆ˜๊ฐ•์ƒ๋ถ„๋“ค์˜ ์งˆ๋ฌธ์„ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค!

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ์†๋„๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์€ ๋ถ„

  • ํŒŒ์ด์ฌ ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์‹ค๋ฌด์—์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • MongoDB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ ์žฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • FastAPI๋ฅผ ๋„์ž…ํ•˜๊ณ  ์‹ถ์€ ์Šคํƒ€ํŠธ์—… ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

  • ๋™์‹œ์„ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ํšจ์œจ์ ์œผ๋กœ ํฌ๋กค๋งํ•˜๊ณ  ์‹ถ์€ ๋ถ„

  • ๊ฐœ๋ฐœ์„ ๋„˜์–ด ์‹ค์ œ๋กœ ์›น ์•ฑ์„ ๋ฐฐํฌํ•˜๊ณ  ์šด์˜ํ•˜๊ณ  ์‹ถ์€ ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Python ๊ธฐ๋ณธ ์ง€์‹ (๋ณ€์ˆ˜, ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ํ•จ์ˆ˜ ๋“ฑ)

์•ˆ๋…•ํ•˜์„ธ์š”
์œค์ƒ์„์ž…๋‹ˆ๋‹ค.

5,159

๋ช…

์ˆ˜๊ฐ•์ƒ

250

๊ฐœ

์ˆ˜๊ฐ•ํ‰

336

๊ฐœ

๋‹ต๋ณ€

4.7

์ 

๊ฐ•์˜ ํ‰์ 

3

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š”.  IT ์ง€์‹ ํฌ๋ฆฌ์—์ดํ„ฐ, ์œค์ƒ์„์ž…๋‹ˆ๋‹ค. ๐ŸŽฉ 
๋” ์œ ์ตํ•˜๊ณ  ๋ณธ์งˆ์ ์ธ ์ง€์‹ ์ฝ˜ํ…์ธ ๋กœ ๋งŽ์€ ๊ฐ€์น˜๋ฅผ ๋“œ๋ฆด ์ˆ˜ ์žˆ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

- (์ฃผ)ํ•˜์ดํผ์ด์ง€ ๋Œ€ํ‘œ์ด์‚ฌ
- (์‚ฌ)ํ•œ๊ตญ์ •๋ณดํ†ต์‹ ๋„คํŠธ์›Œํฌํ˜‘ํšŒ AI๋ถ„๊ณผ๊ธฐ์ˆ ์œ„์›
- (์ฃผ)๋ธ”๋ฃจ๋ฐด๋“œ ๊ธฐ์ˆ ์ด์‚ฌ
- ๅ‰ (์ฃผ)๋งˆ๋กœ๋งˆ๋ธŒ ์›น ๊ฐœ๋ฐœ์ž
- ๅ‰ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด ๊ธฐ์ˆ  ์šฉ์—ญ (์นด์นด์˜ค, ํฌ์Šค์ฝ”DX, )
- ๅ‰ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ ์˜จ/์˜คํ”„๋ผ์ธ ๊ต์œก ๋‹ค์ˆ˜ (์Šคํƒ€ํŠธ์—…, GS๋ฆฌํ…Œ์ผ, ์‚ผ์„ฑ ๋“ฑ)

๋ฌธ์˜์‚ฌํ•ญ, ์ถ”๊ฐ€์งˆ๋ฌธ, ์ง‘ํ•„, ๊ฐ•์˜์ œ์•ˆ ==> EndUpFree@gmail.com

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

32๊ฐœ โˆ™ (5์‹œ๊ฐ„ 40๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!