ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

์•ˆ๋“œ๋ ˆ์ด ๋งˆ๋ฅด์ผˆ๋กœํ”„ โ€” Infobip์˜ ์ˆ˜์„ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋กœ 11๋…„๊ฐ„ ๊ธˆ์œต ๋ฐ ํ†ต์‹  ๋ถ„์•ผ์—์„œ Java ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค ์ œํ’ˆ์„ ๊ฐœ๋ฐœํ•˜๊ณ , Atlassian ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ ๊ทน์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋ฉฐ, Atlassian ์ œํ’ˆ์šฉ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋ฉ”ํ…Œ์šฐ์Šค, ๋„์ปค, ๋ ˆ๋””์Šค ์ „๋„์‚ฌ.

๋™์˜์ƒ ์žฌ์ƒ

์ธํฌ๋น• ์†Œ๊ฐœ

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

Infobip IT ์ธํ”„๋ผ๋ฅผ ์ˆ˜์น˜๋กœ ํ‘œํ˜„ํ•œ ๋‚ด์šฉ:

  • ์ „ ์„ธ๊ณ„์— 15๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ
  • 500๊ฐœ์˜ ๊ณ ์œ ํ•œ ์„œ๋น„์Šค๊ฐ€ ์šด์˜ ์ค‘์ž…๋‹ˆ๋‹ค.
  • 2500๊ฐœ์˜ ์„œ๋น„์Šค ์ธ์Šคํ„ด์Šค๋Š” ๋ช…๋ น๋ณด๋‹ค ํ›จ์”ฌ ๋งŽ์Šต๋‹ˆ๋‹ค.
  • ์›”๊ฐ„ ํŠธ๋ž˜ํ”ฝ 4,5TB
  • 4,5์–ต ๊ฐœ์˜ ์ „ํ™”๋ฒˆํ˜ธ

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

๋ฆด๋ฆฌ์Šค

์šฐ๋ฆฌ์˜ ์ผ๋ฐ˜์ ์ธ ๋ฆด๋ฆฌ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ๋น„์Šค A, B, C, D, E๊ฐ€ ์žˆ์œผ๋ฉฐ, ๊ฐ ์„œ๋น„์Šค๋Š” ๋ณ„๋„์˜ ํŒ€์—์„œ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

์–ด๋А ์‹œ์ ์—์„œ ์„œ๋น„์Šค A์˜ ํŒ€์€ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๋ฐฐํฌํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜์ง€๋งŒ ์„œ๋น„์Šค B, C, D, E์˜ ํŒ€์€ ๊ทธ ์‚ฌ์‹ค์„ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ์„œ๋น„์Šค AํŒ€์ด ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆ˜ํ–‰ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค ์ฆ๋ถ„ ๋ฆด๋ฆฌ์Šค: ๋จผ์ € ํ•œ ๋ฒ„์ „์„ ๊ต์ฒดํ•œ ๋‹ค์Œ ๋‘ ๋ฒˆ์งธ ๋ฒ„์ „์„ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

๊ทธ๋Ÿผ ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ์›ํ•˜๋Š”๊ฐ€?

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

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

๋ฐฐํฌ ๋ฌธ์ œ

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

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

๋ถ„์‚ฐ ํŒ€. ํด๋ผ์ด์–ธํŠธ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํŒ€์€ ์„œ๋กœ ๋‹ค๋ฅธ ์‹œ๊ฐ„๋Œ€์— ์œ„์น˜ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ๋ฌธ์— ๊ทธ๋“ค์€ ์ข…์ข… ์„œ๋กœ ํ•ฉ์˜์— ๋„๋‹ฌํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋Š” ์Šคํ…Œ์ด์ง€์—์„œ ๋ณต์ œ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.. ํ•œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—๋Š” 200๊ฐœ์˜ ๋ž™์ด ์žˆ๋Š”๋ฐ, ์ƒŒ๋“œ๋ฐ•์Šค์—์„œ ์ด๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ์กฐ์ฐจ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

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

ํด๋ž˜์‹ ์†”๋ฃจ์…˜

๋ฒ„๊ทธ ์—†์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์„ธ์š”. ์ œ๊ฐ€ ์ Š์€ ๊ฐœ๋ฐœ์ž์˜€์„ ๋•Œ๋Š” ๊ด€๋ฆฌ์ž๊ฐ€ ์ฐพ์•„์™€ ๋ฒ„๊ทธ ์—†์ด ์ถœ์‹œํ•ด ๋‹ฌ๋ผ๊ณ  ๋ถ€ํƒํ•˜๊ณค ํ–ˆ์ง€๋งŒ, ํ•ญ์ƒ ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์ž‘์„ฑ. ํ…Œ์ŠคํŠธ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์ง€๋งŒ ๋•Œ๋กœ๋Š” ํšŒ์‚ฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์˜ ๋ชฉ์ ์€ ๋ˆ์„ ๋ฒ„๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋ฌด๋Œ€ ํ…Œ์ŠคํŠธ. Infobip์—์„œ 3,5๋…„ ๋ฐ˜ ๋™์•ˆ ์ผํ•˜๋ฉด์„œ ๋ฌด๋Œ€์˜ ์ƒํƒœ๊ฐ€ ์ œ์ž‘๊ณผ ์ผ๋ถ€๋ผ๋„ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์„ ๋ณธ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

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

์ถ”๊ฐ€์ ์ธ ํ•ฉ๋ณ‘์ฆ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ์ˆ˜๋™์œผ๋กœ ํ™•์ธํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋“ค์ด๋Š” ๊ฒƒ์€ ์ŠคํŠธ๋ ˆ์Šค๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

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

์—ฐ๊ธฐ ํ…Œ์ŠคํŠธ

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

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๋‘ ๋ฒˆ์งธ ์˜ต์…˜์€ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค ์ถ”๊ฐ€ ์ฒ ๋ถ„ ํ•จ์œ . ํŒ€์€ ์ด๋ฅผ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธํ•œ ํ›„, ๋‹ค์‹œ ์ „ํ™˜ํ•˜์—ฌ ๋ชจ๋“  ๊ฒƒ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

์—ฐ๊ธฐ ํ…Œ์ŠคํŠธ์˜ ๋‹จ์ :

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

์—ฌ๊ธฐ์„œ ์œ ์ผํ•œ ๋ณด๋„ˆ์Šค๋Š” ์„ฑ๋Šฅ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์นด๋‚˜๋ฆฌ์•„ ๋ฆด๋ฆฌ์Šค

์Šค๋ชจํฌ ํ…Œ์ŠคํŠธ์˜ ๋‹จ์ ์œผ๋กœ ์ธํ•ด ์šฐ๋ฆฌ๋Š” ์นด๋‚˜๋ฆฌ์•„ ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๊ตฌํ˜„ ๋ฐ ๋‰˜์•™์Šค

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๋ฐฐํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฐธ๋Ÿฐ์„œ์—์„œ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ (1), ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜๊ณ (2) ๋ณ„๋„๋กœ ์•ฝ๊ฐ„์˜ ํŠธ๋ž˜ํ”ฝ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค(3).

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค์—์„œ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š”์ง€ ๊ฐœ๋žต์ ์œผ๋กœ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ฒ€์ƒ‰๊ณผ S1N1, S2๋ผ๋Š” ๋‘ ๊ฐ€์ง€ ์„œ๋น„์Šค๊ฐ€ ๋” ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์„œ๋น„์Šค(S1N1)๋Š” ์‹œ์ž‘ ์‹œ Service Discovery์— ์•Œ๋ฆฌ๊ณ , Service Discovery๋Š” ์ด๋ฅผ ๊ธฐ์–ตํ•ฉ๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ๋…ธ๋“œ(S2N1 ๋ฐ S2N2)๊ฐ€ ์žˆ๋Š” ๋‘ ๋ฒˆ์งธ ์„œ๋น„์Šค๋„ ์‹œ์ž‘ ์‹œ ์„œ๋น„์Šค ๊ฒ€์ƒ‰์— ์•Œ๋ฆฝ๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๋‘ ๋ฒˆ์งธ ์„œ๋น„์Šค๋Š” ์ฒซ ๋ฒˆ์งธ ์„œ๋น„์Šค์˜ ์„œ๋ฒ„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์„œ๋น„์Šค ๊ฒ€์ƒ‰์—์„œ ์„œ๋ฒ„์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๊ณ , ์ •๋ณด๋ฅผ ๋ฐ›์œผ๋ฉด ์„œ๋ฒ„๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค("์ƒํƒœ ์ ๊ฒ€"). ๊ทธ๊ฐ€ ํ™•์ธํ•˜๋ฉด ๊ทธ๋“ค์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ผ ๊ฒƒ์ด๋‹ค.

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜๋ฉด Service Discovery์—์„œ ๋‘ ๋ฒˆ์งธ ๋…ธ๋“œ๊ฐ€ ์ด์ œ ์นด๋‚˜๋ฆฌ์•„๋ผ๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜๋ฏ€๋กœ ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(5%). ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ๋‹ค๋ฉด ๋ฒ„์ „์„ ๋ณ€๊ฒฝํ•˜๊ณ , ๋กœ๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์ž‘์—…์„ ๊ณ„์†ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

๊ท ํ˜•

์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ์ƒ๊ฐํ•ด์•ผ ํ•  ์ ์ž…๋‹ˆ๋‹ค. ๊ท ํ˜• ์žก๋Š” ์ „๋žต์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Canary ๋…ธ๋“œ๋Š” ๋ฐฐํฌ ์ค‘์— ์„ค์ •๋ฉ๋‹ˆ๋‹ค.. ๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ์บ๋‚˜๋ฆฌ ๋…ธ๋“œ ์ƒํƒœ๋ฅผ ํ•ด์ œํ•˜๋ฉด ํŠธ๋ž˜ํ”ฝ ๊ท ํ˜•์ด ๋ณต์›๋ฉ๋‹ˆ๋‹ค. ์ž๋™์ฐจ๊ฐ€ ์ ์œผ๋ฉด ๊ณตํ‰ํ•œ ๋ถ„๋ฐฐ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง

์นด๋‚˜๋ฆฌ์•„ ๋ฐฉ์ถœ์˜ ์ดˆ์„. ์šฐ๋ฆฌ๋Š” ์™œ ์ด๋Ÿฐ ์ผ์„ ํ•˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ธก์ • ํ•ญ๋ชฉ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์‹ถ์€์ง€ ์ •ํ™•ํžˆ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‚ฌ์˜ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ˆ˜์ง‘ํ•œ ์ง€ํ‘œ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

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

๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์˜ ์ธก์ • ํ•ญ๋ชฉ ์˜ˆ์ž…๋‹ˆ๋‹ค.

์นด์šดํ„ฐ. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜ค๋ฅ˜์˜ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฐ’์ž…๋‹ˆ๋‹ค. ์ด ์ง€ํ‘œ๋Š” ๋ณด๊ฐ„ํ•˜๊ธฐ ์‰ฝ๊ณ  ๊ทธ๋ž˜ํ”„๋ฅผ ์—ฐ๊ตฌํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์–ด์ œ๋Š” ์˜ค๋ฅ˜๊ฐ€ 2๊ฐœ์˜€๊ณ , ์˜ค๋Š˜์€ 500๊ฐœ์˜€๋Š”๋ฐ, ์ด๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

๊ณ„๋Ÿ‰๊ธฐ. ๋ฉ”ํŠธ๋ฆญ์€ ์นด์šดํ„ฐ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์ฆ๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๊ฐ์†Œํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฟผ๋ฆฌ ์‹คํ–‰ ์‹œ๊ฐ„์ด๋‚˜ ๋Œ€๊ธฐ์—ด ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

๋„๊ตฌ

ELK ์Šคํƒ. Elasticsearch๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์นด๋‚˜๋ฆฌ์•„๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์นด๋‚˜๋ฆฌ์•„์— ์˜ค๋ฅ˜๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ API ํ˜ธ์ถœ์„ ํ†ตํ•ด ํŠน์ • ์‹œ์ ์˜ ์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ์•Œ์•„๋‚ด๊ณ  ์ด์ „ ๊ธฐ๊ฐ„๊ณผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GET /applg/_cunt?q=level:errr.

