Home > Architecture > ๐Ÿ—๏ธ[Architecture] Scale-Out(์ˆ˜ํ‰ ํ™•์žฅ)์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๐Ÿ—๏ธ[Architecture] Scale-Out(์ˆ˜ํ‰ ํ™•์žฅ)์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?
Architecture System Architecture IT Infrastructure

๐Ÿ—๏ธ[Architecture] Scale-Out(์ˆ˜ํ‰ ํ™•์žฅ)์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๐Ÿ“Œ Intro

  • โ†˜๏ธŽ Scale-Out(์ˆ˜ํ‰ ํ™•์žฅ)์€ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ๊ณผ ์ฒ˜๋ฆฌ ์šฉ๋Ÿ‰์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋Œ€์˜ ์„œ๋ฒ„๋‚˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€๋กœ ๋ฐฐ์น˜ํ•˜์—ฌ ์ž‘์—…์„ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

1๏ธโƒฃ Scale-Out์˜ ํ•ต์‹ฌ ๊ฐœ๋….

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

2๏ธโƒฃ Scale-Out vs Scale-Up.

๊ตฌ๋ถ„ Scale-Out(์ˆ˜ํ‰ ํ™•์žฅ) Scale-Up(์ˆ˜์ง ํ™•์žฅ)
ํ™•์žฅ ๋ฐฉ์‹ ์„œ๋ฒ„/๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ ๊ธฐ์กด ์„œ๋ฒ„์˜ CPU, RAM ๋“ฑ์„ ์—…๊ทธ๋ ˆ์ด๋“œ
์œ ์—ฐ์„ฑ ๋งค์šฐ ์œ ์—ฐํ•จ ํ•˜๋“œ์›จ์–ด ํ•œ๊ณ„์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Œ
๋น„์šฉ ์ดˆ๊ธฐ ๋น„์šฉ ๋‚ฎ์Œ, ์šด์˜๋น„์šฉ ์ฆ๊ฐ€ ๊ฐ€๋Šฅ ์ดˆ๊ธฐ ๋น„์šฉ ๋†’์Œ
์žฅ์•  ๋Œ€์‘ ํ•œ ๋…ธ๋“œ๊ฐ€ ์‹คํŒจํ•ด๋„ ์„œ๋น„์Šค ์œ ์ง€ ๊ฐ€๋Šฅ ๋‹จ์ผ ์‹คํŒจ ์ง€์ (Single Point of Failure) ๊ฐ€๋Šฅ์„ฑ
์˜ˆ์‹œ ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์— ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€ ๊ธฐ์กด ์„œ๋ฒ„์— CPU/RAM ์ฆ์„ค

3๏ธโƒฃ Scale-Out์˜ ์˜ˆ์‹œ.

  • 1๏ธโƒฃ ์›น ์„œ๋น„์Šค
    • โ†˜๏ธŽ ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์งˆ ๋•Œ ์ƒˆ๋กœ์šด ์›น ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ.
  • 2๏ธโƒฃ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒค๋”ฉ(Database Sharding)
    • โ†˜๏ธŽ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋…ธ๋“œ๋กœ ๋‚˜๋ˆ„์–ด ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌ.
  • 3๏ธโƒฃ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…
    • โ†˜๏ธŽ AWS EC2, Azure VM, Google Cloud Computer Engine ๋“ฑ์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€.
  • 4๏ธโƒฃ ์ฝ˜ํ…์ธ  ์ „์†ก ๋„คํŠธ์›Œํฌ (CDN)
    • ์—ฌ๋Ÿฌ ์„œ๋ฒ„์— ์ฝ˜ํ…์ธ ๋ฅผ ๋ถ„์‚ฐ ์ €์žฅํ•˜์—ฌ ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ์ฒ˜๋ฆฌ

4๏ธโƒฃ Scale-Out์˜ ์žฅ์ .

  • 1๏ธโƒฃ ํ™•์žฅ์„ฑ.
    • ํ•„์š”์— ๋”ฐ๋ผ ์„œ๋ฒ„๋‚˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ.
  • 2๏ธโƒฃ ๊ณ ๊ฐ€์šฉ์„ฑ(High Availability)
    • ํ•œ ์„œ๋ฒ„์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ด๋„ ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์„ ์ฒ˜๋ฆฌ.
  • 3๏ธโƒฃ ๋น„์šฉ ํšจ์œจ์„ฑ
    • ์ดˆ๊ธฐ ๋น„์šฉ์ด ๋‚ฎ๊ณ  ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ๋ฆฌ์†Œ์Šค๋ฅผ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ.
  • 4๏ธโƒฃ ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด
    • ์„œ๋ฒ„ ๊ฐ„ ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐํ•˜์—ฌ ์žฅ์• ๋ฅผ ์˜ˆ๋ฐฉ.

5๏ธโƒฃ Scale-Out์˜ ๋‹จ์ .

  • 1๏ธโƒฃ ๋ณต์žก์„ฑ
    • ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ •๊ณผ ์šด์˜์ด ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Œ
  • 2๏ธโƒฃ ๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ ๋ฌธ์ œ
    • ์—ฌ๋Ÿฌ ๋…ธ๋“œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋‹ค ๋ณด๋ฉด ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์–ด๋ ค์›€
  • 3๏ธโƒฃ ๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ
    • ๋…ธ๋“œ ๊ฐ„ ๋ฐ์ดํ„ฐ ํ†ต์‹ ์œผ๋กœ ์ธํ•ด ๋„คํŠธ์›Œํฌ ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ

6๏ธโƒฃ Scale-Out์ด ์ ํ•ฉํ•œ ๊ฒฝ์šฐ.

  • โ†˜๏ธŽ ํŠธ๋ž˜ํ”ฝ์ด ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒฝ์šฐ.
  • โ†˜๏ธŽ ์žฅ์• ์— ๋Œ€๋น„ํ•œ ๊ณ ๊ฐ€์šฉ์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ.
  • โ†˜๏ธŽ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ž‘์—…์ด ๋ณ‘๋ ฌํ™”๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ.

๐Ÿ“Œ ์˜ˆ์‹œ:

  • ๋Œ€๊ทœ๋ชจ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (์˜ˆ: ์‡ผํ•‘๋ชฐ, ์ŠคํŠธ๋ฆฌ๋ฐ ์„œ๋น„์Šค)
  • ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค

๐Ÿš€ ๊ฒฐ๋ก 

  • โ†˜๏ธŽ Scale-Out์€ ์ฃผ๋กœ ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€, ๊ณ ๊ฐ€์šฉ์„ฑ ์š”๊ตฌ, ๋ถ„์‚ฐ ์ž‘์—… ํ•„์š” ์‹œ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • โ†˜๏ธŽ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” Scale-Out์ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ™•์žฅ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
  • โ†˜๏ธŽ ๋‹จ, ๋ณต์žกํ•œ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ์„ค๊ณ„์™€ ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๐Ÿ”‘ ํ•ต์‹ฌ : โ€œ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ถ€ํ•˜๋ฅผ ๋‚˜๋ˆˆ๋‹ค.โ€