-
MSA ์ํคํ ์ฒ
-
๊ฐ์ํ ๊ธฐ์ ์ด ๋์จ ์ด์
-
Hypervisor ๊ธฐ๋ฐ์ ๊ฐ์ํ
-
์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ๊ฐ์ํ
-
๋์ปค ์ปจํ ์ด๋์ ๊ฐ์ํ ๊ธฐ์
-
Hypervisor์ ๋น๊ตํ ๋์ปค ์ปจํ ์ด๋ ๊ฐ์ํ ๊ธฐ์
-
๊ทธ๋์ MSA์์๋ ์ด๋ค ๊ธฐ์ ์ด ์ ๋ฆฌํ๊ฐ
-
์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์
MSA ์ํคํ ์ฒ

MSA๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด์ ๋ง์ ์ธ๋ถ ๊ตฌ์ฑ์์๋ค์ด ์ฌ์ฉ๋๋ค.
๊ฐ์ฅ ์๋๋ถํฐ ๊ธฐ๋ฐ์ธ ์ธํ๋ผ ์์ญ, ์ธํ๋ผ ์์ญ ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ๋ํ๊ธฐ ์ํ ํ๋ซํผ ์์ญ, ํ๋ซํผ ์์ญ ์์ ์ ํ๋ฆฌ์ผ์ด์
์์ญ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
๊ฐ์ํ ๊ธฐ์ ์ด ๋์จ ์ด์
์์ ์, ํ๋ด ์ปจํผ๋ฐ์ค์์ ์ด๋ฌํ ์ฃผ์ ๋ก ๋ฐํ๋ฅผ ์งํํ ์ ์ด ์์ด, ํด๋น ์๋ฃ๋ก ๋ค์ ์ ๋ฆฌํ๋ค.
๊ฐ์ ์ธํ๋ผ ํ๊ฒฝ์ ํ์ฉํ ๋, Virtual Machine๊ณผ Container ๊ธฐ๋ฐ Product ์ค์ ํ๋๋ฅผ ์ ํํด์ผ ํ๋ค.
๊ฐ์ํ ๊ธฐ์ ์ด ๋์ค๊ธฐ ์ ์๋
- ํ๋์ ์๋ฒ๋ ํ๋์ ์ฉ๋๋ก๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ๋จ๋ ์๋ฒ ๊ณต๊ฐ์ ๊ทธ๋๋ก ๋ฐฉ์น
- ํ๋์ ์๋ฒ์ ํ๋์ ์ด์์ฒด์ ๋ง ์คํ ๊ฐ๋ฅ
ํ๋ค๋ ์๋นํ ๋นํจ์จ์ ์ธ ๋ฌธ์ ๊ฐ ์์๋ค.
์๋ฒ์ ์ฑ๋ฅ์ ๋๋ ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๊ธฐ ์ํด ๋ฑ์ฅํ๊ฒ ๊ฐ์ํ ๊ธฐ์ ์ด๊ณ , ๊ทธ ์ค์์ Hypervisor ๊ธฐ๋ฐ์ ๊ฐ์ํ๊ฐ ์ถํํ๊ฒ ๋์๋ค.
Hypervisor ๊ธฐ๋ฐ์ ๊ฐ์ํ
Hypervisor๋ ์๋์ ๊ฐ์ ํน์ง์ด ์๋ค.
- ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ณต๊ฐ์ ๋ถํ ํ์ฌ VM์ด๋ผ๋ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ ํ๊ฒฝ์ ์๋ฒ๋ฅผ ์ด์ฉ ๊ฐ๋ฅํ๊ฒ ํจ.
- Host System์์ ๋ค์์ Guest OS๋ฅผ ๊ตฌ๋ํ ์ ์๊ฒ ๋จ.
- H/W๋ฅผ ๊ฐ์ํํ๋ฉด์ H/W์ ๊ฐ๊ฐ์ VM์ ๋ชจ๋ํฐ๋งํ๋ ์ค๊ฐ ๊ด๋ฆฌ์ ์ญํ ์ ํจ.
๋ํ, ๋ ๊ฐ์ง ํ์ ์ด ์กด์ฌํ๋ค. (Bare-Metal Hypervisor, Hosted Hypervisor)
(1) Bare-Metal Hypervisor

