1. Monlith(๋ชจ๋๋ฆฌํฑ)
1-1) Monolith
Monolithic Architecture๋ ์ํํธ์จ์ด์ ๋ชจ๋ ๊ตฌ์ฑ์์๊ฐ ํ ํ๋ก์ ํธ์ ํตํฉ๋์ด ์๋ ํํ์.
์์ง๊น์ง๋ ๋ง์ ์ํํธ์จ์ด๊ฐ Monolithic ํํ๋ก ๊ตฌํ๋์ด ์์ผ๋ฉฐ ์๊ท๋ชจ ํ๋ก์ ํธ์๋
Monolithic Architecture๊ฐ ํจ์ฌ ํฉ๋ฆฌ์ ์. ๊ฐ๋จํ Architecture์ด๊ณ , ์ ์ง๋ณด์๊ฐ ์ฉ์ดํจ.
์ผ์ ๊ท๋ชจ ์ด์์ ์๋น์ค ํน์ ์๋ฐฑ๋ช ์ ๊ฐ๋ฐ์๊ฐ ํฌ์ ๋๋ ํ๋ก์ ํธ์์ ํ๊ณ๊ฐ ์์.
1-2) Monolith์ ํ๊ณ
โ ์๋น์ค์ ํ๋ก์ ํธ๊ฐ ์ปค์ง์๋ก ์ํฅ๋์ ์ ์ฒด ์์คํ ๊ตฌ์กฐ์ ํ์ ์ ์ด๋ ค์์ด ์์.
โ ๋น๋์ ํ ์คํธ์ ๋ฐฐํฌ์๊ฐ(Click)์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๊ฒ ๋จ.
โ ์๋น์ค๋ฅผ ๋ถ๋ถ์ ์ผ๋ก Scale-out(Click)ํ๊ธฐ๊ฐ ํ๋ฆ.
โ ๋ถ๋ถ ์ฅ์ ๊ฐ ์ ์ฒด ์๋น์ค์ ์ฅ์ ๋ก ์ด์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํจ.
2. MSA
2-1) MSA
MSA๋ ๋น์ฆ๋์ค ๋ฏผ์ฒฉ์ฑ๊ณผ ๊ด๋ จ์ด ํผ. ์๋น์ค๋ ํ๋ก์ ํธ๊ฐ ํฌ๊ณ , ๋ณต์กํ๋ฉฐ, ์ฅ๊ธฐ์ ์ผ๋ก
์ด์ ๋ ์๋ก MSA์ ์ฅ์ ์ด ๋์ฑ ๋๋ฌ๋จ.
2-2) MSA vs Monolith
โ ๊ฐ๊ฐ์ ์๋น์ค๋ ํฌ๊ธฐ๊ฐ ์์ ๋ฟ ์๋น์ค๋ ํ๋์ ๋ชจ๋๋ฆฌํฑ ์ํคํ ์ณ์ ์ ์ฌํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง.
โ ๊ฐ๊ฐ์ ์๋น์ค๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํด์ผ ํจ.
โ ๊ฐ๊ฐ์ ์๋น์ค๋ ๋ค๋ฅธ ์๋น์ค์ ๋ํ ์์กด์ฑ์ด ์ต์ํ ๋์ด์ผ ํจ.
โ ๊ฐ ์๋น์ค๋ ๊ฐ๋ณ ํ๋ก์ธ์ค๋ก ๊ตฌ๋๋๋ฉฐ, REST์ ๊ฐ์ ๊ฐ๋ฒผ์ด ๋ฐฉ์์ผ๋ก ํต์ ๋์ด์ผ ํจ.
2-3) MSA์ ์ฅ์
MSA๋ ์๋น์ค๊ฐ ์ปค์ง๋ฉด์ ์๊ฒผ๋ Monolithic Architecture์ ๋ฌธ์ ์ ์ ๋ณด์ํด์ค ์ ์์.
2-3)-1. ๋ฐฐํฌ(Deployment) ๊ด์
์๋น์ค ๋ณ ๊ฐ๋ณ ๋ฐฐํฌ ๊ฐ๋ฅ(๋ฐฐํฌ ์ ์ ์ฒด ์๋น์ค์ ์ค๋จ์ด ์์)
์๊ตฌ์ฌํญ์ ์ ์ํ๊ฒ ๋ฐ์ํ์ฌ ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ ์ ์์.
2-3)-2. ํ์ฅ(Scaling) ๊ด์ (Click)
ํน์ ์๋น์ค์ ๋ํ ํ์ฅ์ฑ์ด ์ฉ์ดํจ.
ํด๋ผ์ฐ๋ ์ฌ์ฉ์ ์ ํฉํ ์ํคํ ์ฒ
2-3)-3. ์ฅ์ (Failure) ๊ด์
์ฅ์ ๊ฐ ์ ์ฒด ์๋น์ค๋ก ํ์ฅ๋ ๊ฐ๋ฅ์ฑ์ด ์ ์
๋ถ๋ถ์ ์ฅ์ ์ ๋ํ ๊ฒฉ๋ฆฌ๊ฐ ์์ํจ.
2-4) MSA์ ๋จ์
Monolithic Architecture์ ๋จ์ํ ์ํคํ ์ฒ์ธ๋ฐ MSA๋ ๋ณด๋ค ๋ณต์กํ ์ํคํ ์ฒ๋ก ์ ์ฒด ์๋น์ค๊ฐ
์ปค์ง์ ๋ฐ๋ผ ๊ทธ ๋ณต์ก๋๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ ์ ์์.
2-4)-1. ์ฑ๋ฅ
์๋น์ค ๊ฐ ํธ์ถ API๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํต์ , ๋น์ฉ, Latency๊ฐ ๊ทธ๋งํผ ๋์ด๋๊ฒ ๋จ.
2-4)-2. ํ ์คํธ / ํธ๋์ญ์
์๋น์ค๊ฐ ๋ถ๋ฆฌ๋์ด ์๊ธฐ ๋๋ฌธ์ ํ ์คํธ์ ํธ๋์ญ์ ์ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๊ณ ,
๋ง์ ์์์ ํ์๋ก ํจ.
2-4)-3. ๋ฐ์ดํฐ ๊ด๋ฆฌ
๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ์๋น์ค์ ๊ฑธ์ณ ๋ถ์ฐ๋๊ธฐ ๋๋ฌธ์ ํ ๋ฒ์ ์กฐํํ๊ธฐ ์ด๋ ต๊ณ ,
๋ฐ์ดํฐ์ ์ ํฉ์ฑ ๋ํ ๊ด๋ฆฌํ๊ธฐ ์ด๋ ค์.