ํ”„๋กœ ๋ฉ”ํ…Œ์šฐ์Šค. Infobip์—์„œ ์ข‹์€ ์„ฑ๊ณผ๋ฅผ ๊ฑฐ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ๋‹ค์ฐจ์› ์ธก์ • ํ•ญ๋ชฉ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค level, instance, service, ์ด๋“ค์„ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์œผ๋กœ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์˜ ๋„์›€์œผ๋กœ offset ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹จ ํ•˜๋‚˜์˜ ๋ช…๋ น์œผ๋กœ ์ผ์ฃผ์ผ ์ „ ์ˆ˜๋Ÿ‰์˜ ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GET /api/v1/query?query={query}์–ด๋””์—์„œ {query}:

rate(logback_appender_total{ 
    level="error",  
    instance=~"$instance" 
}[5m] offset $offset_value)

๋ฒ„์ „ ๋ถ„์„

๋ฒ„์ „ ๋ถ„์„์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ „๋žต์ด ์žˆ์Šต๋‹ˆ๋‹ค.

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

์บ๋‚˜๋ฆฌ ๋…ธ๋“œ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ๋น„๊ต๋ฉ๋‹ˆ๋‹ค.. ์ด๋Š” ์ตœ๋Œ€ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ์‹คํ–‰ ์ค‘์ธ ๋‹ค๋ฅธ ์ธ์Šคํ„ด์Šค์™€ ๋น„๊ตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠธ๋ž˜ํ”ฝ์ด ์ ์„ ๋•Œ ์ƒํ™ฉ์ด ์‹ค์ œ ์ธ์Šคํ„ด์Šค๋ณด๋‹ค ๋” ๋‚˜์˜๊ฑฐ๋‚˜ ๋‚˜์•„์ง€์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ญ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์˜คํ† ๋ฉ”์ด์…˜

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

  • ์‹œ์ž‘ํ•˜์ž;
  • ๋ฐธ๋Ÿฐ์„œ ์•„๋ž˜์—์„œ ๋…ธ๋“œ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ์นด๋‚˜๋ฆฌ์•„ ๋…ธ๋“œ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ๋Š” ์ œํ•œ๋œ ์–‘์˜ ๊ตํ†ต๋Ÿ‰์œผ๋กœ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ผญ๋‹ˆ๋‹ค.
  • ๋น„๊ต.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

์ด๊ฒƒ์€ Groovy๋กœ ๊ฐ€๋Š” ํŒŒ์ดํ”„๋ผ์ธ์ž…๋‹ˆ๋‹ค.

while (System.currentTimeMillis() < endCanaryTs) {
    def isOk = compare(srv, canary, time, base, offset, metrics)
    if (isOk) {
        sleep DEFAULT SLEEP
    }   else {
        echo "Canary failed, need to revert"  
        return false
    }
}

์—ฌ๊ธฐ ์‚ฌ์ดํด์—์„œ ์šฐ๋ฆฌ๋Š” ํ•œ ์‹œ๊ฐ„ ๋‚ด์— ์ƒˆ๋กœ์šด ๋…ธ๋“œ๋ฅผ ๋น„๊ตํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์นด๋‚˜๋ฆฌ์•„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•„์ง ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋…€๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ข‹์€์ง€ ๋‚˜์œ์ง€ ๋งํ•ด์ค๋‹ˆ๋‹ค. def isOk = compare(srv, canary, time, base, offset, metrics).

๋ชจ๋“  ๊ฒƒ์ด ์ข‹๋‹ค๋ฉด - sleep DEFAULT SLEEP์˜ˆ๋ฅผ ๋“ค์–ด, ์ž ๊น ๋ฉˆ์ถ”๊ณ  ๊ณ„์†ํ•˜์„ธ์š”. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐํฌ๊ฐ€ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค.

์ง€ํ‘œ์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ๊ฒผ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. compare DSL์„ ์˜ˆ๋กœ ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

metric(
    'errorCounts',
    'rate(errorCounts{node=~"$canaryInst"}[5m] offset $offset)',
    {   baseValue, canaryValue ->
        if (canaryValue > baseValue * 1.3) return false 
        return true
    }
)

