AI ์ •์ ๋ถ„์„์œผ๋กœ ์„œ๋น„์Šค์˜ ํ•œ๊ณ„ ์ฐพ๊ธฐ

yeon
  • #AI
  • #๋ถ€ํ•˜ํ…Œ์ŠคํŠธ
  • #์ •์ ๋ถ„์„
  • #static-analysis
  • #loadtest

์•ˆ๋…•ํ•˜์„ธ์š”. ๋…ธ๋จธ์Šค ๋ฐฑ์—”๋“œํŒ€์—์„œ fromm ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊น€์—ฐํƒœ์ž…๋‹ˆ๋‹ค.

์ด์Šˆ์ฐพ๊ธฐ๋Œ€ํšŒ

์ง€๋‚œ 8์›”, ํ…Œํฌ์กฐ์ง์—์„œ๋Š” ์ด์Šˆ์ฐพ๊ธฐ๋Œ€ํšŒ๊ฐ€ ์—ด๋ ธ์Šต๋‹ˆ๋‹ค.

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

๋ถ€ํ•˜ํ…Œ์ŠคํŠธ

์„œ๋น„์Šค๊ฐ€ ์–ด๋А์ •๋„์˜ ํŠธ๋ž˜ํ”ฝ์„ ์†Œํ™”ํ• ์ˆ˜ ์žˆ๋Š”๊ฐ€? ๋ผ๋Š” ์งˆ๋ฌธ์— ๋Œ€ํ•ด ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ๋– ์˜ฌ๋ฆฌ๊ธฐ ๊ฐ€์žฅ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  fromm ์„œ๋น„์Šค์—์„œ๋„ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๊พธ์ค€ํžˆ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์™”๊ณ  ์ด๋Ÿฐ ๋ฐฉ๋ฒ•๋“ค์„ Wonderwall ์€ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰ํ–ˆ์„๊นŒ? ๋ฅผ ํ†ตํ•ด ๊ณต์œ ํ•œ์ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๋“ค์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณต์žกํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค ํ…Œ์ŠคํŠธ์˜ ์–ด๋ ค์›€

locust, k6, artillery ๋“ฑ ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๋ถ€ํ•˜๋ฐœ์ƒ๊ธฐ๋กœ๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๋ณต์žกํ•œ ๊ฒฝ์šฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. VWR(๋Œ€๊ธฐ์—ด์‹œ์Šคํ…œ)์„ ์˜ˆ๋กœ ๋“ค๋ฉด ์˜คํ”ˆ ์งํ›„ 3๋งŒ๋ช…์˜ ํŠธ๋ž˜ํ”ฝ์ด ํ•œ๋ฒˆ์— ๋ชฐ๋ฆฌ๊ณ , ์ดํ›„ 10์ดˆ ๋™์•ˆ ์ถ”๊ฐ€๋กœ ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์˜ 60% ๊ฐ€๋Ÿ‰์ด, ๊ทธ ์ดํ›„ 10๋ถ„ ๋™์•ˆ ๋‚˜๋จธ์ง€ 40%์˜ ํŠธ๋ž˜ํ”ฝ์ด ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ์—์„œ ๋Œ€๊ธฐ ์ค‘์ธ ์‚ฌ๋žŒ๋“ค์˜ ์•ฝ 3%๊ฐ€ ๋งค๋ถ„ ์ ‘์†์„ ์ข…๋ฃŒํ•˜๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋ถ€ํ•˜๋ฐœ์ƒ๊ธฐ์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ๋งŒ์œผ๋กœ ์žฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์ธ์ฆ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋™์ž‘์ด ๋‹ฌ๋ผ์ง€๋Š” API๋ฅผ ๋ฐ˜๋“œ์‹œ ํ•จ๊ป˜ ํ…Œ์ŠคํŠธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