Host์ ํ๋์จ์ด์์ ์ง์ ์ค์น๋์ด ๊ตฌ๋๋๋ฉฐ, Guest OS๋ฅผ ๊ด๋ฆฌํ๋ค.
์๋์ ํน์ง ๋๋ฌธ์ Enterprise ๋ฐ์ดํฐ ์ผํฐ์ ์๋ฒ ๊ธฐ๋ฐ ํ๊ฒฝ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ตฌ์กฐ๋ผ๊ณ ์๊ณ ์๋ค.
- ๋ฌผ๋ฆฌ์ HW์ ์ง์ ์ค์น๋๊ธฐ ๋๋ฌธ์ Host OS๋ฅผ ํตํ์ง ์๊ณ ํ๋์จ์ด ์์์ ์ง์ Accessํ๊ฒ ๋๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ์ค์ด๋ ๋ค.
- Host OS๊ฐ ์์ด์ OS ์์ค์์ ๋ฐ์ํ ์ ์๋ ๋ณด์ ์ทจ์ฝ์ ์ด ์๋ค.
- ์ค์ ์ง์ค์ ๊ด๋ฆฌ ๋๊ตฌ์ ํจ๊ป ์ฌ์ฉ๋์ด ํ์ฅ์ฑ์ด ๋๋ค.
(2) Hosted Hypervisor

VMware์ Workstation๊ณผ Oracle์ VirtualBox๊ฐ ์ด ํ์์ด๋ฉฐ, ์ฌ๋ฌ๊ฐ์ง ํน์ง์ด ์๋ค.
์๋์ ํน์ง ๋๋ฌธ์, ์๊ท๋ชจ ๋น์ง๋์ค, ๊ฐ๋ฐ ๋ฐ ํ ์คํ ํ๊ฒฝ, ๊ฐ์ธ ์ฌ์ฉ ํ๊ฒฝ์ ์ํด ์ฌ์ฉ๋๋ค.
- ์ผ๋ฐ์ ์ธ SW์ฒ๋ผ Host OS ์์์ ์คํ๋๋ค.
- HW ์์์ VM ๋ด๋ถ์ Guest OS์ Emulate ํ๋ ๋ฐฉ์์ผ๋ก ์ค๋ฒํค๋๊ฐ ํฌ์ง๋ง, Guest OS ์ข ๋ฅ์ ๋ํ ์ ์ฝ์ด ์๊ณ ๊ตฌํ์ด ์ฝ๋ค.
- Host OS์ ๋ฌธ์ ๊ฐ Guest OS์ ์ํฅ์ ์ค ์ ์๋ค.
- ์ถ๊ฐ์ ์ธ ํ๋์จ์ด ํฌ์ ์์ด ๊ธฐ์กด์ ์ปดํจํ ์์์ ๊ทธ๋๋ก ํ์ฉํ์ฌ ๊ฐ์ํ๋ฅผ ๊ตฌํํ ์ ์๋ค.

์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ๊ฐ์ํ

์ปจํ ์ด๋๋ ๋ฌด์์ผ๊น?
์ปจํ ์ด๋๋ ์ฝ๋์ ๋ชจ๋ ์ข ์์ฑ์ ํจํค์งํํด์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํ๋์ ์ปดํจํ ํ๊ฒฝ์์ ๋ค๋ฅธ ์ปดํจํ ํ๊ฒฝ์ผ๋ก ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์คํ๋๋๋ก ํ๋ SW์ ํ์ค ๋จ์๋ผ๊ณ ํ๋ค.
์ด๋ฌํ Container์์ ๋ค์ํ ํ๋ก๊ทธ๋จ, ์คํํ๊ฒฝ์ ์ถ์ํํ๊ณ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด์ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํ ํ ์ ์๋ค.
๋์ปค ์ปจํ ์ด๋์ ๊ฐ์ํ ๊ธฐ์
๋์ปค๊ฐ ๋ฐ๋ก ์ปจํ ์ด๋ ๊ธฐ๋ฐ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ์คํ์์ค ํ๋ซํผ์ด๋ค.

