๐ ์ปจํ ์ด๋ ๊ธฐ๋ฐ์ ์คํ์์ค ๊ฐ์ํ ํ๋ซํผ
Container
OS ๋ ๋ฒจ์ ๊ฐ์ํ๋ก ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌ์์ผ ๋์ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ๋ก๊ทธ๋จ, ์คํํ๊ฒฝ์ ์ปจํ ์ด๋๋ก ์ถ์ํํ๊ณ ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํ๊ฒ ํด์ค๋ค.
๊ฐ์ํ?
์๋ฒ ๊ด๋ฆฌ์ ์ ์ฅ์์ CPU ์ฌ์ฉ๋ฅ ์ด 10%๋ ๋ฐ์ ๋์ง ์๋ ํ์ฉ๋๊ฐ ๋ฎ์ ์๋ฒ๋ค์ ๋ฆฌ์์ค๋ฅผ ๋ญ๋นํ๊ณ ์๋ค. ๊ทธ๋ ๋ค๊ณ ๋ชจ๋ ์๋น์ค๋ฅผ ํ ์๋ฒ ์์ ์ฌ๋ฆฐ๋ค๋ฉด ์์ ์ฑ์ ๋ฌธ์ ๊ฐ ์๊ธธ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. ์ด๋ ์์ ์ฑ์ ๋์ด๋ฉด์ ๋ฆฌ์์ค๋ ์ต๋ํ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ํ๋ ๊ฒ์ด ์๋ฒ ๊ฐ์ํ์ด๋ค.
VM ๊ฐ์ํ ํ๋ซํผ๊ณผ Docker ๊ฐ์ํ ํ๋ซํผ
โ
VM
: Host OS -> Hypervisor( ๊ฐ์ํ ์ํค๊ธฐ ์ํจ ) -> Guest OS
โDocker
: Docker Engine -> ์ดํ๋ฆฌ์ผ์ด์ ์คํ์ ํ์ํ ๋ฐ์ด๋๋ฆฌ
VM
์ ๊ฐ์ํ ๋ ํ๋์จ์ด ์์ OS๊ฐ ์ฌ๋ผ๊ฐ๋ ํํ๋ก ๊ฑฐ์ ์๋ฒฝํ๊ฒ Host์ ๋ถ๋ฆฌ๋๋ค๋ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๋ค. ํ์ง๋ง OS ์์ OS๋ฅผ ์ฌ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ฌด๊ฒ๊ณ ๋๋ฆด ์ ๋ฐ์ ์๋ ๋จ์ ์ ๊ฐ์ง๊ณ ์๋ค.
Docker
๋ Host OS์ Docker Engine ์์์ ๋ฐ๋ก ๋์ํ๋ฉฐ HOST ์ปค๋์ ๊ณต์ ํ๋ฏ๋ก io ์ฒ๋ฆฌ๊ฐ ์ฝ๊ฒ ๋์ด ์ฑ๋ฅ์ ํจ์จ์ ๋์ผ ์ ์๋ค.
์ฆ, ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉ ํ๋ ๊ฒ์ ๊ฐ์ ๋จธ์ ์์ฑ์ด ์๋ HOST OS๊ฐ ์ฌ์ฉํ๋ ์์์ ๋ถ๋ฆฌํ์ฌ ์ฌ๋ฌ ํ๊ฒฝ์ ๋ง๋ค ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค.
Docker ์ฅ์ ๊ณผ ๋จ์
๋จผ์ ์ฅ์ ์ผ๋ก๋ ์์ ๋งํ HOST ์ปค๋ ๊ณต์ ๋ก ์ธํ ์ฑ๋ฅ ํฅ์, ๋ฐ์ด๋ ์ด์์ฑ, ์ฝ๊ฒ Scale Out ํ ์ ์๋ ์ ์ฐ์ฑ์ด ์๋ค. ํ์ง๋ง ์๋์ ์ผ๋ก ๋ณด์์ ์ธ ์ธก๋ฉด์์๋ ๋ถ๋ฆฌํ๊ณ ๋ฉํฐ OS ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
โ
Scale Out?
์๋ฒ๋ฅผ ์ฌ๋ฌ ๋ ์ถ๊ฐํ์ฌ ์์คํ ์ ํ์ฅํ๋ ๋ฐฉ๋ฒ
์๋ฒ๊ฐ ์ฌ๋ฌ ๋๊ฐ ๋๊ธฐ ๋๋ฌธ์ ๊ฐ ์๋ฒ์ ๊ฑธ๋ฆฌ๋ ๋ถํ๋ฅผ ๊ท ๋ฑํ๊ฒ ํด์ฃผ๋ '๋ก๋๋ฐธ๋ฐ์ฑ'์ด ํ์์ ์ผ๋ก ๋๋ฐ๋๋ค.
์๋ฒ ํ ๋๊ฐ ์ฅ์ ๋ก ๋ค์ด๋๋๋ผ๋ ๋ค๋ฅธ ์๋ฒ๋ก ์๋น์ค ์ ๊ณต์ด ๊ฐ๋ฅํ ๋ฐ๋ฉด, ๋ชจ๋ ์๋ฒ๊ฐ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ฏ๋ก, ๋ฐ์ดํฐ ๋ณํ๊ฐ ์ ์ '์น ์๋ฒ'์ ์ ํฉํ ๋ฐฉ์์ด๋ค.
Docker / Kubernetes
Docker
๋ '์ด์ ์ฒด์ ' ์ ์ค์นํ๋ '์ฑ'์ ๊ฐ๋
์ผ๋ก ์ปจํ
์ด๋ํ ๋ฐํ์์ ๋งํ๋ค. Kubernetes
๋ '์ด์ ์ฒด์ ' ๊ฐ๋
์ผ๋ก ์ปจํ
์ด๋ ์ค์ผ์คํธ๋ ์ด์
ํด์ด๋ค. ์ฌ๋ฌ ์ปจํ
์ด๋ ๋ฐํ์์์ ์ปจํ
์ด๋๋ฅผ ์คํํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋ซํผ์ด๋ค. ์ฆ Docker
์ Kubernetes
๋ ์ด๋ ๊ฒ์ ์ ํํ ์ง๊ฐ ์๋๋ผ ํจ๊ป ์ฐ์ด๋ ๊ฒ์ด๋ค !