ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒsophiagworld์— ์˜ํ•ด ๋ถ„์‹ค๋จ

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

์ €์ž์˜ ๊ฒฝํ—˜์— ๋”ฐ๋ฅด๋ฉด ์ด๋Š” ์™„์ „ํ•œ ๋ชฉ๋ก์€ ์•„๋‹ˆ์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ํšจ๊ณผ์ ์ธ ์กฐ์–ธ. ๊ทธ๋Ÿผ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ง€์›์„ ๋ฐ›์•„ ๋ฒˆ์—ญ๋จ Mail.ru ํด๋ผ์šฐ๋“œ ์†”๋ฃจ์…˜.

์ฒซ ๋ฒˆ์งธ ์ˆ˜์ค€

์•„๋ž˜์— ๋‚˜์—ด๋œ ์กฐ์น˜๋Š” ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ๋น„๊ต์  ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์˜ํ–ฅ๋ ฅ์ด ๋†’์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์‹œ๋„ํ•ด ๋ณธ ์ ์ด ์—†๋‹ค๋ฉด ์ƒ๋‹นํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์— ๋†€๋ž„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฝ”๋“œํ˜• ์ธํ”„๋ผ

์กฐ์–ธ์˜ ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ ์ธํ”„๋ผ๋ฅผ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ „์ฒด ์ธํ”„๋ผ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์ด ์žˆ์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•ด ๋ณด์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋‹ค์Œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

100๊ฐœ์˜ ๊ฐ€์ƒ ๋จธ์‹  ๋ฐฐํฌ

  • ์šฐ๋ถ„ํˆฌ์™€ ํ•จ๊ป˜
  • ๊ฐ๊ฐ 2GB RAM
  • ๊ทธ๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๊ฐ–๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค
  • ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด

๋ฒ„์ „ ์ œ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธํ”„๋ผ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์‹ ์†ํ•˜๊ฒŒ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‚ด ์•ˆ์˜ ํ˜„๋Œ€์ฃผ์˜์ž๋Š” Kubernetes/Docker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์œ„์˜ ๋ชจ๋“  ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•˜๋ฉฐ ๊ทธ์˜ ๋ง์ด ๋งž์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Chef, Puppet ๋˜๋Š” Terraform์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ํ™”๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์†์ ์ธ ํ†ตํ•ฉ ๋ฐ ์ œ๊ณต

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

์ด ๋‹จ๊ณ„์—์„œ ๋งค๋ฒˆ ๋‹ค์Œ ์งˆ๋ฌธ์— ๋Œ€๋‹ตํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์–ด์…ˆ๋ธ”๋ฆฌ๊ฐ€ ์ปดํŒŒ์ผ๋˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๊นŒ? ์œ ํšจํ•ฉ๋‹ˆ๊นŒ? ์ด๋Š” ๋‚ฎ์€ ๊ธฐ์ค€์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์ง€๋งŒ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ
์ด ์ง„๋“œ๊ธฐ๋ฅผ ๋ณด๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์•„๋ฆ„๋‹ค์šด ๊ฒƒ์€ ์—†์Šต๋‹ˆ๋‹ค

์ด ๊ธฐ์ˆ ์˜ ๊ฒฝ์šฐ Github, CircleCI ๋˜๋Š” Jenkins๋ฅผ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ

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

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

์ผ๋ฐ˜์ ์œผ๋กœ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์šฐ๋“œ์— ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์š”์ฒญ์— ๋Œ€ํ•œ RayID, ์ƒ๊ด€ ID ๋˜๋Š” UUID

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๊นŒ? "๋ญ”๊ฐ€ ์ž˜๋ชป๋์–ด. ์ด ID๋ฅผ ์ €์žฅํ•˜๊ณ  ์ง€์›ํŒ€์— ๋ณด๋‚ด์„ธ์š”."?

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ
๊ณ ์œ  ์‹๋ณ„์ž, ์ƒ๊ด€ ID, RayID ๋˜๋Š” ๊ธฐํƒ€ ๋ณ€ํ˜•์€ ์ˆ˜๋ช… ์ฃผ๊ธฐ ์ „๋ฐ˜์— ๊ฑธ์ณ ์š”์ฒญ์„ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์˜ ์ „์ฒด ์š”์ฒญ ๊ฒฝ๋กœ๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ
์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ A์— ์š”์ฒญํ•œ ํ›„ A๊ฐ€ B์— ์—ฐ๋ฝํ•˜๊ณ  B๋Š” C์— ์—ฐ๋ฝํ•˜์—ฌ ์ด๋ฅผ X์— ์ €์žฅํ•œ ๋‹ค์Œ ์š”์ฒญ์„ A์— ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

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