k8s ๋ฅผ ์‚ฌ์šฉํ•ด ์ผ๋ถ€ ํ•ด๊ฒฐํ–ˆ์œผ๋‚˜ ๋งŽ์€ ๋น„์šฉ ๋ฐœ์ƒ

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

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

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ์ด์Šˆ์ฐพ๊ธฐ๋Œ€ํšŒ์—์„œ๋Š” ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋กœ๋Š” ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž ์žฌ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ๊ทธ๋™์•ˆ์˜ ๊ฒฝํ—˜๊ณผ AI์˜ ํž˜์„ ๋นŒ๋ ค ์ฐพ์•„๋ณด๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฒซ๋ฒˆ์งธ ์‹œ๋„

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

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

์›์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

  • ๋ฐฑ์—”๋“œ ๋ ˆํฌ๋งŒ ์ œ๊ณตํ•˜๋‹ค ๋ณด๋‹ˆ AI๊ฐ€ ๊ฐ API์™€ ์ฝ”๋“œ๊ฐ€ ์–ด๋””์—์„œ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์—†์—ˆ๋‹ค.
  • ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๋ผ ํ•˜๋”๋ผ๋„ ์™„์ „ํžˆ ๊ฐ™์€ ํ˜•ํƒœ์˜ ์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์‹๋ณ„ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.

๋‘๋ฒˆ์งธ ์‹œ๋„

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

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

์ด๋ฒˆ์— ์ƒ๊ฐํ•œ ์›์ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

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

์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์ž˜ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์„๊นŒ?

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

์ฐพ์€ ๋ฐฉ๋ฒ•๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Google NALSD (Non-Abstract Large System Design)

Google SRE Workbook 12์žฅ์—์„œ ์†Œ๊ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, ์„ค๊ณ„๊ฐ€ ๋ช‡ ๋ฐฐ์˜ ํŠธ๋ž˜ํ”ฝ๊นŒ์ง€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์‹ค์ œ ์ˆซ์ž๋กœ ๊ณ„์‚ฐํ•ด์„œ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฐ€๋Šฅํ•œ๊ฐ€, ๋” ๋‚ซ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€, ์˜ˆ์‚ฐ ์•ˆ์—์„œ ๊ฐ€๋Šฅํ•œ๊ฐ€, ์žฅ์• ๋ฅผ ๊ฒฌ๋””๋Š”๊ฐ€๋ฅผ ๋ฐ˜๋ณตํ•ด์„œ ๋ฌป๋Š”๋‹ค.
  • ์ƒˆ๋กœ์šด ์„ค๊ณ„๋ฟ ์•„๋‹ˆ๋ผ ์ด๋ฏธ ์šด์˜ ์ค‘์ธ ์‹œ์Šคํ…œ์„ ๋ถ„์„ํ•˜๋Š” ์šฉ๋„๋กœ๋„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ดˆ๋‹น 500 ์š”์ฒญ, ํ‰๊ท  ์ง€์—ฐ 200ms๋ฉด ๋™์‹œ์— ์ฒ˜๋ฆฌ ์ค‘์ธ ์š”์ฒญ์€ 100๊ฐœ์™€ ๊ฐ™์ด throughput๊ณผ latency๋กœ ๋™์‹œ์„ฑ์„ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ๋‹จ โ€œload testing is still a necessityโ€๋ผ๊ณ  ํ•˜๋ฉฐ, ๊ณ„์‚ฐ์€ ์„ค๊ณ„๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ์šฉ๋„์ผ ๋ฟ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋Š” ์—ฌ์ „ํžˆ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ด์•ผ๊ธฐํ•œ๋‹ค.

Google PRR (Production Readiness Review)

