๐๏ธ[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)๋ก ์ ํํ๋ ๊ฒ์ด ๋ ๋์ ์ ์๋ค.
-
โ๏ธ ํต์ฌ ํฌ์ธํธ :
- โ๏ธ ์ด๊ธฐ์๋ ๋น ๋ฅด๊ณ ๊ฐ๋จํ ๊ฐ๋ฐ ๊ฐ๋ฅ.
- โ๏ธ ํ์ฅ์ฑ๊ณผ ์ ์ง๋ณด์์ ํ๊ณ๊ฐ ์์ ์ ์์.