์ค‘๊ธ‰

์—ฌ๊ธฐ์— ์žˆ๋Š” ์กฐ์–ธ์€ ์ด์ „ ์กฐ์–ธ๋ณด๋‹ค ๋” ๋ณต์žกํ•˜์ง€๋งŒ ์˜ฌ๋ฐ”๋ฅธ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘์—…์ด ๋” ์‰ฌ์›Œ์ง€๊ณ  ์ค‘์†Œ๊ธฐ์—…์—๋„ ํˆฌ์ž ์ˆ˜์ต์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๊น…

์ถ•ํ•˜ํ•ด์š”! 100๊ฐœ์˜ ๊ฐ€์ƒ ๋จธ์‹ ์„ ๋ฐฐํฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๋‚  CEO๊ฐ€ ์ฐพ์•„์™€ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ํ•ญ์˜ํ–ˆ๋‹ค. ์œ„์—์„œ ์„ค๋ช…ํ•œ ํ•ด๋‹น ID๋ฅผ ๋ณด๊ณ ํ•˜์ง€๋งŒ ์ถฉ๋Œ์„ ์ผ์œผํ‚จ ์ปดํ“จํ„ฐ๋ฅผ ์ฐพ์œผ๋ ค๋ฉด 100๊ฐœ ์ปดํ“จํ„ฐ์˜ ๋กœ๊ทธ๋ฅผ ์กฐ์‚ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚ด์ผ ๋ฐœํ‘œ ์ „์— ์ฐพ์•„์•ผ ํ•ด์š”.

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

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ
ELK ์Šคํƒ ๊ธฐ๋Šฅ

๋ชจ๋‹ˆํ„ฐ๋ง ์—์ด์ „ํŠธ

์ด์ œ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์›ํ™œํ•˜๊ฒŒ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž์น˜๋ น ๋Œ€ํ‘œ, ๋ณ‘๋ ฌ๋กœ ์ž‘๋™ํ•˜์—ฌ ์ž‘๋™ํ•˜๊ณ  ๊ธฐ๋ณธ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ด ์‹œ์ ์—์„œ ๋‹ค์Œ ์‚ฌํ•ญ์„ ํ™•์ธํ•˜์„ธ์š”. ์‹คํ–‰ ์ค‘์ธ ๋นŒ๋“œ๊ฐ€ ๊ธฐ๋ถ„์ด ์ข‹๊ณ  ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค..

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

๋ถ€ํ•˜์— ๋”ฐ๋ฅธ ์ž๋™ ํ™•์žฅ

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

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

์‹คํ—˜ ์‹œ์Šคํ…œ

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

์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถœ์‹œํ•˜๋Š” ๊ฒƒ์กฐ์ฐจ ์‹คํ—˜์œผ๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ์ถœ์‹œ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„œ๋น„์Šค ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ผ์œผํ‚ค๋Š” ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฆ‰์‹œ ๊ตฌ์„ฑ์„ "๊ธฐ์–ต"ํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

๊ณ ๊ธ‰ ์ˆ˜์ค€

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

๋ธ”๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ

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

์ด ๋‹จ๊ณ„๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์กด์žฌ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „ N์ด ์žˆ๊ณ  ๋ฒ„์ „ N+1์„ ๋ฐฐํฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

