์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
1. ๊ฐ์[ํธ์ง]
2. ์์ธ[ํธ์ง]
์ฌ ๋ง์ดํฌ๋ก์์คํ
์ฆ๊ฐ ๋งํ ๋์ฏค์ ์๋ผ๋ฆฌ์ค๋ฅผ ์คํ ์์ค๋ก ํ์๊ณ , ์ฌ๊ธฐ์์ ์คํ ์๋ผ๋ฆฌ์ค, ์คํ ์ธ๋์ ๋ ๋ฑ์ ์ฌ๋ฌ ์๋ผ๋ฆฌ์ค ๊ธฐ๋ฐ์ ์ด์์ฒด์ ๊ฐ ํฌํฌ๋์๋ค. ๊ทธ์ค์ Joyent๋ผ๋ ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ ์
์ฒด์์ ์์ฒด ์๋น์ค ์ฉ์ผ๋ก ๋ง๋ ์ด์์ฒด์ ๊ฐ SmartOS์ด๋ค.
ํน์ง์ผ๋ก๋ ์๋ผ๋ฆฌ์ค์์ ์ ๊ณตํ๋ DTrace๋ผ๋ ์ปค๋ ๋ ๋ฒจ์ ๋๋ฒ๊น /ํ๋กํ์ผ๋ง์ด ๊ฐ๋ฅํ ๋๊ตฌ์, Crossbow๋ผ๊ณ ํ๋ ๋คํธ์ํฌ ๊ฐ์ํ ์๋ฃจ์ , Zone์ด๋ผ๊ณ ํ๋ ์ปจํ ์ด๋ ๊ธฐ์ , ZFS๋ผ๊ณ ํ๋ ์ง์ ์ต๊ฐ์(?) ํ์ผ ์์คํ ์ ์ฃ๋ค ๋ด์ฅํ๊ณ ์์ผ๋ฉฐ, ์๋ผ๋ฆฌ์ค ์ด์ธ์ ๊ฐ์ ๋จธ์ ์ ๊ตฌ๋ ํ ์ ์๋ KVM ๋ํ ํฌํจํ๊ณ ์๋ค. ์ฌ์ง์ด Docker๊น์ง ์ง์ํ๋ค.
์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ์์ Java ๋ฑ์ ๋ง๋ค์๊ณ , ๋๋๋ ๊ฒ์ ์ ๋ง๋ค์ด ๋๊ณ ๋ ์ ๋๋ก ํ์ง ๋ชปํด ๋งํ์ ๋ฟ, ๊ธฐ์ ๋ ฅ์ด ๋ธ๋ ธ๋ ๊ฒ์ ์๋๋ค. ์์ ๊ธฐ๋ฅ๋ค์ 2015๋ ๋ค์๋ ๊ฝค๋ ์ ๊ตฌ์ ์ด๊ฑฐ๋ ํ์ ์ ์ธ ๊ธฐ์ ์ด๋ผ ํ ์ ์๋ ๊ฒ๋ค์ด๋ค. ํ์ง๋ง ๋งํ๋ค๋ ๊ฒ๊ณผ, ์๋์ ๋ฆฌ๋ ์ค๊ฐ ํฅํด ๋ฒ๋ ธ๋ค๋ ๋ฌธ์ ๋ก ์ธํด์ ๊ทธ๋ฅ ์ธ์ธํ(?) ํด์ฅ ํ๊ฒ ๋์๋๋ฐ, ์ด๋ฅผ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ ์ ํ๊ฒ ๋ค๋ฌ์ด์ ๊ฝค๋ ์ธ๋งํ๊ฒ ๋ง๋ ๋ ์์ด๋ผ ํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ , ๊ฐ์ฅ ํฐ ์ฅ์ ์, ์์ ๊ธฐ๋ฅ๋ค์ด ์ ๋ถ ๋ค ํ๋ก๋์ ๋ ๋ฒจ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ๊ทธ๊ฒ ๋ง์ ๋ ๊ฐ์ํ ๊ธฐ์ ์ ๊ฐ์ ํ์ฌ ์์ ํ๊ณ ๋ง๋ค์ด๋ธ ์ด์์ฒด์ ๋ผ์ ๊ฐ์ํ ์ฉ๋๋ก ์ฌ์ฉํ๋ค๋ฉด ์ ๋ง ์๋์ ์ธ ์ฅ์ ์ ์๋ํ๊ฒ ๋๋ค.
๋ํ Joyent๊ฐ ๊ฐ OS ์ด๋ฏธ์ง๋ค์ ๋์ธ์ค์ ๊ฐ๋จํ ๋ช ๋ น์ด๋ก ๋ค์ด๋ก๋ ๋ฐ์์ ๋ฐ๋ก ์ค์น, ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด ๋์๊ณ , ํ์ฌ ํ๋ฆฌ๋ ์ผ๋ฐ์ ์ธ PC์ ํ์ํ ๋๋ผ์ด๋ฒ๋ค ๋ํ ์ ๊ณตํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋จธ์ ์ ์ด์ฉํ๋ ๋ฐ์ ๊ฝค๋ ํฐ ์ฅ์ ์ ๊ฐ์ง๊ฒ ๋๋ค.
์น์ผ๋ก ์ปจํธ๋กคํ ์ ์๋ ํด๋ผ์ฐ๋ ์ด์์ฒด์ ๋ FiFO ๋ผ๋ ํ๋ก์ ํธ์์ ์ ๊ณตํ๊ณ ์๋ค. ์ด ๋ํ Openstack์ ๋นํ๋ฉด ์ค์ ์ด ๊ฝค๋ ์ฝ๊ณ ๊ฐ๋จํ๊ณ , SmartOS์ ๊ธฐ๋ฅ๋ค์ ์ถฉ๋ถํ ํ์ฉํ ์ ์๋๋ฐ๋ค, ์ค์ ๋ํ ๊ฑฐ์ ์๋ค์ํผ ํ๋ฏ๋ก ๊ฐ๋จํ๊ฒ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค.
ํน์ง์ผ๋ก๋ ์๋ผ๋ฆฌ์ค์์ ์ ๊ณตํ๋ DTrace๋ผ๋ ์ปค๋ ๋ ๋ฒจ์ ๋๋ฒ๊น /ํ๋กํ์ผ๋ง์ด ๊ฐ๋ฅํ ๋๊ตฌ์, Crossbow๋ผ๊ณ ํ๋ ๋คํธ์ํฌ ๊ฐ์ํ ์๋ฃจ์ , Zone์ด๋ผ๊ณ ํ๋ ์ปจํ ์ด๋ ๊ธฐ์ , ZFS๋ผ๊ณ ํ๋ ์ง์ ์ต๊ฐ์(?) ํ์ผ ์์คํ ์ ์ฃ๋ค ๋ด์ฅํ๊ณ ์์ผ๋ฉฐ, ์๋ผ๋ฆฌ์ค ์ด์ธ์ ๊ฐ์ ๋จธ์ ์ ๊ตฌ๋ ํ ์ ์๋ KVM ๋ํ ํฌํจํ๊ณ ์๋ค. ์ฌ์ง์ด Docker๊น์ง ์ง์ํ๋ค.
์ฌ ๋ง์ดํฌ๋ก์์คํ ์ฆ์์ Java ๋ฑ์ ๋ง๋ค์๊ณ , ๋๋๋ ๊ฒ์ ์ ๋ง๋ค์ด ๋๊ณ ๋ ์ ๋๋ก ํ์ง ๋ชปํด ๋งํ์ ๋ฟ, ๊ธฐ์ ๋ ฅ์ด ๋ธ๋ ธ๋ ๊ฒ์ ์๋๋ค. ์์ ๊ธฐ๋ฅ๋ค์ 2015๋ ๋ค์๋ ๊ฝค๋ ์ ๊ตฌ์ ์ด๊ฑฐ๋ ํ์ ์ ์ธ ๊ธฐ์ ์ด๋ผ ํ ์ ์๋ ๊ฒ๋ค์ด๋ค. ํ์ง๋ง ๋งํ๋ค๋ ๊ฒ๊ณผ, ์๋์ ๋ฆฌ๋ ์ค๊ฐ ํฅํด ๋ฒ๋ ธ๋ค๋ ๋ฌธ์ ๋ก ์ธํด์ ๊ทธ๋ฅ ์ธ์ธํ(?) ํด์ฅ ํ๊ฒ ๋์๋๋ฐ, ์ด๋ฅผ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ ์ ํ๊ฒ ๋ค๋ฌ์ด์ ๊ฝค๋ ์ธ๋งํ๊ฒ ๋ง๋ ๋ ์์ด๋ผ ํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ , ๊ฐ์ฅ ํฐ ์ฅ์ ์, ์์ ๊ธฐ๋ฅ๋ค์ด ์ ๋ถ ๋ค ํ๋ก๋์ ๋ ๋ฒจ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ๊ทธ๊ฒ ๋ง์ ๋ ๊ฐ์ํ ๊ธฐ์ ์ ๊ฐ์ ํ์ฌ ์์ ํ๊ณ ๋ง๋ค์ด๋ธ ์ด์์ฒด์ ๋ผ์ ๊ฐ์ํ ์ฉ๋๋ก ์ฌ์ฉํ๋ค๋ฉด ์ ๋ง ์๋์ ์ธ ์ฅ์ ์ ์๋ํ๊ฒ ๋๋ค.
๋ํ Joyent๊ฐ ๊ฐ OS ์ด๋ฏธ์ง๋ค์ ๋์ธ์ค์ ๊ฐ๋จํ ๋ช ๋ น์ด๋ก ๋ค์ด๋ก๋ ๋ฐ์์ ๋ฐ๋ก ์ค์น, ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋๋ก ๋ง๋ค์ด ๋์๊ณ , ํ์ฌ ํ๋ฆฌ๋ ์ผ๋ฐ์ ์ธ PC์ ํ์ํ ๋๋ผ์ด๋ฒ๋ค ๋ํ ์ ๊ณตํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ ๋จธ์ ์ ์ด์ฉํ๋ ๋ฐ์ ๊ฝค๋ ํฐ ์ฅ์ ์ ๊ฐ์ง๊ฒ ๋๋ค.
์น์ผ๋ก ์ปจํธ๋กคํ ์ ์๋ ํด๋ผ์ฐ๋ ์ด์์ฒด์ ๋ FiFO ๋ผ๋ ํ๋ก์ ํธ์์ ์ ๊ณตํ๊ณ ์๋ค. ์ด ๋ํ Openstack์ ๋นํ๋ฉด ์ค์ ์ด ๊ฝค๋ ์ฝ๊ณ ๊ฐ๋จํ๊ณ , SmartOS์ ๊ธฐ๋ฅ๋ค์ ์ถฉ๋ถํ ํ์ฉํ ์ ์๋๋ฐ๋ค, ์ค์ ๋ํ ๊ฑฐ์ ์๋ค์ํผ ํ๋ฏ๋ก ๊ฐ๋จํ๊ฒ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค.