๊ฐ์ํ (Virtualization)
๋จ์ผํ ๋ฌผ๋ฆฌ ํ๋์จ์ด ์์คํ
์ ์ฌ๋ฌ ์๋ฎฌ๋ ์ด์
ํ๊ฒฝ์ด๋ ์ ์ฉ ๋ฆฌ์์ค๋ฅผ ์์ฑํ ์ ์๋ ๊ธฐ์
ํ ๋์ ๋ฌผ๋ฆฌ์ ์ธ ์ฅ๋น๋ฅผ ๋ง์น ์ฌ๋ฌ ๋์ ์ฅ๋น์ฒ๋ผ ํ์ฉํ๊ฑฐ๋, ์ฌ๋ฌ ์ฅ๋น๋ฅผ ํ๋์ ์ฅ๋น์ฒ๋ผ ๋ฌถ์ด์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ฑ์ฅ
๊ฐ์ํ์ ๋์์ด ๋๋ ์ปดํจํ
์์์ ํ๋ก์ธ์(CPU), ๋ฉ๋ชจ๋ฆฌ(Memory), ์คํ ๋ฆฌ์ง(Storage), ๋คํธ์ํฌ(Network) ๋ฑ์ ํฌํจํ๋ฉฐ, ์ด๋ค๋ก ๊ตฌ์ฑ๋ ์๋ฒ๋ ์ฅ์น๋ค์ ๊ฐ์ํํจ์ผ๋ก์จ ๋์ ์์ค์ ์์ ์ฌ์ฉ๋ฅ ๊ณผ ๋ถ์ฐ ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ์ป์ ์ ์์
ํ์ดํผ๋ฐ์ด์ ๊ธฐ๋ฐ ๊ฐ์ํ
ํ์ดํผ๋ฐ์ด์ (Hypervisor)
ํธ์คํธ ์์คํ
์์ ๋ค์์ ๊ฒ์คํธ OS๋ฅผ ๊ตฌ๋ํ ์ ์๊ฒ ํ๋ ์ํํธ์จ์ด
ํ๋์จ์ด๋ฅผ ๊ฐ์ํํ๋ฉด์ ํ๋์จ์ด์ ๊ฐ๊ฐ์ VM์ ๋ชจ๋ํฐ๋งํ๋ ์ค๊ฐ ๊ด๋ฆฌ์
VMM(Virtual Machine Monitor)์ผ๋ก ๋ถ๋ฆฌ๊ธฐ๋ ํจ
๋ณดํต, ๊ฐ์๋จธ์ (VM)์ ์ด์ผ๊ธฐํ๋ ๊ฒ์ ํ์ดํผ๋ฐ์ด์ ๊ธฐ๋ฐ ๊ฐ์ํ๋ฅผ ์๋ฏธํจ
ํ์ดํผ๋ฐ์ด์ ์ข
๋ฅ
Type 1 : ๋ค์ดํฐ๋ธ/๋ฒ ์ด๋ฉํ or ํ์ดํผ๋ฐ์ด์ ํ ๊ฐ์ํ
ํ์ดํผ๋ฐ์ด์ ๊ฐ ํ๋์จ์ด ๋ฐ๋ก ์์์ ์คํ๋๋ ๋ฐฉ์
์ฅ์
๋ณ๋์ Host OS๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ค๋ฒํค๋๊ฐ ์ ๊ณ , ํ๋์จ์ด๋ฅผ ์ง์ ์ ์ดํ๊ธฐ ๋๋ฌธ์ ํจ์จ์ ์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์์
๋จ์
์์ฒด์ ์ผ๋ก ๋จธ์ ์ ๋ํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด ์๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ์ ํ์ํ ์ปดํจํฐ๋ ์ฝ์์ด ํ์ํ๋ฉฐ ์ฌ๋ฌ ํ๋์จ์ด ๋๋ผ์ด๋ฒ๋ฅผ ์ธํ
ํด์ผ ํ๋ฏ๋ก ์ค์น๊ฐ ์ด๋ ค์
Oracle VM Server for X86, VMware์ ESX/ESX i Server, Citrix Xenserver, Oracle์ VM Server, ๋ง์ดํฌ๋ก์ํํธ์ Hyper-V, Virtual Iron, Parallels์ Parallels Server ๋ฑ์ด ์ด์ ํด๋น
์ ๊ฐ์ํ ์ ๋ฐ๊ฐ์ํ ๋ก ๋๋์ด์ง
์ ๊ฐ์ํ
ํ๋์จ์ด๋ฅผ ์์ ํ ๊ฐ์ํํ๋ ๋ฐฉ์
DOM0๋ผ๊ณ ํ๋ ๊ด๋ฆฌ์ฉ ๊ฐ์๋จธ์ ์ด ๊ตฌ๋๋๋ฉฐ ๋ชจ๋ ๊ฐ์ ๋จธ์ ๋ค์ ํ๋์จ์ด ์ ๊ทผ์ด DOM0๋ฅผ ํตํด ์ด๋ฃจ์ด์ง
์ฅ์
ํ๋์จ์ด๋ฅผ ์์ ํ ๊ฐ์ํํ๊ธฐ ๋๋ฌธ์ ๊ฒ์คํธ OS์ ๋ณ๋ค๋ฅธ ์์ ์์ด ์ฌ์ฉ ๊ฐ๋ฅ
๋จ์
ํ์ดํผ๋ฐ์ด์ ๊ฐ ๋ชจ๋ ๋ช
๋ น์ ์ค์ฌํด์ผํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด ๋น๊ต์ ๋๋ฆผ
๋ฐ๊ฐ์ํ
ํ๋์จ์ด๋ฅผ ์์ ํ ๊ฐ์ํํ์ง ์๋ ๋ฐฉ์
๋ชจ๋ ๋ช
๋ น์ DOM0 ๋์ ํ์ดํผ์ฝ(Hyper Call) ์ด๋ผ๋ ์ธํฐํ์ด์ค๋ก ํ์ดํผ๋ฐ์ด์ ์๊ฒ ์์ฒญ
์ฅ์
์ ๊ฐ์ํ์ ๋นํด์ ๋น ๋ฆ
๋จ์
ํ์ดํผ๋ฐ์ด์ ์๊ฒ Hyper Call ์์ฒญ์ ํ ์ ์๋๋ก ๊ฐ OS์ ์ปค๋์ ์์ ํด์ผํจ
์คํ์์ค OS๊ฐ ์๋๋ฉด ๋ฐ๊ฐ์ํ๋ฅผ ์ด์ฉํ๊ธฐ๊ฐ ์ฝ์ง ์์
Type 2 : ํธ์คํธ(Host) ํ
ํ๋์จ์ด ์์ ํธ์คํธ ์ด์์ฒด์ (Host OS)๊ฐ ์๊ณ , ๊ทธ ์์์ ํ์ดํผ๋ฐ์ด์ ๊ฐ ๋ค๋ฅธ ์์ฉํ๋ก๊ทธ๋จ๊ณผ ์ ์ฌํ ํํ๋ก ๋์
๊ธฐ์กด์ ์ปดํจํฐ ํ๊ฒฝ์์ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ํ์ฉํ๋ ๊ฒ์ด๊ธฐ์ ์ค์น๊ฐ ์ฉ์ด ํ๊ณ ๊ตฌ์ฑ์ด ํธ๋ฆฌ
ํธ์คํธ OS-ํ์ดํผ๋ฐ์ด์ -๊ฐ์์ ํ๋์จ์ด ์๋ฎฌ๋ ์ดํ
๊ณผ์ ์ด ์์ผ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ํผ
VM Workstation, VMware Server, VMware Player, MS Virtual Sever, Virtual PC, Virtual Box, Paralles Workstation ๋ฑ
ํ์ดํผ๋ฐ์ด์ ๊ฐ์ํ ํน์ง
๊ฐ VM๋ง๋ค ๋
๋ฆฝ๋ ๊ฐ์ ํ๋์จ์ด ์์์ ํ ๋นํ์ฌ ๋
๋ฆฝ์ ์ธ ์คํ ํ๊ฒฝ์ ๊ฐ์ง
๊ฐ VM๋ง๋ค ์ต์ GB ๋จ์์ ๊ณต๊ฐ์ด ํ์ํ๋ฉฐ, VM ์์ ๋น๋กํด์ ์ฆ๊ฐ
OS ํจ์น ์ค์น๋ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น ๊ฐ์ ์ค๋ฒํค๋๊ฐ ์ง์์ ์ผ๋ก ๋ฐ์
์ ๊ฐ์ํ์ ๋๋ฆฐ ์๋๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ฐ๊ฐ์ํ ๋ฐฉ์์ ์ด์ฉํ๋ ๋๋ฆผ
AWS EC2, Azure VM ๋ฑ์ด ์ด์ ํด๋น
์ปจํ
์ด๋ ๊ธฐ๋ฐ ๊ฐ์ํ
์ปจํ
์ด๋ (Container)
์ดํ๋ฆฌ์ผ์ด์
(App)๊ณผ App์ ๊ตฌ๋ํ๋ ํ๊ฒฝ์ ๊ฒฉ๋ฆฌํ ๊ณต๊ฐ ์ ์๋ฏธ
๊ธฐ์กด์ ๋๋ฆฐ ํ์ดํผ๋ฐ์ด์ ๋ฐฉ์์ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋ก์ธ์ค๋ฅผ ๊ฒฉ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ์๋
์ปจํ
์ด๋๋ ํธ์คํธ ์์คํ
์ ์ปค๋์ ๋ค๋ฅธ ์ปจํ
์ด๋๋ค๊ณผ ๊ณต์
Docker๊ฐ ๊ฑฐ์ ์
๊ณ ํ์ค
์ปจํ
์ด๋ ๊ฐ์ํ ํน์ง
OS ์์ด ํ๋ก์ธ์ค์ ํ์ผ ์์คํ
์ ๋ถ๋ฆฌํ๋ ํํ์ด๊ธฐ ๋๋ฌธ์ ํฌ๊ธฐ๊ฐ ์๊ณ ๊ฐ๋ฒผ์
์ฌ๋ฌ ๊ฐ์ ์ปจํ
์ด๋๋ฅผ ๋ง๋ค์ด์ ์คํ ์ค์ด๋ผ๊ณ ํด๋ OS๋ ํ๋์ด๋ฏ๋ก, ๊ฐ์๋จธ์ ์ ๋นํด ๊ณ ๋ฐ๋ํ๊ฐ ๊ฐ๋ฅ
๊ฒ์คํธ OS๋ฅผ ํฌํจํ์ง ์๊ธฐ ๋๋ฌธ์ ํ์ผ ํฌ๊ธฐ๊ฐ ์์ ์ด๋์ฑ์ด ์ฐ์
๋ค์ํ ์ด์ ํ๊ฒฝ์ ์ง์ํ๊ณ ์ผ๊ด์ฑ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ์ด์์ฑ์ด ๋์ ํ์ฅ์ฑ์ด ์ข์
๋ฐฐํฌ์ ์ฉ์ด
OS ์ปค๋์ ๊ณต์ ํ๋ฏ๋ก ์ฅ์ ๋ฐ์์ ๊ฐ์ด ์ํฅ์ ๋ฐ์
ํ์ดํผ๋ฐ์ด์ vs ์ปจํ
์ด๋
์ฐธ๊ณ ์๋ฃ
https://blog.naver.com/complusblog/220990379931
https://born-dev.tistory.com/39
https://tech.cloud.nongshim.co.kr/2018/09/18/๊ฐ์ํ์-์ข
๋ฅ3๊ฐ์ง/
http://www.opennaru.com/openshift/container/benefits-of-container/