๋‹น์‹  ์ˆ˜ ์žˆ์—ˆ๋‹ค ์„œ๋น„์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•œ ์‹œ๊ฐ„์— ๋‹ค์Œ ๋ฒ„์ „์„ ์ถœ์‹œํ•˜๊ณ  ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์„ ์–ป์œผ์„ธ์š”. ํ•˜์ง€๋งŒ ๋‹น์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ • ์ •๋ง๋กœ ์—„๊ฒฉํ•œ SLA ์กฐ๊ฑด. ๋”ฐ๋ผ์„œ SLA 99,99%๋Š” ์˜คํ”„๋ผ์ธ์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ ์—ฐ๊ฐ„ 52๋ถ„์”ฉ.

์ด๋Ÿฌํ•œ ์ง€ํ‘œ๋ฅผ ์‹ค์ œ๋กœ ๋‹ฌ์„ฑํ•˜๋ ค๋ฉด ๋™์‹œ์— ๋‘ ๊ฐ€์ง€ ๋ฐฐํฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. 

  • ์ง€๊ธˆ ์žˆ๋Š” ๊ฒƒ(N);
  • ๋‹ค์Œ ๋ฒ„์ „(N+1). 

ํšŒ๊ท€๋ฅผ ์ ๊ทน์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋™์•ˆ ํŠธ๋ž˜ํ”ฝ์˜ ์ผ๋ถ€๋ฅผ ์ƒˆ ๋ฒ„์ „(N+1)์œผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•˜๋„๋ก ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ
์—ฌ๊ธฐ์—๋Š” ์ž˜ ์ž‘๋™ํ•˜๋Š” ๋…น์ƒ‰ N ๋ฐฐํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฐฐํฌ์˜ ๋‹ค์Œ ๋ฒ„์ „์œผ๋กœ ์ด๋™ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € N+1 ๋ฐฐํฌ๊ฐ€ ์ ์€ ์–‘์˜ ํŠธ๋ž˜ํ”ฝ์—์„œ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์•„์ฃผ ์ž‘์€ ํ…Œ์ŠคํŠธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

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

ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๊ฐ€ ์žˆ์„ ๋•Œ ์ˆ™๋ฉด์„ ์ทจํ•˜๋Š” ๋ฐฉ๋ฒ•: ๊ธฐ๋ณธ ์•„ํ‚คํ…์ฒ˜ ํŒ
๋”์šฑ ๊ณ ๊ธ‰ ์ˆ˜์ค€์œผ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด ์ฒญ๋ก์ƒ‰ ๋ฐฐํฌ์˜ ๋ชจ๋“  ํ•ญ๋ชฉ์ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋„๋ก ํ•˜์„ธ์š”.

์ด์ƒ ํƒ์ง€ ๋ฐ ์ž๋™ ์™„ํ™”

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

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

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

๊ทธ๊ฒŒ ๋‹ค์•ผ!

์ด ์šฐ์„ ์ˆœ์œ„ ๋ชฉ๋ก์€ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ๋†’์ด๋Š” ๊ฒฝ์šฐ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ์ค„์—ฌ์ค„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์›๋ณธ ๊ธฐ์‚ฌ์˜ ์ €์ž๋Š” ๋…์ž๋“ค์—๊ฒŒ ์˜๊ฒฌ์„ ๋‚จ๊ธฐ๊ณ  ๋ณ€๊ฒฝํ•˜๋„๋ก ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์‚ฌ๋Š” ์˜คํ”ˆ ์†Œ์Šค๋กœ ๋ฐฐํฌ๋˜๋ฉฐ ์ž‘์„ฑ์ž์˜ ํ’€ ์š”์ฒญ Github์—์„œ ์ˆ˜๋ฝ.

์ฃผ์ œ์— ๋Œ€ํ•ด ์ฝ์„ ๋‚ด์šฉ:

  1. Go ๋ฐ CPU ์บ์‹œ
  2. ๊ตฌํ˜„์„ ์œ„ํ•œ ํ…œํ”Œ๋ฆฟ์„ ๊ฐ–์ถ˜ ๋ถˆ๋ฒ• ๋ณต์ œ ์ •์‹ ์˜ Kubernetes
  3. Telegram์˜ Kubernetes ์ฃผ๋ณ€ ์ฑ„๋„

์ถœ์ฒ˜ : habr.com

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