
๋์ปคโ
Go ์ธ์ด๋ก ์์ฑ๋ ๋ฆฌ๋
์ค ์ปจํ
์ด๋ ๊ธฐ๋ฐ์ ์คํ ์์ค ๊ฐ์ํ ํ๋ซํผ
์ปจํ
์ด๋โ
๋
ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ(์ปจํ
์ด๋)์ ๋ง๋ค์ด ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์
์ ์ค์นํด ํ๋์ ์๋ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ ํจํค์ง์
๋๋ค.
์ฆ, ๋ฌผ๋ฅ์์ ์ฌ์ฉํ๋ ์ปจํ
์ด๋ ์ฒ๋ผ ํ๋์ ๊ณต๊ฐ์ ๋ค์ํ ๋ฌผ๊ฑด์ ๋ด์ ์ฎ๊ธฐ๊ณ , ๊ฐ ์๋ฒ์์ ํ์ํ ์ปจํ
์ด๋๋ฅผ ๊ตฌ๋ํด ๊ทธ ์์ ์กด์ฌํ๋ ์ดํ๋ฆฌ์ผ์ด์
์ ๋ณ๋์ ์ค์ ์์ด ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด๋ฏธ์งโ
์ปจํ
์ด๋ ์คํ์ ํ์ํ ํ์ผ๊ณผ ์ค์ ๊ฐ๋ฑ์ ํฌํจํ๊ณ ์๋ ๋ณํ์ง ์๋ ์ํ
๐ฅ VM
๊ฐ์ํ ๊ธฐ์ ์ ๋์ฒด๋ก ํ์ดํผ๋ฐ์ด์ ๊ธฐ๋ฐ์ ๊ฐ์ํ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
ํ์ดํผ๋ฐ์ด์ ๋ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ถํ ๋ ๊ณต๊ฐ์์, VM์ด๋ผ๋ ๋ ๋ฆฝ๋ ๊ฐ์ํ๊ฒฝ์ ๋ง๋ค๊ณ , ํธ์คํธ์์คํ ์์ VM์ ๊น๋ฆฐ ๊ฒ์คํธOS๋ฅผ ๊ตฌ๋๋ฐ ๋ชจ๋ํฐ๋ง ํ๋ ์ญํ ์ ํ๋ค.
์์) ์๋์ฐ ์ด์์ฒด์ ์์ ์ฐ๋ถํฌ, ์นผ๋ฆฌ ๋ฆฌ๋ ์ค๋ฅผ Virtual Box๋ก ๋๋ฆฐ๋ค๊ณ ๊ฐ์ ํ์ ๋
ยท VM : ์ฐ๋ถํฌ, ์นผ๋ฆฌ๋ฅผ ์ํ ๋ณ๋์ ๊ณต๊ฐ
ยท Host System OS : ์๋์ฐ
ยท GuestOS : ์ฐ๋ถํฌ, ์นผ๋ฆฌ ๋ฆฌ๋
์ค
ยท Hypervisior : ๊ฒ์คํธOS๋ฅผ ๊ตฌ๋ ๋ฐ ๋ชจ๋ํฐ๋ง
๐ฅ Docker
Docker ์ปจํ ์ด๋๋ HostOS์ ์ปค๋์ ๊ณต์ ํ๋ค.
Docker์์๋ ํ๋์ ๋ฆฌ๋ ์ค์ปค๋์ ๊ณต์ ํ๊ณ ์๊ณ , ์ด๋๋ฌธ์ Host์์๋ Container๋ด๋ถ๋ฅผ ํ์ธํ ์ ์๋ค
์ฌ๊ธฐ์ ๋ช๊ฐ์ง ๊ถ๊ธ์ฆ์ด ์๊ธธ ์ ์๋ค
Q1. HostOS์ ์ปค๋์ ๊ณต์ ํ๋๋ฐ ๊ฐ ์ปจํ ์ด๋๋ ์ด๋ป๊ฒ ๊ตฌ๋ถํ ๊น?
Q2. ๋ง์ฝ Host OS๋ก ๋ฆฌ๋ ์ค๋ฅผ ์ฐ๋๊ฒ์ด ์๋ macOS / Windows๋ฅผ ์ด๋ค๋ฉด ์ด๋ป๊ฒ ์ปจํ ์ด๋๋ฅผ ๋ถ๋ฆฌํ ์ ์์๊น?
A1. Linux namespace๋ฅผ ์ด์ฉํด ๊ตฌ๋ถํ๋ค
A2. DockerEngine์ ์ฌ์ฉํ๋ค
๐ก
Linux namespace
Linux namespace๋ ์ปค๋์์ ์ ๊ณตํ๊ณ ์์ผ๋ฉฐ, ํ๋์ ์์คํ
์์ ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌ(Isolation)์ํฌ ์ ์๋ ๊ฐ์ํ ๊ธฐ์
๐ก
DockerEngine
DockerEngine์ ๋ ๋ค๋ฅธ ํ๋์ VM์ด๋ค.
DockerEngine์ GuestOS๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , GuestOS๊ฐ ๋ฆฌ๋
์ค๊ฐ ๋๋ฉด, macOS / Windows ๋์ HostOS๋ก์จ ์ญํ ์ ์ํํ๋ค

