Microservice, ๋ง์ดํฌ๋ก์๋น์ค๋?
์ง๋ ์๊ฐ Monolithic vs SOA vs Microservice ์์ ๊ฐ๋จํ๊ฒ ๋ง์ดํฌ๋ก์๋น์ค๋ ๋ฌด์์ด๊ณ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๋์ง์ ๋ํด์ ๊ฐ๋ตํ๊ฒ ์์๋ณด์๋ค.
์์ ๋ง ํ๋ฏ ๋ง์ดํฌ๋ก์๋น์ค๋ ๋ง์ ์ฑ๊ณต ์ฌ๋ก๊ฐ ์กด์ฌํ๋ค๊ณ ํ๋๋ฐ, ์ค์ ๋ก ์ด๋ค ์ฑ๊ณต ์ฌ๋ก๊ฐ ์๋์ง ์์๋ณด์.
Microservice๋ฅผ ์ฃผ๋ํ๋ ๋ํ์ ์ธ ๊ธฐ์ ๋ค
ํ์ฌ IT ์์ฅ์์๋ Microservice๋ฅผ ์ฃผ๋ํ๋ ๋ํ์ ์ธ ๊ธฐ์ ๋ค์ด ์๋ค.
๊ทธ ์ค ๊ฐ์ฅ ์ ๋ช ํ ๊ณณ์ด ๋ฐ๋ก Amazon๊ณผ Netflix์ด๋ค.
Amazon๊ณผ Netflix์ MSA
์ด ์ฌ์ง์ amazon.com ์ด๋ผ๋ ์๋น์ค๋ฅผ ์ด์ํ๋๋ฐ ์ฌ์ฉ๋ MSA ์ฐ๊ฒฐ ๊ตฌ์กฐ์ด๋ค.
์ด ์ฌ์ง์ netflix๊ฐ ๋์์ ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ฅผ ์ด์ํ๋๋ฐ ์ฌ์ฉ๋ MSA ์ฐ๊ฒฐ ๊ตฌ์กฐ์ด๋ค.
๋ํ์ ์ผ๋ก ๊ตญ๋ด์์๋ ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ๊ณผ NHN PAYCO ๋ฑ์ด ์ฐธ์ฌํ๊ณ ์๋๋ฐ, ๊ฐ๊ฐ์ ๋ด์ฉ์ ์๋์ ๋งํฌ์์ ํ์ธํ ์ ์๋ค.
- ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ๋ง์ดํฌ๋ก์๋น์ค ์ ํ๊ธฐ Youtube ์๋ฃ
- PAYCO ์ผํ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ(MSA) ์ ํ๊ธฐ Youtube ์๋ฃ
๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ์์์ MSA์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ๋ด์ฉ์์ ๋๋ถ์ด ์๋น์ค๋ฅผ ์ด์ํจ์ ์์ด ๋ง๋ ์ ์๋ ๋ค์ํ ๋ฌธ์ ๋ค์ ์ด์ผ๊ธฐํ๋ค. ์ด๋ฅผ ํตํด ๋ง์ ๋ด์ฉ์ ๋ฏธ๋ฆฌ ๊ฒฝํํด๋ณผ ์ ์์ผ๋ ๊ฐ์ถ!
์ด๋ฅผ ๋ณด๋ฉด ์ ์ ์๋ฏ, ๋๊ท๋ชจ ๊ธฐ์ ์์ ํด๋น ์๋น์ค๋ฅผ ์ด์ํ๋๋ฐ MSA๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๊ทธ ๋งํผ ์์ ์ ์ธ ์๋น์ค ์ด์์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋งํด์ค๋ค.
MSA์์๋ ์๋น์ค์ ๋ฐ๋ผ ํ๋ก์ ํธ๋ ๋๋๊ณ ํด๋น ํ์ด ๋๋๊ฒ ๋๋ค.
๊ฒฐ๊ตญ ์ด ๋ง์ ๊ฐ๊ฐ์ ํ์์๋ ๊ฐ ์๋น์ค์ ํนํ๋ ์ธ์ด๋ ๊ธฐ์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด๋ค.
- ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ ๋ํ ํตํฉ์ ์ด๊ณ ์์ ์ ์ธ ๊ด๋ฆฌ?
- Spring, Java
- ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ์ฒ๋ฆฌ, ์ธ๊ณต์ง๋ฅ ํ์ต์ ํตํ ์๋ก์ด ์๋น์ค ์ ๊ณต?
- Python, Tensorflow
- ๋์ ์์ฐ์ฑ์ ์ํ ๋น ๋ฅธ ํ๋กํ ํ์
์ ๊ฐ๋ฐ?
- Ruby, Ruby On Rails
- ๋น๋๊ธฐ์ ํนํ๋ ์๋ฒ ๊ฐ๋ฐ?
- Javascript, Node.js
- OS์ ๊ฐ๊น๊ณ ๊ณ ์์ค์ ์ฑ๋ฅ ๊ฐ๋ฐ?
- C/C++/Rust
์ด๋ฐ ์์ผ๋ก ์ด์์ด ๊ฐ๋ฅํ๋ค.
๊ทธ๋ผ ์ง์ง MSA์ ๋ํ ์ ์๋ ๋ญ๊น์?
MSA ์ ๋ํด์๋ aws ์์ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋ด๋ฆฐ๋ค.
๋ง์ดํฌ๋ก์๋น์ค๋ ์ํํธ์จ์ด๊ฐ ์ ์ ์๋ API๋ฅผ ํตํด ํต์ ํ๋ ์๊ท๋ชจ์ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ก ๊ตฌ์ฑ๋์ด ์๋ ๊ฒฝ์ฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ์ํคํ ์ฒ ๋ฐ ์กฐ์ง์ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ์ด๋ฌํ ์๋น์ค๋ ๋ ๋ฆฝ์ ์ธ ์๊ท๋ชจ ํ์์ ๋ณด์ ํฉ๋๋ค.
์ด๋ ๊ฒ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๋์ ํ๋ค๋ฉด ๋ช ๊ฐ์ง์ ์ด์ ์ด ์กด์ฌํ๋ค.
MSA์ ์ฒ ํ์ ๋ญ๊น์?
MSA ์ฒ ํ์ ์ ๋์ค์ ์ฒ ํ๊ณผ ๋งค์ฐ ๋น์ทํ๋ค.
Do one thing and do it well, ํ ๊ฐ์ง ์ผ์ ํ๋ ์ํ๋ผ!
๋ง์ดํฌ๋ก์๋น์ค์ ์ด์ ๋ค
๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ด์ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ๋ค์ด ์กด์ฌํ๋ค.
์ด๋
- ๋ฏผ์ฒฉ์ฑ
- ๋ง์ดํฌ๋ก์๋น์ค๋ ๊ฐ๊ฐ ์๋น์ค๋ฅผ ํ๋์ ๋ ๋ฆฝ์ ์ธ ํ ๋จ์๋ก ๋๋๊ธฐ ๋๋ฌธ์ ์ ์ํ ์ ๋ฌด์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ง๋ค
- ์ ์ฐํ ํ์ฅ์ฑ
- ๋ง์ดํฌ๋ก์๋น์ค๋ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ฅผ ํ์ฅํจ์ ์์ด ์์ ๋กญ๊ธฐ ๋๋ฌธ์ ์๋น์ค๊ฐ ๊ธ์ฆํ๋๋ผ๋ ๊ฐ์ฉ์ฑ์ ์ต๋๋ก ์ ์งํ ์ ์๋ค.
- ์์ฌ์ด ๋ฐฐํฌ
- ๋ง์ดํฌ๋ก์๋น์ค์์ CI์ CD๋ ์ค์ํ ์ญํ ์ ์ํํ๋ค. ๊ทธ์ ๋ฐ๋ผ์ ์ฝ๊ฒ ์ฝ๋๋ฅผ ํ ์คํธํ๊ณ ์ ๋ฐ์ดํธํ์ฌ ์ฌ์ฉ์๋ค์๊ฒ ์ ๊ณตํ ์ ์๋ค.
- ๊ธฐ์ ์ ์ธ ์์
- ์์ ๋ณด์๋ฏ ์๋น์ค์ ํนํ๋ ์ธ์ด๋ก ๊ฐ๋ฐ๋ ์ ์์ด ํด๋น ๊ธฐ์ ์ ํ๋์ ๊ธฐ์ ๋ก ๊ตญํ๋์ง ์๊ฒ๋๋ค.
- ๋ณต์์ฑ
- ์๋น์ค๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์๋๊ธฐ ๋๋ฌธ์ ์คํจ์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํญ์ฑ์ด ์ฆ๊ฐ๋๋ค.
์ผ๋ก ๋๋ ์ ์๋ค.
๋ค์ ์๊ฐ์๋ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ํด์ ๋ ๊น๊ฒ ์์๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ์
๋๊ธ