์๋์ ๊ฐ์ ํน์ง์ด ์๋ค.
- ๋์ปค ์ปจํ ์ด๋๋ Linux ๊ธฐ๋ฐ์ OS์์๋ง ๋์ํ๋ค.
- Hypervisor VM์ฒ๋ผ Docker Engine์ด Host OS ์์์ ๋์ํ๋ค.
- ์ปจํ
์ด๋๊ฐ ์ ๊ณตํ๋ ๊ฒฉ๋ฆฌ ๊ธฐ๋ฅ ๋ด๋ถ์ ์๋๋ฐ์ค๊ฐ ์์ง๋ง, ๊ฒฐ๊ตญ ๊ฐ์ Host์ ๋ค๋ฅธ ์ปจํ
์ด๋์ ๋์ผํ Kernel์ ๊ณต์ ํ๋ค.
โ ์ปค๋์ด๋? -> OS์ ํต์ฌ ๋ถ๋ถ์ด๊ณ , SW์ HW ์ฌ์ด์์ ์ค๊ฐ์ ์ญํ ์ ํ๋ค. ์ปดํจํฐ์ HW ์์(CPU, Memory, I/O Device) ๋ฑ๊ณผ ํต์ ํ๊ณ , ์์คํ ์ ๋ชจ๋ SW ์์ ์ ๊ด๋ฆฌ ๋ฐ ์กฐ์ ํ๋ ์ฑ ์์ ๊ฐ์ง๊ณ ์๋ค. - ์ปจํ ์ด๋ ๋ด๋ถ์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ Host ์์คํ ์์ ๋ณผ ์ ์๋ค.
Hypervisor์ ๋น๊ตํ ๋์ปค ์ปจํ ์ด๋ ๊ฐ์ํ ๊ธฐ์

- Docker๋ VM์ฒ๋ผ Hardware๋ฅผ ๊ฐ์ํํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ, Container๋ฅผ Isolation ์ํค๋ ์ญํ ์ด๋ค.
- Container ์์ฒด์๋ Kernel ๋ฑ์ OS ์ด๋ฏธ์ง๊ฐ ๋ค์ด์์ง ์๋ค.
- Kernel์ Host OS๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ , Host OS์ Container OS์ ๋ค๋ฅธ ๋ถ๋ถ๋ง Container ๋ด์ ๊ฐ์ด Packingํ๋ค.
- Host OS์ Process ๊ณต๊ฐ์ Container์ ๊ณต์ ํ๋ฉฐ ์ค์ ๋ก ์ปจํ ์ด๋์์ ์คํํ ๋ช ๋ น์ด Host OS์์ ์ํ๋๋ค.
์ฐ์ , ์์ ๊ฐ์ Hypervisor์ ๋น๊ตํ์ ๋ ๋์ปค ๊ธฐ์ ์ ๋ํ ์ฐจ์ด์ ์ด ์๋ค.
์ถ๊ฐ์ ์ผ๋ก ๋งํ์๋ฉด, Linux๊ฐ ์๋ ํ๊ฒฝ์์ ๋์ปค๋ฅผ ์ค์นํ ๋ Light Weight Linux๊ฐ ํจ๊ป ์ค์น๋๋ค.
๋ํ, ๋ง์ฝ ์ปจํ
์ด๋ ๋ด๋ถ์์ Host OS์ ๋ค๋ฅธ Cent OS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, Cent OS์ ์ ์ฒด ์ด๋ฏธ์ง๊ฐ ํจ๊ป ์ปจํ
์ด๋์ ์
๋ก๋ ๋๋๊ฒ ์๋๋ผ Host OS ๋๋ Light Weight Linux์ ๋ค๋ฅธ ๋ถ๋ถ๋ง ํจํค์ง๋์ด ์
๋ก๋๋๋ค.
๊ทธ๋์ MSA์์๋ ์ด๋ค ๊ธฐ์ ์ด ์ ๋ฆฌํ๊ฐ
๊ฒฐ๊ตญ, MSA์์๋ VM๊ณผ ์ปจํ ์ด๋ ๊ธฐ์ ์ค ์ด๋ค ๊ฒ์ด ์ ๋ฆฌํ ๊น?
์ฐจ์ด๋, ์ฐ์ Guest OS์ ์ ๋ฌด์ ๋ฌ๋ ค์๋ค.
Guest OS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ VM์์๋ ์ด์์ฒด์ ์ ์ค์น๋ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๊ฐ์ ์ค๋ฒํค๋๊ฐ ์ง์์ ์ผ๋ก ๋ฐ์ํ๋ค.
๋ฐ๋ผ์, Micro Service Architecture์ ๊ฐ์ด ์์ ์๋น์ค๋ฅผ ํจํค์งํ๊ณ ๋ฐฐํฌํ๊ธฐ์๋ ์ปจํ ์ด๋ ํ๊ฒฝ์ด ๋ ์ ํฉํ๋ค.
์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์
MSA๋ฅผ ์ ์ฉํ๊ณ ๋ง์ ์ปจํ ์ด๋๊ฐ ์๊ฒผ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
์ปจํ ์ด๋๊ฐ ๋ง์์ง์๋ก ์๋์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ด๋ ค์์ง๋ค.
์ด๋ฅผ ์ํด, ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋์ ์๋ ๋ฐฐ์น ๋ฐ ๋ณต์ , ์ฅ์ ๋ณต๊ตฌ, ํ์ฅ ๋ฐ ์ถ์, ์ปจํ ์ด๋๊ฐ ํต์ , ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฑ์ ๊ด๋ฆฌํ๋ค.
๋ํ์ ์ผ๋ก, Docker Swarm๊ณผ Kubernetes๊ฐ ์ฌ์ฉ๋๋ค.
ํ์ง๋ง, Docker Swarm์ ์์ฒด์ ์ผ๋ก ์ธ์คํด์ค๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๊ฑฐ๋ ํ ์๋ ์์ผ๋ฏ๋ก, ๋ ๋ง์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ค๋ฉด Kubernetes๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.