Google SRE Book 32์žฅ์—์„œ ์†Œ๊ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ, SRE ํŒ€์ด ์„œ๋น„์Šค์˜ ์šด์˜์„ ๋„˜๊ฒจ๋ฐ›๊ธฐ ์ „์— ๊ฑฐ์น˜๋Š” ์‹ ๋ขฐ์„ฑ ๋ฆฌ๋ทฐ์ž…๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ ๋ขฐ์„ฑ ์š”๊ตฌ์‚ฌํ•ญ์„ ์‹๋ณ„ํ•˜๋Š” ์ ˆ์ฐจ.
  • ์•„ํ‚คํ…์ฒ˜์™€ ์„œ๋น„์Šค ๊ฐ„ ์˜์กด์„ฑ, ๋ฉ”ํŠธ๋ฆญ๊ณผ ๋ชจ๋‹ˆํ„ฐ๋ง, ๊ธด๊ธ‰ ๋Œ€์‘, Capacity planning, Change management, ์„ฑ๋Šฅ์„ ๋ฆฌ๋ทฐํ•œ๋‹ค.
  • ์œ ์ € ์ž…์žฅ์—์„œ์˜ ์‹คํŒจ๊ฐ€ ์ œ๋Œ€๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๊ณ  ์•Œ๋žŒ์ด ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€๊นŒ์ง€ ํ•จ๊ป˜ ํ™•์ธํ•œ๋‹ค.

AWS ORR (Operational Readiness Review)

AWS๊ฐ€ ์šด์˜ ์žฅ์• ์—์„œ ์–ป์€ ๊ตํ›ˆ์„ ์งˆ๋ฌธ ๋ชฉ๋ก์œผ๋กœ ์ •๋ฆฌํ•ด, ๋‹ค๋ฅธ ํŒ€์ด ๊ฐ™์€ ์žฅ์• ๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๋„๋ก ๋งŒ๋“  ๋ฆฌ๋ทฐ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • ์žฅ์•  ์‚ฌํ›„ ๋ถ„์„(COE)์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๊ฐ€ ํฌํ•จ๋œ ์งˆ๋ฌธ ๋ชฉ๋ก์œผ๋กœ ๋งŒ๋“ ๋‹ค.
  • ์žฅ์• ๋ฅผ ๋” ์งง๊ฒŒ, ๋” ์ ๊ฒŒ, ๋” ์ž‘๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.
  • ํ•œ ๋ฒˆ ๋ฐœ์ƒํ•œ ์žฅ์• ๋ฅผ ์งˆ๋ฌธ์œผ๋กœ ๋ฐ”๊ฟ” ๋‹ค๋ฅธ ์›Œํฌ๋กœ๋“œ์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉํ•œ๋‹ค.

AWS Well-Architected Reliability Pillar

AWS Well-Architected Framework์˜ ์•ˆ์ •์„ฑ ์›์น™์ž…๋‹ˆ๋‹ค.

  • ์„œ๋น„์Šค ์ฟผํ„ฐ์™€ ์ œ์•ฝ ์กฐ๊ฑด์„ ํŒŒ์•…ํ•˜๋Š” ๊ฒƒ์ด ํ™•์žฅ์„ฑ ๊ฒ€ํ† ์˜ ์ถœ๋ฐœ์ ์ด๋‹ค.
  • REL01-BP06์€ ํ˜„์žฌ ์ฟผํ„ฐ์™€ ์ตœ๋Œ€ ์‚ฌ์šฉ๋Ÿ‰ ์‚ฌ์ด์— ์žฅ์•  ์กฐ์น˜๋ฅผ ํก์ˆ˜ํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ์œ (ex. 15%)๋ฅผ ๋‘๋ผ๊ณ  ๊ถŒ์žฅํ•œ๋‹ค.
  • ๋ฆฌ์ „๋งˆ๋‹ค ๊ธฐ๋ณธ ์ฟผํ„ฐ๊ฐ€ ๊ฐ™๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ฑฐ๋‚˜ ํ”ผํฌ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ๊ฒ€์ฆํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์•ˆํ‹ฐํŒจํ„ด์œผ๋กœ ๊ผฝ๋Š”๋‹ค.

Azure Well-Architected FMA (Failure Mode Analysis)

Azure Well-Architected์˜ RE-03 ํ•ญ๋ชฉ์œผ๋กœ, User Flow์˜ ๊ฐ ๋‹จ๊ณ„๋ณ„๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์• ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • User Flow๋ฅผ ์ค‘์š”๋„์— ๋”ฐ๋ผ ๋‚˜๋ˆˆ ๋’ค ๋‹จ๊ณ„๋งˆ๋‹ค ์žฅ์•  ์œ ํ˜•, ์˜ํ–ฅ ๋ฒ”์œ„, ๋Œ€์ฒ˜ ๋ฐฉ์•ˆ์„ ์ •๋ฆฌํ•œ๋‹ค.
  • ์žฅ์•  ์œ ํ˜•์— Component overload๊ฐ€ ํฌํ•จ๋˜์–ด ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ์ƒํ™ฉ์„ ๊ทธ๋Œ€๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์€ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ์ •์„ฑ์ ์ธ ๋“ฑ๊ธ‰์œผ๋กœ ํŒ๋‹จํ•œ๋‹ค.

Limit๊ณผ Quota

์ฝ”๋“œ์™€ ์„ค์ •์˜ ํ•œ๋„์™€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ๊ธฐ๋ณธ ์ฟผํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ํฌ์ธํŠธ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

  • Littleโ€™s Law๋ฅผ ์‚ฌ์šฉํ•ด Lambda ๋™์‹œ์„ฑ, DB ์ปค๋„ฅ์…˜, ์ฒ˜๋ฆฌ ์ค‘์ธ ์š”์ฒญ ์ˆ˜๋ฅผ RPS ร— ํ‰๊ท  ์ง€์—ฐ ์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.
  • ํ•˜์ง€๋งŒ ํ‰๊ท  latency๋ฅผ ๋ชจ๋ฅด๋ฉด ๋ช‡ ๋ฐฐ๊นŒ์ง€ ๋ฒ„ํ‹ฐ๋Š”์ง€๋Š” ์•Œ ์ˆ˜ ์—†๊ณ , ํ‰๊ท ๊ฐ’๋งŒ์œผ๋กœ๋Š” ์„ฑ๋Šฅ์ด ๊ธ‰๊ฒฉํžˆ ๋ฌด๋„ˆ์ง€๋Š” ์ง€์ ์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋‹ค๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.

์ž๋ฃŒ์กฐ์‚ฌ์˜ ๊ฒฐ๋ก 

์ž๋ฃŒ์กฐ์‚ฌ๋ฅผ ํ•˜๋ฉด์„œ ๊นจ๋‹ฌ์€ ๊ฒƒ์€ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ€์ฒดํ•˜๊ฒ ๋‹ค๋Š” ๋ชฉ์ ์œผ๋กœ๋Š” ์›ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋กœ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์™€ ์†Œ์Šค์ฝ”๋“œ ๋ฐ ์ธํ”„๋ผ ์„ค์ •์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋Š” ์• ์ดˆ์— ์ข…๋ฅ˜๊ฐ€ ๋‹ฌ๋ž์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ์ž…๋ ฅ์œผ๋กœ ์“ฐ๋А๋ƒ์— ๋”ฐ๋ผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜๋‰˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฝ”๋“œ์™€ ์„ค์ •๋งŒ์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ

  • ์ปค๋„ฅ์…˜ ํ’€ ํฌ๊ธฐ ร— ์ตœ๋Œ€ ๋™์‹œ ์‹คํ–‰ ์ˆ˜์™€ DB์˜ max_connections
  • SQS์˜ VisibilityTimeout๊ณผ ์ปจ์Šˆ๋จธ Lambda์˜ timeout
  • DLQ๊ฐ€ ์„ค์ •๋˜์ง€ ์•Š์€ ํ
  • SQS FIFO์˜ throughput limit
  • SQS์˜ ์ตœ๋Œ€ ๋™์‹œ์„ฑ๊ณผ Lambda ๊ณ„์ • ๋™์‹œ์„ฑ

CloudWatch Metrics, Service Logs, Quota Docs๋กœ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ

์ƒˆ๋กœ ๋ถ€ํ•˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š์•„๋„, ์ด๋ฏธ ์Œ“์—ฌ ์žˆ๋Š” ๋ฉ”ํŠธ๋ฆญ๊ณผ ๋กœ๊ทธ, Quota Docs๋กœ ์–ผ๋งˆ๋‚˜ ์—ฌ์œ ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ์˜ ๋ฉ”์‹œ์ง€ ์ง€์—ฐ ๋ฉ”ํŠธ๋ฆญ
  • Lambda Throttles ๋ฐœ์ƒ ํžˆ์Šคํ† ๋ฆฌ
  • DB ์ปค๋„ฅ์…˜ Usage
  • ์„œ๋น„์Šค ์ฟผํ„ฐ ๋Œ€๋น„ ํ˜„์žฌ ์‚ฌ์šฉ๋Ÿ‰

๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ์‹œํ–‰ํ•ด์•ผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ

์‹ค์ œ๋กœ ๋ถ€ํ•˜๋ฅผ ๋ฐœ์ƒ์‹œ์ผœ์•ผ๋งŒ ์ธก์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’๋“ค์ž…๋‹ˆ๋‹ค.

  • ์š”์ฒญ๋‹น ์„œ๋น„์Šค ์ฒ˜๋ฆฌ ์‹œ๊ฐ„
  • ์ฝœ๋“œ์Šคํƒ€ํŠธ p99 Latency
  • ์žฅ์•  ๋ณต๊ตฌ ์‹œ ์š”์ฒญ์ด ํ•œ๋ฒˆ์— ๋ชฐ๋ฆฌ๋Š” thundering herd

์ด ์ค‘ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ์ œ์™ธํ•œ ๋‘ ๊ฐ€์ง€ ์˜์—ญ์˜ ๋ฌธ์ œ๋ฅผ ์ตœ๋Œ€ํ•œ ์‹๋ณ„ํ•˜๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ธ๋ฒˆ์งธ ์‹œ๋„

์ œ๊ณตํ•˜๋Š” ์ •๋ณด

์„ธ๋ฒˆ์งธ ์‹œ๋„์—์„œ๋Š” ์ฝ”๋“œ๋งŒ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ , ์ฝ”๋“œ๊ฐ€ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋จผ์ € ์ •๋ฆฌํ•ด์„œ ํ•จ๊ป˜ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

AWS ์ธํ”„๋ผ

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

DB ์Šคํ‚ค๋งˆ

  • ์ด๋ฏธ ์—ฌ๋Ÿฌ ๋ ˆํฌ์— DDL์ด sql ํŒŒ์ผ๋กœ ์ •๋ฆฌ๋˜์–ด ์žˆ์—ˆ๊ณ  entity ์ •์˜, DML ๋ฌธ์„œ ๋“ฑ๋„ ์žˆ์–ด์„œ AI๋ฅผ ์‚ฌ์šฉํ•ด ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค๋งŒ ๋ ˆํฌ์˜ ์ •์˜์™€ ์‹ค์ œ ํ…Œ์ด๋ธ”์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์šด์˜ DB์—์„œ ์ง์ ‘ ์ˆ˜์ง‘ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ , ์šด์˜ DB์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋„๋ก ์ˆ˜์ง‘ ๋ฐฉ๋ฒ•์— ์‹ ๊ฒฝ์„ ์ผ์Šต๋‹ˆ๋‹ค.
  • Reader ์ธ์Šคํ„ด์Šค์—์„œ pg_dump ๋Œ€์‹  ์นดํƒˆ๋กœ๊ทธ ์กฐํšŒ๋งŒ ์‚ฌ์šฉํ–ˆ๊ณ , ํ…Œ์ด๋ธ”์˜ ํ–‰ ์ˆ˜๋„ COUNT(*) ๋Œ€์‹  reltuples์˜ ์ถ”์ •์น˜๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ณ

  • ๋ฐฐํฌ ์„ค์ •์„ ํŒŒ์‹ฑํ•˜๊ณ  ๊ฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด์„œ ์„œ๋น„์Šค ๊ฐ„์˜ ํ๋ฆ„์„ diagram์œผ๋กœ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ ๋ฌธ์ œ๋ฅผ ์ฐพ์„์ง€์— ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŒ…