ยท ํ์
ํ์๋ค๊ณผ ํ์
ํ๋ค ๋ณด๋ฉด ์ธ์ด๋ ํ๋ ์์ํฌ์ ๋ฒ์ ์ด ๋ฌ๋ผ ์ค๋ฅ๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์๋ค.
๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค.
๋์ปค ์ด๋ฏธ์ง์ ์ธ์ด๋ ํ๋ ์์ํฌ ๋ฒ์ ์ ๋ฏธ๋ฆฌ ๋ชจ๋ ์ ํด๋์ ์ ์๊ณ ํด๋น ์ด๋ฏธ์ง๋ฅผ ์ปจํ
์ด๋ํ ์ํค๋ฉด ๊ทธ ์ปจํ
์ด๋๋ ๋ก์ปฌ ํ๊ฒฝ์ ๊ฐ์ญ ์์ด ๋
๋ฆฝ์ ์ผ๋ก ๊ตฌ๋ํ๊ธฐ ๋๋ฌธ์ ์์ ๊ฐ์ ๊ฑฑ์ ์ ํ ํ์๊ฐ ์ฌ๋ผ์ง๋ค.
ยท Scale-out
์ค์ผ์ผ ์์(Scale-out)์ ์ฅ๋น๋ฅผ ์ถ๊ฐํด์ ํ์ฅํ๋ ๋ฐฉ์์ ๋งํ๋ค.
๊ธฐ์กด ์๋ฒ๋ง์ผ๋ก ์ฉ๋์ด๋ ์ฑ๋ฅ์ ํ๊ณ์ ๋๋ฌํ์ ๋, ๋น์ทํ ์ฌ์์ ์๋ฒ๋ฅผ ์ถ๊ฐ๋ก ์ฐ๊ฒฐํ๋ฉด ์ฒ๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ ์ฉ๋์ด ์ฆ๊ฐํ ๋ฟ๋ง ์๋๋ผ ๊ธฐ์กด ์๋ฒ์ ๋ถํ๋ฅผ ๋ถ๋ดํด ์ฑ๋ฅ ํฅ์์ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ ์ ์๋ค.
๋ง์ฝ ๋ด๊ฐ ์๋ฒ์์ ๋ฐฐํฌํ๊ณ ์๋ ์๋น์ค์ ์ธ๊ธฐ๊ฐ ๋ง์์ ธ ์๋ฒ๋ฅผ ๋๋ คํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด ๋ ์๋ก์ด ์๋ฒ์ ํ๋ ํ๋ ์ ์๋ฒ์์ ์ฐ๋ ์ธ์ด์ ํ๋ ์์ํฌ๋ฅผ ์ค์นํ๊ฒ ๋๋ฉด ๋งค์ฐ ๊ท์ฐฎ์ ์ผ์ด ๋ ๊ฒ์ด๋ค.
์ด ๋ ๋์ปค๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ด๋ฏธ์ง๋ง์ ๊ฐ์ ธ์ ์๋ก์ด ์๋ฒ์ ์ปจํ ์ด๋๋ฅผ ๋ง๋ค์ด ์ฝ๊ฒ ๋์ผํ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค.
ยท ์์์ , ์ฑ๋ฅ์
๋์ปค๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅธ ์คํ ์๋๋ฅผ ๊ฐ์ง๋ค.
์์ ๋น๊ต์์ ๋ณด์๋ฏ์ด ์๋กญ๊ฒ ์ปค๋ OS๋ฅผ ์์ฑํ์ง ์๊ณ ๊ธฐ์กด์ ์ปค๋ OS ์์์ ์ฌ์ฉํ๋ค. ๋ํ ๊ฐ ํ๊ฒฝ๋ง๋ค ์ฌ์ฉํ ์ ์๋ ์์์ด ๊ณ ์ ์ผ๋ก ์ ํด์ ธ ์์ง ์์ ์ ๋์ ์ผ๋ก ๋ณํ ์ ์๋ค. ์ด๋ฌํ ์ด์ ๋ก ๊ธฐ์กด์ ๊ฐ์ํ ๋ฐฉ์๋ณด๋ค ํจ์ฌ ์์์ , ์ฑ๋ฅ์ ์ผ๋ก ๋ฐ์ด๋ ์ ๋ฐ์ ์๋ค.
๐ ์ฐธ๊ณ
https://kk-7790.tistory.com/135
https://jjongguet.tistory.com/79
https://tecoble.techcourse.co.kr/post/2021-10-12-scale-up-scale-out/