์ฟ ๋ฒ๋คํฐ์ค์ ๋ํด์๋ ์ถํ์ ๋ ๋ง์ ๊ณต๋ถ๋ฅผ ํ๊ณ ์ ๋ฆฌํ ์์ ์ด๋ค.
'๐ท๐ป Architecture' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
MSA ์ํคํ ์ฒ

MSA๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด์ ๋ง์ ์ธ๋ถ ๊ตฌ์ฑ์์๋ค์ด ์ฌ์ฉ๋๋ค.
๊ฐ์ฅ ์๋๋ถํฐ ๊ธฐ๋ฐ์ธ ์ธํ๋ผ ์์ญ, ์ธํ๋ผ ์์ญ ์์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ๋ํ๊ธฐ ์ํ ํ๋ซํผ ์์ญ, ํ๋ซํผ ์์ญ ์์ ์ ํ๋ฆฌ์ผ์ด์
์์ญ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
๊ฐ์ํ ๊ธฐ์ ์ด ๋์จ ์ด์
์์ ์, ํ๋ด ์ปจํผ๋ฐ์ค์์ ์ด๋ฌํ ์ฃผ์ ๋ก ๋ฐํ๋ฅผ ์งํํ ์ ์ด ์์ด, ํด๋น ์๋ฃ๋ก ๋ค์ ์ ๋ฆฌํ๋ค.
๊ฐ์ ์ธํ๋ผ ํ๊ฒฝ์ ํ์ฉํ ๋, Virtual Machine๊ณผ Container ๊ธฐ๋ฐ Product ์ค์ ํ๋๋ฅผ ์ ํํด์ผ ํ๋ค.
๊ฐ์ํ ๊ธฐ์ ์ด ๋์ค๊ธฐ ์ ์๋
- ํ๋์ ์๋ฒ๋ ํ๋์ ์ฉ๋๋ก๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- ๋จ๋ ์๋ฒ ๊ณต๊ฐ์ ๊ทธ๋๋ก ๋ฐฉ์น
- ํ๋์ ์๋ฒ์ ํ๋์ ์ด์์ฒด์ ๋ง ์คํ ๊ฐ๋ฅ
ํ๋ค๋ ์๋นํ ๋นํจ์จ์ ์ธ ๋ฌธ์ ๊ฐ ์์๋ค.
์๋ฒ์ ์ฑ๋ฅ์ ๋๋ ์ ์ฌ์ฉํ ์ ์๊ฒ ํ๊ธฐ ์ํด ๋ฑ์ฅํ๊ฒ ๊ฐ์ํ ๊ธฐ์ ์ด๊ณ , ๊ทธ ์ค์์ Hypervisor ๊ธฐ๋ฐ์ ๊ฐ์ํ๊ฐ ์ถํํ๊ฒ ๋์๋ค.
Hypervisor ๊ธฐ๋ฐ์ ๊ฐ์ํ
Hypervisor๋ ์๋์ ๊ฐ์ ํน์ง์ด ์๋ค.
- ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ณต๊ฐ์ ๋ถํ ํ์ฌ VM์ด๋ผ๋ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ ํ๊ฒฝ์ ์๋ฒ๋ฅผ ์ด์ฉ ๊ฐ๋ฅํ๊ฒ ํจ.
- Host System์์ ๋ค์์ Guest OS๋ฅผ ๊ตฌ๋ํ ์ ์๊ฒ ๋จ.
- H/W๋ฅผ ๊ฐ์ํํ๋ฉด์ H/W์ ๊ฐ๊ฐ์ VM์ ๋ชจ๋ํฐ๋งํ๋ ์ค๊ฐ ๊ด๋ฆฌ์ ์ญํ ์ ํจ.
๋ํ, ๋ ๊ฐ์ง ํ์ ์ด ์กด์ฌํ๋ค. (Bare-Metal Hypervisor, Hosted Hypervisor)
(1) Bare-Metal Hypervisor