๋ฌธ์ œ๋ฅผ ์ฐพ์„ ๋•Œ๋Š” RPS์— ๋Œ€ํ•œ ๋ฌธ์ œ์™€ N์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๋‚˜๋ˆ„๊ณ ์ž ํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ธํ”„๋ผ๋กœ ์–ด๋А์ •๋„์˜ RPS๊นŒ์ง€ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š”์ง€์™€, ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ทœ๋ชจ(N)๊ฐ€ ์ปค์กŒ์„ ๋•Œ ์†Œ์Šค์ฝ”๋“œ ๋ ˆ๋ฒจ์—์„œ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์งˆ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด IN ์ ˆ์— ๋Œ€์ƒ ์œ ์ € id๋ฅผ ๊ทธ๋Œ€๋กœ ๋„˜๊ธฐ๋Š” ์ฟผ๋ฆฌ๋Š” ๋Œ€์ƒ ์œ ์ € ์ˆ˜๊ฐ€ PostgreSQL์˜ ๋ฐ”์ธ๋“œ ํŒŒ๋ผ๋ฏธํ„ฐ ์ƒํ•œ์ธ 65,535๋ฅผ ๋„˜๋Š” ์ˆœ๊ฐ„ ์š”์ฒญ ํ•œ ๊ฑด๋งŒ์œผ๋กœ๋„ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ฌธ์ œ๋Š” RPS๋ฅผ ์•„๋ฌด๋ฆฌ ๋†’์—ฌ๋„ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ๊ทœ๋ชจ๊ฐ€ ์ž‘์œผ๋ฉด ๋“œ๋Ÿฌ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์งˆ๋ฌธ์„ ๋‚˜๋ˆˆ ๋’ค ์•ž์—์„œ ์†Œ๊ฐœํ•œ ๋ฐฉ๋ฒ•๋“ค์„ ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉฐ ๋ฌธ์ œ๋ฅผ ์ฐพ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กฌํ”„ํŒ…์˜ ์ „์ฒด์ ์ธ ๋ฐฉํ–ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

02

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

๋ชจ๋ธ๊ฐ„ ๊ต์ฐจ๊ฒ€์ฆ

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

์‚ฌ์šฉ๋œ ํ•˜๋„ค์Šค์™€ ๋ชจ๋ธ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Claude - Fable5
  • Claude - Opus5
  • Codex - GPT5.6 Sol
  • Codex - GPT5.6 Luna
  • Antigravity - Gemini 3.7 Flash
  • Pi - Grok4.6
  • Opencode - Muse Spark 1.2

์ „์ฒด ํ๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. 03

์ตœ์ข… ์ œ์ถœ

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

๋ถ€์กฑํ–ˆ๋˜ ์ 

์‹œ๊ฐ„์— ์ซ“๊ฒจ ์ตœ์ข… ์ œ์ถœ์€ ์™„๋ฃŒํ–ˆ์ง€๋งŒ, ์ง์ ‘ ๊ฒ€์ˆ˜ํ•˜๋Š” ๋‹จ๊ณ„์—์„œ ์•„์‰ฌ์› ๋˜ ์ ๋“ค์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค ์ฟผํ„ฐ๋ฅผ ์ˆ˜์ง‘ ๋ชฉ๋ก์— ๋„ฃ์ง€ ์•Š์•˜๋‹ค

Lambda Concurrency Limit, ElastiCache Parameter Group ์„ค์ •, IoT Core์˜ Service Quota ์ •๋ณด๋ฅผ ๋„ฃ์–ด์ฃผ์ง€ ์•Š์•„์„œ, 4๊ฑด์˜ ๋ฌธ์ œ๋Š” ์‹ค์ œ ํ•œ๋„๋ฅผ ํ™•์ธํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๋ฏธํ™•์ธ ์ƒํƒœ๋กœ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. ์•ž์—์„œ ์†Œ๊ฐœํ•œ Well-Architected Reliability Pillar๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ํ™•์ธํ•˜๋ผ๊ณ  ํ•˜๋Š” ํ•ญ๋ชฉ์ด ์„œ๋น„์Šค ์ฟผํ„ฐ์˜€๋Š”๋ฐ ์ด๋ฒˆ์—” ์ด ๋ถ€๋ถ„์ด ๋น ์กŒ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ ์žˆ๋Š” ๋ฉ”ํŠธ๋ฆญ์„ ๋Œ€๋ถ€๋ถ„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค

๋ถ€ํ•˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š์•„๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ์ง€ํ‘œ๋“ค์ด ์ด๋ฏธ ์Œ“์—ฌ ์žˆ์—ˆ์ง€๋งŒ ๋ชจ๋“  ๋กœ๊ทธ ๋ฐ ๋ฉ”ํŠธ๋ฆญ์„ ์กฐํšŒํ•  ์‹œ๊ฐ„์ด ์—†์—ˆ๊ณ , ๋Œ€๋ถ€๋ถ„ ํ™œ์šฉํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

  • Lambda์˜ Throttles, ConcurrentExecutions ๋ฉ”ํŠธ๋ฆญ
  • SQS์˜ ApproximateAgeOfOldestMessage (ํ์—์„œ ๊ฐ€์žฅ ์˜ค๋ž˜ ๋Œ€๊ธฐ ์ค‘์ธ ๋ฉ”์‹œ์ง€์˜ ์‹œ๊ฐ„)
  • PostgreSQL์˜ pg_stat_activity๋ฅผ ํ†ตํ•œ ์ปค๋„ฅ์…˜ ์‚ฌ์šฉ ํ˜„ํ™ฉ
  • pg_stat_statements์— ๊ธฐ๋ก๋œ ์ฟผ๋ฆฌ๋ณ„ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐœ์ˆ˜์˜ ์ตœ๋Œ€๊ฐ’

๊ฒฐ๋ก 

๋ถ€ํ•˜ํ…Œ์ŠคํŠธ vs ์ •์ ๋ถ„์„

์ฒ˜์Œ์—๋Š” ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ€์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ ‘๊ทผํ–ˆ์ง€๋งŒ, ์ œ๊ฐ€ ์‹œ๋„ํ•œ ์ •์ ๋ถ„์„์€ ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์•„๋‹ˆ๋ผ ์„œ๋กœ ๋ณด์™„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ์™€ ์ •์ ๋ถ„์„์ด ๊ฐ๊ฐ ๋‚˜๋ˆ ์„œ ๋งก์„ ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

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

์•ž์œผ๋กœ์˜ ์‹œ๋„

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

์—ฌ๊ธฐ๊นŒ์ง€ ๊ธ€์„ ๊ด€์‹ฌ์žˆ๊ฒŒ ์ฝ์–ด์ฃผ์‹  ๋ชจ๋“ ๋ถ„๊ป˜ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ™‡โ€

๋‹น์‹ ์˜ ์˜ˆ์ˆ ์ด ์„ธ์ƒ์„ ๋ฐ”๊พผ๋‹ค.

์ €ํฌ์™€ ํ•จ๊ป˜ ์„œ๋น„์Šค์˜ ํ’ˆ์งˆ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ณ ๋ฏผํ•˜๊ณ  ํ•จ๊ป˜ ์„ฑ์žฅํ•ด๋‚˜๊ฐˆ ๊ฐœ๋ฐœ์ž๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ด€์‹ฌ์žˆ์œผ์‹ ๋ถ„๋“ค์€ ์šฐ์ธก์ƒ๋‹จ Recruit ๋ฒ„ํŠผ์„ ํ†ตํ•ด ์–ธ์ œ๋“ ์ง€ ์ง€์›๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜€

์ฐธ๊ณ ์ž๋ฃŒ

โ† ๋ชฉ๋ก์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

Art Changes Life

๋…ธ๋จธ์Šค์™€ ํ•จ๊ป˜ ์—”ํ„ฐํ…Œํฌ ์‚ฐ์—…์„ ํ˜์‹ ํ•ด๋‚˜๊ฐˆ ๋ฉค๋ฒ„๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

์ฑ„์šฉ ์ค‘์ธ ๊ณต๊ณ  ๋ณด๊ธฐ