Home > Architecture > ๐Ÿ—๏ธ[Architecture] Monolithic Architecture๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?

๐Ÿ—๏ธ[Architecture] Monolithic Architecture๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?
Architecture Software Architecture

๐Ÿ—๏ธ[Architecture] Monolithic Architecture๋ž€ ๋ฌด์—‡์ผ๊นŒ์š”?

๐Ÿ“Œ Intro.

  • โ†˜๏ธŽ ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜(Monolithic Architecture)๋Š” ํ•˜๋‚˜์˜ ์ปค๋‹ค๋ž€ ๋‹จ์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์„ค๊ณ„ ๋ฐฉ์‹์ž„.
    • โ†˜๏ธŽ ๋ชจ๋“  ๊ธฐ๋Šฅ(์˜ˆ: ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ณ„์ธต ๋“ฑ)์ด ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค์™€ ํ•˜๋‚˜์˜ ์‹คํ–‰ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•จ.

โœ…1๏ธโƒฃ ์ฃผ์š” ํŠน์ง•.

  • 1. ๋‹จ์ผ ์ฝ”๋“œ๋ฒ ์ด์Šค
    • โ†˜๏ธŽ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํ•˜๋‚˜์˜ ์ฝ”๋“œ๋ฒ ์ด์Šค์— ํฌํ•จ๋จ.
  • 2. ๋‹จ์ผ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ
    • โ†˜๏ธŽ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด๊ฐ€ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋นŒ๋“œ๋˜๊ณ  ๋ฐฐํฌ๋จ.
  • 3. ๋ชจ๋“  ๋ชจ๋“ˆ์ด ๊ฐ•ํ•˜๊ฒŒ ๊ฒฐํ•ฉ๋จ (Tightly Coupled)
    • โ†˜๏ธŽ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐ ๋ถ€๋ถ„์ด ๊ธด๋ฐ€ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด ๋ถ€๋ถ„์ ์œผ๋กœ ์ˆ˜์ • ๋ฐ ๋ฐฐํฌํ•˜๊ธฐ ์–ด๋ ค์›€.
  • 4. ์ค‘์•™ํ™”๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • โ†˜๏ธŽ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ง€์›ํ•จ.
  • 5. ๊ทœ๋ชจ ํ™•์žฅ ์–ด๋ ค์›€
    • โ†˜๏ธŽ ์ˆ˜ํ‰ ํ™•์žฅ(Scale-Out)์ด ์–ด๋ ค์›Œ ์ฃผ๋กœ ์ˆ˜์ง ํ™•์žฅ(Scale-Up, ์„œ๋ฒ„ ์„ฑ๋Šฅ ๊ฐœ์„ )์„ ํ†ตํ•ด ํ™•์žฅํ•จ.

โœ…2๏ธโƒฃ ์žฅ์ .

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

โœ…3๏ธโƒฃ ๋‹จ์ .

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

โœ…4๏ธโƒฃ ์‚ฌ์šฉ ์‚ฌ๋ก€.

  • ์ดˆ๊ธฐ ์Šคํƒ€ํŠธ์—… : ๊ฐ„๋‹จํ•œ ์•„ํ‚คํ…์ฒ˜๋กœ ๋น ๋ฅด๊ฒŒ MVP(Minimum Viable Product)๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ.
  • ๋‹จ์ผ ํŒ€ ๊ฐœ๋ฐœ : ํ•˜๋‚˜์˜ ํŒ€์ด ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ด€๋ฆฌํ•  ๋•Œ.
  • ์ž‘์€ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ : ๋ณต์žก๋„๊ฐ€ ๋‚ฎ๊ณ  ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ช…ํ™•ํ•œ ๊ฒฝ์šฐ.

โœ…5๏ธโƒฃ Monolithic VS Microservice ๋น„๊ต.

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

๐Ÿš€ ์ •๋ฆฌ.

  • โ†˜๏ธŽ ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜(Monolithic Architecture)๋Š” ์ž‘์€ ๊ทœ๋ชจ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์— ์ ํ•ฉ.
    • โ†˜๏ธŽ ํ•˜์ง€๋งŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณต์žก๋„๊ฐ€ ์ฆ๊ฐ€ํ•˜๋”๋‚˜ ์—ฌ๋Ÿฌ ํŒ€์ด ํ˜‘์—…ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜(Microservice Architecture)๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚˜์„ ์ˆ˜ ์žˆ๋‹ค.
  • โ˜๏ธ ํ•ต์‹ฌ ํฌ์ธํŠธ :
    • โ†˜๏ธŽ ์ดˆ๊ธฐ์—๋Š” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•œ ๊ฐœ๋ฐœ ๊ฐ€๋Šฅ.
    • โ†˜๏ธŽ ํ™•์žฅ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์— ํ•œ๊ณ„๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Œ.