Host์ ํ๋์จ์ด์์ ์ง์ ์ค์น๋์ด ๊ตฌ๋๋๋ฉฐ, Guest OS๋ฅผ ๊ด๋ฆฌํ๋ค.
์๋์ ํน์ง ๋๋ฌธ์ Enterprise ๋ฐ์ดํฐ ์ผํฐ์ ์๋ฒ ๊ธฐ๋ฐ ํ๊ฒฝ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๊ตฌ์กฐ๋ผ๊ณ ์๊ณ ์๋ค.
- ๋ฌผ๋ฆฌ์ HW์ ์ง์ ์ค์น๋๊ธฐ ๋๋ฌธ์ Host OS๋ฅผ ํตํ์ง ์๊ณ ํ๋์จ์ด ์์์ ์ง์ Accessํ๊ฒ ๋๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ์ค์ด๋ ๋ค.
- Host OS๊ฐ ์์ด์ OS ์์ค์์ ๋ฐ์ํ ์ ์๋ ๋ณด์ ์ทจ์ฝ์ ์ด ์๋ค.
- ์ค์ ์ง์ค์ ๊ด๋ฆฌ ๋๊ตฌ์ ํจ๊ป ์ฌ์ฉ๋์ด ํ์ฅ์ฑ์ด ๋๋ค.
(2) Hosted Hypervisor

VMware์ Workstation๊ณผ Oracle์ VirtualBox๊ฐ ์ด ํ์์ด๋ฉฐ, ์ฌ๋ฌ๊ฐ์ง ํน์ง์ด ์๋ค.
์๋์ ํน์ง ๋๋ฌธ์, ์๊ท๋ชจ ๋น์ง๋์ค, ๊ฐ๋ฐ ๋ฐ ํ ์คํ ํ๊ฒฝ, ๊ฐ์ธ ์ฌ์ฉ ํ๊ฒฝ์ ์ํด ์ฌ์ฉ๋๋ค.
- ์ผ๋ฐ์ ์ธ SW์ฒ๋ผ Host OS ์์์ ์คํ๋๋ค.
- HW ์์์ VM ๋ด๋ถ์ Guest OS์ Emulate ํ๋ ๋ฐฉ์์ผ๋ก ์ค๋ฒํค๋๊ฐ ํฌ์ง๋ง, Guest OS ์ข ๋ฅ์ ๋ํ ์ ์ฝ์ด ์๊ณ ๊ตฌํ์ด ์ฝ๋ค.
- Host OS์ ๋ฌธ์ ๊ฐ Guest OS์ ์ํฅ์ ์ค ์ ์๋ค.
- ์ถ๊ฐ์ ์ธ ํ๋์จ์ด ํฌ์ ์์ด ๊ธฐ์กด์ ์ปดํจํ ์์์ ๊ทธ๋๋ก ํ์ฉํ์ฌ ๊ฐ์ํ๋ฅผ ๊ตฌํํ ์ ์๋ค.

์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ๊ฐ์ํ

์ปจํ ์ด๋๋ ๋ฌด์์ผ๊น?
์ปจํ ์ด๋๋ ์ฝ๋์ ๋ชจ๋ ์ข ์์ฑ์ ํจํค์งํํด์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํ๋์ ์ปดํจํ ํ๊ฒฝ์์ ๋ค๋ฅธ ์ปดํจํ ํ๊ฒฝ์ผ๋ก ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์คํ๋๋๋ก ํ๋ SW์ ํ์ค ๋จ์๋ผ๊ณ ํ๋ค.
์ด๋ฌํ Container์์ ๋ค์ํ ํ๋ก๊ทธ๋จ, ์คํํ๊ฒฝ์ ์ถ์ํํ๊ณ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํด์ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํ ํ ์ ์๋ค.
๋์ปค ์ปจํ ์ด๋์ ๊ฐ์ํ ๊ธฐ์
๋์ปค๊ฐ ๋ฐ๋ก ์ปจํ ์ด๋ ๊ธฐ๋ฐ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ์คํ์์ค ํ๋ซํผ์ด๋ค.

์๋์ ๊ฐ์ ํน์ง์ด ์๋ค.
- ๋์ปค ์ปจํ ์ด๋๋ Linux ๊ธฐ๋ฐ์ OS์์๋ง ๋์ํ๋ค.
- Hypervisor VM์ฒ๋ผ Docker Engine์ด Host OS ์์์ ๋์ํ๋ค.
- ์ปจํ
์ด๋๊ฐ ์ ๊ณตํ๋ ๊ฒฉ๋ฆฌ ๊ธฐ๋ฅ ๋ด๋ถ์ ์๋๋ฐ์ค๊ฐ ์์ง๋ง, ๊ฒฐ๊ตญ ๊ฐ์ Host์ ๋ค๋ฅธ ์ปจํ
์ด๋์ ๋์ผํ Kernel์ ๊ณต์ ํ๋ค.
โ ์ปค๋์ด๋? -> OS์ ํต์ฌ ๋ถ๋ถ์ด๊ณ , SW์ HW ์ฌ์ด์์ ์ค๊ฐ์ ์ญํ ์ ํ๋ค. ์ปดํจํฐ์ HW ์์(CPU, Memory, I/O Device) ๋ฑ๊ณผ ํต์ ํ๊ณ , ์์คํ ์ ๋ชจ๋ SW ์์ ์ ๊ด๋ฆฌ ๋ฐ ์กฐ์ ํ๋ ์ฑ ์์ ๊ฐ์ง๊ณ ์๋ค. - ์ปจํ ์ด๋ ๋ด๋ถ์์ ์คํ๋๋ ํ๋ก์ธ์ค๋ Host ์์คํ ์์ ๋ณผ ์ ์๋ค.
Hypervisor์ ๋น๊ตํ ๋์ปค ์ปจํ ์ด๋ ๊ฐ์ํ ๊ธฐ์

- Docker๋ VM์ฒ๋ผ Hardware๋ฅผ ๊ฐ์ํํด์ฃผ๋ ๊ฒ์ด ์๋๋ผ, Container๋ฅผ Isolation ์ํค๋ ์ญํ ์ด๋ค.
- Container ์์ฒด์๋ Kernel ๋ฑ์ OS ์ด๋ฏธ์ง๊ฐ ๋ค์ด์์ง ์๋ค.
- Kernel์ Host OS๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ , Host OS์ Container OS์ ๋ค๋ฅธ ๋ถ๋ถ๋ง Container ๋ด์ ๊ฐ์ด Packingํ๋ค.
- Host OS์ Process ๊ณต๊ฐ์ Container์ ๊ณต์ ํ๋ฉฐ ์ค์ ๋ก ์ปจํ ์ด๋์์ ์คํํ ๋ช ๋ น์ด Host OS์์ ์ํ๋๋ค.
์ฐ์ , ์์ ๊ฐ์ Hypervisor์ ๋น๊ตํ์ ๋ ๋์ปค ๊ธฐ์ ์ ๋ํ ์ฐจ์ด์ ์ด ์๋ค.
์ถ๊ฐ์ ์ผ๋ก ๋งํ์๋ฉด, Linux๊ฐ ์๋ ํ๊ฒฝ์์ ๋์ปค๋ฅผ ์ค์นํ ๋ Light Weight Linux๊ฐ ํจ๊ป ์ค์น๋๋ค.
๋ํ, ๋ง์ฝ ์ปจํ
์ด๋ ๋ด๋ถ์์ Host OS์ ๋ค๋ฅธ Cent OS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ๊ฐ์ ํ๋ฉด, Cent OS์ ์ ์ฒด ์ด๋ฏธ์ง๊ฐ ํจ๊ป ์ปจํ
์ด๋์ ์
๋ก๋ ๋๋๊ฒ ์๋๋ผ Host OS ๋๋ Light Weight Linux์ ๋ค๋ฅธ ๋ถ๋ถ๋ง ํจํค์ง๋์ด ์
๋ก๋๋๋ค.
๊ทธ๋์ MSA์์๋ ์ด๋ค ๊ธฐ์ ์ด ์ ๋ฆฌํ๊ฐ
๊ฒฐ๊ตญ, MSA์์๋ VM๊ณผ ์ปจํ ์ด๋ ๊ธฐ์ ์ค ์ด๋ค ๊ฒ์ด ์ ๋ฆฌํ ๊น?
์ฐจ์ด๋, ์ฐ์ Guest OS์ ์ ๋ฌด์ ๋ฌ๋ ค์๋ค.
Guest OS๋ฅผ ์ฌ์ฉํด์ผ ํ๋ VM์์๋ ์ด์์ฒด์ ์ ์ค์น๋ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๊ฐ์ ์ค๋ฒํค๋๊ฐ ์ง์์ ์ผ๋ก ๋ฐ์ํ๋ค.
๋ฐ๋ผ์, Micro Service Architecture์ ๊ฐ์ด ์์ ์๋น์ค๋ฅผ ํจํค์งํ๊ณ ๋ฐฐํฌํ๊ธฐ์๋ ์ปจํ ์ด๋ ํ๊ฒฝ์ด ๋ ์ ํฉํ๋ค.
์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์
MSA๋ฅผ ์ ์ฉํ๊ณ ๋ง์ ์ปจํ ์ด๋๊ฐ ์๊ฒผ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
์ปจํ ์ด๋๊ฐ ๋ง์์ง์๋ก ์๋์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ด๋ ค์์ง๋ค.
์ด๋ฅผ ์ํด, ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋์ ์๋ ๋ฐฐ์น ๋ฐ ๋ณต์ , ์ฅ์ ๋ณต๊ตฌ, ํ์ฅ ๋ฐ ์ถ์, ์ปจํ ์ด๋๊ฐ ํต์ , ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋ฑ์ ๊ด๋ฆฌํ๋ค.
๋ํ์ ์ผ๋ก, Docker Swarm๊ณผ Kubernetes๊ฐ ์ฌ์ฉ๋๋ค.
ํ์ง๋ง, Docker Swarm์ ์์ฒด์ ์ผ๋ก ์ธ์คํด์ค๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ด๊ฑฐ๋ ํ ์๋ ์์ผ๋ฏ๋ก, ๋ ๋ง์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ ค๋ฉด Kubernetes๋ฅผ ์ด์ฉํ๋ฉด ๋๋ค.


์ฟ ๋ฒ๋คํฐ์ค์ ๋ํด์๋ ์ถํ์ ๋ ๋ง์ ๊ณต๋ถ๋ฅผ ํ๊ณ ์ ๋ฆฌํ ์์ ์ด๋ค.