์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ๋น„๊ตํ•˜๊ณ  ์ง€๋‚œ 5๋ถ„ ๋™์•ˆ ์ดˆ๋‹น ์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‘ ๊ฐ€์ง€ ๊ฐ’์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋…ธ๋“œ์™€ ์นด๋‚˜๋ฆฌ์•„ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. ์นด๋‚˜๋ฆฌ์•„ ๋…ธ๋“œ์˜ ๊ฐ’์€ ํ˜„์žฌ์ž…๋‹ˆ๋‹ค. ๊ธฐ์ดˆ์ ์ธ - baseValue โ€” ์ด๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ๋น„ ์นด๋‚˜๋ฆฌ ๋…ธ๋“œ์˜ ๊ฐ’์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฒฝํ—˜๊ณผ ๊ด€์ฐฐ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ •ํ•œ ๊ณต์‹์„ ์‚ฌ์šฉํ•ด ๊ฐ’์„ ์„œ๋กœ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด canaryValue ๋‚˜์˜๋ฉด ๋ฐฐํฌ์— ์‹คํŒจํ•˜๊ณ  ๋กค๋ฐฑํ•ฉ๋‹ˆ๋‹ค.

์™œ ์ด ๋ชจ๋“  ๊ฒƒ์ด ํ•„์š”ํ•œ๊ฐ€์š”?

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

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

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

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

์žฅ์• ๋ฌผ

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

์‹ค์ œ๋กœ ํ…Œ์ŠคํŠธํ•ด๋ด์•ผ๊ฒ ๋‹ค ์ง€ํ‘œ์˜ ์•ˆ์ •์„ฑ. ํ™•์ธํ•˜๋ฉด ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์ธก์ • ํ•ญ๋ชฉ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?.

์ด๊ฒƒ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•? ๋ฐฐํฌ ์‹œ์ ์— ์นด๋‚˜๋ฆฌ์•„ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.. ์šฐ๋ฆฌ๋Š” ์–ธ์ œ๋“ ์ง€ ์ „์šฉ ๋…ธ๋“œ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ๋ฐฐํฌ ์—†์ด๋„ ํŠธ๋ž˜ํ”ฝ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค๋ฅผ ์ด์ „ ๋ฒ„์ „์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์šฐ๋ฆฌ๋Š” ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ˆ˜๋ฅผ ์—ฐ๊ตฌํ•˜๊ณ  ํ’ˆ์งˆ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์ ์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์—์„œ ํ…Œ์ŠคํŠธ: Canary ๋ฐฐํฌ

์นด๋‚˜๋ฆฌ์•„ ๋ฆด๋ฆฌ์Šค๋กœ ์–ป์€ ์ด์ 

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

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

์ž๋™ํ™”๋œ ๋ฐฐํฌ. ์ด๋Š” ์ด์ „์ฒ˜๋Ÿผ ์ˆ˜๋™์ ์ธ ๊ณผ์ •์ด ์•„๋‹ˆ๋ผ ์™„์ „ํžˆ ์ž๋™ํ™”๋œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹œ๊ฐ„์ด ๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

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

์šฐ๋ฆฌ์—๊ฒŒ๋Š” ๋„์›€์ด ๋˜๋Š” ํ›Œ๋ฅญํ•œ ๊ด€ํ–‰๊ณผ ์‹œ์Šคํ…œ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ , ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ๋„์›€์ด ๋  ์‹œ์Šคํ…œ์ด ์žˆ๋Š”์ง€ ์—†๋Š”์ง€์— ๊ด€๊ณ„ ์—†์ด ์ „๋ฌธ๊ฐ€๋กœ์„œ ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์—…๋ฌด๋ฅผ ์ž˜ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์—”์ง€๋‹ˆ์–ด๋ง ์ ‘๊ทผ ๋ฐฉ์‹ ๋ฐ ๊ด€ํ–‰ - TechLead Conf ์ปจํผ๋Ÿฐ์Šค์˜ ์ฃผ์š” ์ดˆ์ . ๊ธฐ์ˆ ์  ์šฐ์ˆ˜์„ฑ์„ ํ–ฅํ•œ ๊ธธ์—์„œ ์„ฑ๊ณต์„ ์ด๋ฃจ์—ˆ๊ณ  ์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋œ ์‚ฌํ•ญ์„ ์•Œ๋ ค์ฃผ์‹ค ์ค€๋น„๊ฐ€ ๋˜์…จ๋‹ค๋ฉด, ๋ณด๊ณ ์„œ๋ฅผ ์‹ ์ฒญํ•˜๋‹ค.

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

์ถœ์ฒ˜ : habr.com

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster