
IT ๊ฒฝํ์ด ์์ผ์๋ก ์์คํ ์๋ ๊ณ ์ ํ ํน์ง์ด ์๋ค๋ ๊ฒ์ ๊นจ๋ซ๊ฒ ๋ฉ๋๋ค. ์์คํ ์ ์ ์ํ ์๋, ์กฐ์ฉํ ์๋, ๋ณ๋์ค๋ฌ์ธ ์๋, ์๊ฒฉํ ์๋ ์์ต๋๋ค. ๋น์ ์ ์ฌ๋ก์ก์ ์๋, ๋ฐ์ด๋ผ ์๋ ์์ต๋๋ค. ์ด๋ค ์์ผ๋ก๋ ์์คํ ๊ณผ "ํ์"ํ๊ณ , "ํจ์ " ์ฌ์ด๋ฅผ ํค์ณ๋๊ฐ๋ฉฐ, ์์คํ ๊ฐ์ ์ํธ ์์ฉ ๊ณ ๋ฆฌ๋ฅผ ๊ตฌ์ถํด์ผ ํฉ๋๋ค.
๊ทธ๋์ ํด๋ผ์ฐ๋ ํ๋ซํผ์ ๊ตฌ์ถํ๋ ์๊ด์ ์ป๊ฒ ๋์๊ณ , ์ด๋ฅผ ์ํด ๋ช๋ช ํ์ ์์คํ ์ ์ฐ๋ฆฌ์ ํจ๊ป ์ผํ๋๋ก "์ค๋"ํด์ผ ํ์ต๋๋ค. ๋คํํ "API ์ธ์ด"์ ๋ ๋ ํ ์๊ธธ, ๊ทธ๋ฆฌ๊ณ ๋์น๋ ์ด์ ์ด ์์์ต๋๋ค.
์ด ๊ธ์ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ ์ฌ๋ ์๊ฒ ๋ค๋ฃจ์ง๋ ์๊ฒ ์ง๋ง, ํด๋ผ์ฐ๋ ๊ตฌ์ถ ๊ณผ์ ์์ ๊ฒช์๋ ๋ฌธ์ ๋ค์ ์ค๋ช ํ๊ณ ์ ํฉ๋๋ค. ์ ๋ ์์คํ ๊ณผ์ ๊ณตํต ์ธ์ด๋ฅผ ์ด๋ป๊ฒ ์ฐพ์๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ ๊ฒฐ๊ณผ ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์๋์ง์ ๋ํ ๊ฐ๋ฒผ์ด ๊ธฐ์ ์ ์์๋ ฅ์ ํํ๋ก ์ ํฌ์ ์ฌ์ ์ ์ค๋ช ํ๊ธฐ๋ก ํ์ต๋๋ค.
์ปท ์๋์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค.
์ฌํ์ ์์
์ผ๋ง ์ , ์ ํฌ ํ์ ๊ณ ๊ฐ์ ์ํ ํด๋ผ์ฐ๋ ํ๋ซํผ ์ถ์๋ฅผ ๋ด๋นํ์ต๋๋ค. ์ ํฌ๋ ๊ด๋ฆฌ, ๋ฆฌ์์ค, ํ๋์จ์ด ์คํ์ ์ง์์ ๋ฐ์๊ณ , ์๋น์ค์ ์ํํธ์จ์ด ๋ถ๋ถ์ ๊ตฌํํ๊ธฐ ์ํ ๊ธฐ์ ์ ํ์ ์์ด ์์ ๋ก์ ์ต๋๋ค.
๋ํ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์๊ตฌ ์ฌํญ๋ ์์์ต๋๋ค.
- ์ด ์๋น์ค์๋ ํธ๋ฆฌํ ๊ฐ์ธ ๊ณ์ ์ด ํ์ํฉ๋๋ค.
- ํ๋ซํผ์ ๊ธฐ์กด ์ฒญ๊ตฌ ์์คํ ์ ํตํฉ๋์ด์ผ ํฉ๋๋ค.
- ์ํํธ์จ์ด์ ํ๋์จ์ด: OpenStack + Tungsten Fabric(Open Contrail)์ ์ฐ๋ฆฌ ์์ง๋์ด๋ค์ด ์์ฃผ ๋ฅ์ํ๊ฒ "์๋ฆฌ"ํ๋ ๋ฒ์ ๋ฐฐ์ ์ต๋๋ค.
Habr ์ปค๋ฎค๋ํฐ์ ๊ด์ฌ์ด ์์ผ์๋ค๋ฉด, ํ์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์๋์ง, ๊ฐ์ธ ๊ณ์ ์ธํฐํ์ด์ค๊ฐ ์ด๋ป๊ฒ ๊ฐ๋ฐ๋์๋์ง, ๊ทธ๋ฆฌ๊ณ ๋์์ธ์ ๋ํ ๊ฒฐ์ ์ด ์ด๋ป๊ฒ ๋ด๋ ค์ก๋์ง์ ๋ํด์๋ ๋์ค์ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ ๋๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Python + Flask + Swagger + SQLAlchemy๋ ์๋นํ ํ์ค์ ์ธ Python ์งํฉ์ ๋๋ค.
- ํ๋ฐํธ์๋๋ Vue.js๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๊ตฌ์ฑ ์์์ ์๋น์ค ๊ฐ์ ์ํธ์์ฉ์ AMQP ๋์ Celery๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
Python ์ ํ์ ๋ํ ์ง๋ฌธ์ ์์ํ๋ฉฐ ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค. Python์ ์ ํฌ ํ์ฌ์์ ์๋ฆฌ๋ฅผ ์ก์๊ณ , ์์ง๋ง ์ฌ์ ํ Python์ ์ค์ฌ์ผ๋ก ํ ๋ฌธํ๊ฐ ํ์ฑ๋์์ต๋๋ค. ๊ทธ๋์ Python์ ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค๋ฅผ ๊ตฌ์ถํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ฒ๋ค๊ฐ ์ด๋ฌํ ์์ ์์๋ ๊ฐ๋ฐ ์๋๊ฐ ์ข ์ข ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
๊ทธ๋ผ, ์ฐ๋ฆฌ์ ์น๋ถ์ ์์ํด ๋ณผ๊น์.
๋ฌด์ ์ฒญ๊ตฌ์ - ์ฒญ๊ตฌ
์ด ์น๊ตฌ๋ ์ค๋ซ๋์ ์๊ณ ์ง๋์ด์. ํญ์ ์ฐ๋ฆฌ ์์ ์์ ๋ฌต๋ฌตํ ๋ญ๊ฐ๋ฅผ ์ธ๊ณค ํ์ฃ . ๊ฐ๋์ ์ฌ์ฉ์ ์์ฒญ์ ์ ๋ฌํ๊ณ , ๊ณ ๊ฐ ์ก์ฅ์ ๋ฐํํ๊ณ , ์๋น์ค๋ ๊ด๋ฆฌํด ์คฌ์ด์. ์ ๋ง ์ฑ์คํ๊ณ ์ด์ฌํ ์ผํ๋ ๋ถ์ด์์ด์. ๋ฌผ๋ก ํ๋ ์ ๋ ์์์ง๋ง์. ์กฐ์ฉํ๊ณ , ๊ฐ๋์ ์ฌ๋ ค ๊น๊ณ , ์ข ์ข ์๊ธฐ ์๊ฐ์ ๋ด๋น์น๋ ๋ถ์ด์์ด์.

์ฒญ๊ตฌ ์์คํ ์ ์ฐ๋ฆฌ๊ฐ ์ฒ์ ์ ํด ๋ณด๋ ค๊ณ ํ๋ ์์คํ ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ์ฅ ๋จผ์ ์ด๋ ค์์ ๊ฒช์ ๊ฑด ์๋น์ค ์ฒ๋ฆฌ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์์ ์ ์์ฑํ๊ฑฐ๋ ์ญ์ ํ ๋ ํด๋น ์์ ์ ๋ด๋ถ ์ฒญ๊ตฌ ๋๊ธฐ์ด์ ์ ์ฅ๋ฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์๋น์ค๋ฅผ ์ด์ฉํ ๋น๋๊ธฐ ์์ ์์คํ ์ด ๊ตฌํ๋๋ ๋ฐฉ์์ ๋๋ค. ์๋น์ค ์ ํ์ ์ฒ๋ฆฌํ๋ ค๋ฉด ์์ ์ ์ด ๋๊ธฐ์ด์ "๋ฃ์ด์ผ" ํ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ฌ๊ธฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋ฐ๋ก ๋ฌธ์ํ ๋ถ์กฑ์ ๋๋ค.

์ํํธ์จ์ด API ์ค๋ช ์ ๋ณด๋ฉด ์ด ์์ ์ ์ฌ์ ํ โโํด๊ฒฐ ๊ฐ๋ฅํ์ง๋ง, ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง์ ํ ์๊ฐ์ด ๋ถ์กฑํ์ฌ ๋ก์ง์ ์ธ๋ถ๋ก ์ฎ๊ธฐ๊ณ RabbitMQ ์์ ์์ ํ๋ฅผ ๊ตฌ์ฑํ์ต๋๋ค. ์๋น์ค ์์ ์ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ์ธ ๊ณ์ ์์ ์์ํ์ฌ ๋ฐฑ์๋์์ Celery "์์ "์ผ๋ก ๋ณํ๋๊ณ ์ฒญ๊ตฌ ๋ฐ OpenStack ์ธก์์ ์คํ๋ฉ๋๋ค. Celery๋ฅผ ์ฌ์ฉํ๋ฉด ์์ ์ ๊ด๋ฆฌํ๊ณ , ๋ฐ๋ณต ์์ ์ ๊ตฌ์ฑํ๊ณ , ์ํ๋ฅผ ๋งค์ฐ ํธ๋ฆฌํ๊ฒ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค. "Celery"์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค. .
๋ํ, ์๊ธ์ด ๋ฐ๋ฅ๋ฌ์ ๋ ์ฒญ๊ตฌ๊ฐ ํ๋ก์ ํธ๋ฅผ ์ค๋จ์ํค์ง ์์์ต๋๋ค. ๊ฐ๋ฐ์๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋๋ฉด์ ํต๊ณ ๊ณ์ฐ ์ (๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก ์ด ๋ก์ง์ ๊ตฌํํด์ผ ํฉ๋๋ค) ์ค๋จ ๊ท์น ๊ฐ์ ๋ณต์กํ ๊ด๊ณ๊ฐ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ชจ๋ธ์ ์ฐ๋ฆฌ์ ํ์ค์ ์ ๋ง์ง ์์์ต๋๋ค. ๋ํ, ์๋น์ค ๊ด๋ฆฌ ๋ก์ง์ ๋ฐฑ์๋ ์ธก์ผ๋ก ์ด์ ํ์ฌ Celery์ ์์ ์ ํตํด ์ด๋ฅผ ๊ตฌํํ์ต๋๋ค.
์์ ๋ ๊ฐ์ง ๋ฌธ์ ๋ก ์ธํด ์ฝ๋๊ฐ ๋ค์ ๋ณต์กํด์ก๊ณ , ํฅํ ์์ ๋ก์ง์ ๋ณ๋์ ์๋น์ค๋ก ์ฎ๊ธฐ๊ธฐ ์ํด ๋ฆฌํฉํ ๋งํด์ผ ํ ๊ฒ์ ๋๋ค. ๋ํ ์ด ๋ก์ง์ ์ง์ํ๊ธฐ ์ํด ์ฌ์ฉ์์ ์๋น์ค์ ๋ํ ์ผ๋ถ ์ ๋ณด๋ฅผ ๋ณ๋์ ํ ์ด๋ธ์ ์ ์ฅํด์ผ ํฉ๋๋ค.
๋ ๋ค๋ฅธ ๋ฌธ์ ๋ ์นจ๋ฌต์ด๋ค.
Billy๋ ์ผ๋ถ API ์์ฒญ์ "OK"๋ผ๊ณ ์กฐ์ฉํ ์๋ตํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ์คํธ ๊ธฐ๊ฐ ๋์ ์ฝ์๋ ๊ฒฐ์ ๋ฅผ ์๋ฃํ์ ๋ ์ด๋ฐ ์ผ์ด ๋ฐ์ํ์ต๋๋ค(์์ธํ ๋ด์ฉ์ ๋์ค์ ์ค๋ช ). ์์ฒญ์ ์ ์์ ์ผ๋ก ์คํ๋์๊ณ ์ค๋ฅ๋ ๋ฐ๊ฒฌ๋์ง ์์์ต๋๋ค.

UI๋ฅผ ํตํด ์์คํ ์์ ์ ํ๋ฉด์ ๋ก๊ทธ๋ฅผ ๋ถ์ํด์ผ ํ์ต๋๋ค. ์ฒญ๊ตฌ ์์ฒด๋ ์ ์ฌํ ์์ฒญ์ ์ํํ์ฌ, ๋ฒ์๋ฅผ ํน์ ์ฌ์ฉ์(์: ๊ด๋ฆฌ์)๋ก ๋ณ๊ฒฝํ๊ณ ์ด๋ฅผ su ๋งค๊ฐ๋ณ์์ ์ ๋ฌํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
์ ๋ฐ์ ์ผ๋ก ๋ฌธ์์ ๋นํ๊ณผ ์ฌ์ํ API ๊ฒฐํจ์๋ ๋ถ๊ตฌํ๊ณ ๋ชจ๋ ๊ฒ์ด ์์กฐ๋กญ๊ฒ ์งํ๋์์ต๋๋ค. ๋ก๊ทธ๋ ๊ตฌ์กฐ์ ์ฃผ์ ์ฌํญ์ ์ดํดํ๋ค๋ฉด ๋ถํ๊ฐ ์ฌํ ์ํฉ์์๋ ์ฝ๊ธฐ ์ฝ์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ ๋ณต์กํ์ง๋ง, ์๋นํ ๋ ผ๋ฆฌ์ ์ด๋ฉฐ ์ด๋ค ๋ฉด์์๋ ๋งค๋ ฅ์ ์ด๊ธฐ๋ ํฉ๋๋ค.
๋ฐ๋ผ์ ์์ฝํ์๋ฉด, ์ํธ์์ฉ ๋จ๊ณ์์ ์ฐ๋ฆฌ๊ฐ ๋ง์ฃผํ ์ฃผ์ ๋ฌธ์ ๋ ํน์ ์์คํ ์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
- ์ฐ๋ฆฌ์๊ฒ ์ด๋ค ์์ผ๋ก๋ ์ํฅ์ ๋ฏธ์น๋ ๋ฌธ์ํ๋์ง ์์ "ํน์ง"
- ํ์ ์์ค(์ฒญ๊ตฌ๋ C++๋ก ์์ฑ๋จ)๋ก ์ธํด ๋ฌธ์ 1์ "์ํ์ฐฉ์ค"๊ฐ ์๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋คํํ๋ ํด๋น ์ ํ์ ์๋นํ ๊ด๋ฒ์ํ API๋ฅผ ๊ฐ์ถ๊ณ ์์ผ๋ฉฐ, ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ํ์ ์์คํ ์ ๊ฐ์ธ ๊ณ์ ์ ํตํฉํ์ต๋๋ค.
- ๊ธฐ์ ์ง์ ๋ชจ๋ - ๊ฐ์ธ ๊ณ์ ์ ์์ฒญ์ ์๋น์ค ํด๋ผ์ด์ธํธ๋ฅผ ์ํด ํฌ๋ช ํ๊ฒ ์ฒญ๊ตฌ์์ "ํ๋ก์"๋ฉ๋๋ค.
- ์ฌ๋ฌด ๋ชจ๋ - ํ์ฌ ๊ณ ๊ฐ์๊ฒ ์ก์ฅ์ ๋ฐํํ๊ณ , ๋์ ์ฒ๋ฆฌ๋ฅผ ํ๊ณ , ์ง๋ถ ๋ฌธ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
- ์๋น์ค ๊ด๋ฆฌ ๋ชจ๋ - ์์ฒด ํธ๋ค๋ฌ๋ฅผ ๊ตฌํํด์ผ ํ์ต๋๋ค. ์์คํ
์ ํ์ฅ์ฑ์ด ์ ํฌ์ ์์ ๋ค์ด์๊ณ , ์ฐ๋ฆฌ๋ Billy์๊ฒ ์๋ก์ด ์ ํ์ ์๋น์ค๋ฅผ "ํ๋ จ"์์ผฐ์ต๋๋ค.
๋ ธ๋ ฅ์ ์ข ํ์ํ์ง๋ง, ๋น๋ฆฌ์ ์ ๋ ์ ์ง๋ผ ์ ์์ ๊ฒ ๊ฐ์์.
ํ ์คํ ๋คํ์ ๊ฑท๋ค - ํ ์คํ ์๋จ
์๋ฐฑ ๊ฐ์ ์ ์ ์ด ํฉ๋ฟ๋ ค์ง ํ ์คํ ์ฅ์ ์์ฒ ๋นํธ์ ์ ๋ณด๋ฅผ ์ค์ค๋ก ํต๊ณผ์ํต๋๋ค. ์ ๋ณด๋ ๋ง์น ๋ง๋ฒ์ฒ๋ผ "ํจํท"์ผ๋ก ์์ง๋๊ณ ๋ถ๋ฅ๋์ด ๋ณต์กํ ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ถํฉ๋๋ค.

์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์นํด์ ธ์ผ ํ๋ ๋ ๋ฒ์งธ ์์คํ , ์ฆ ํ ์คํ ํจ๋ธ๋ฆญ(TF, ์ด์ ๋ช ์นญ: OpenContrail)์ ์์ญ์ ๋๋ค. ์ด ์์คํ ์ ์ญํ ์ ๋คํธ์ํฌ ์ฅ๋น๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์์๊ฒ ์ํํธ์จ์ด ์ถ์ํ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. TF(SDN)๋ ๋คํธ์ํฌ ์ฅ๋น ์๋์ ๋ณต์กํ ๋ก์ง์ ์บก์ํํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด ๊ธฐ์ ์์ฒด์ ๋ํ ์ข์ ๊ธ์ด ์์ต๋๋ค. .
์ด ์์คํ ์ Neutron ํ๋ฌ๊ทธ์ธ์ ํตํด OpenStack(์๋์์ ์ค๋ช )๊ณผ ํตํฉ๋ฉ๋๋ค.

OpenStack ์๋น์ค์ ์ํธ์์ฉ.
์ด์ ๋ถ์ ์ง์๋ค์ด ์ ํฌ์๊ฒ ์ด ์์คํ ์ ์๊ฐํด ์ฃผ์์ต๋๋ค. ์ ํฌ๋ ์ด ์์คํ ์ API๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค์ ๋คํธ์ํฌ ์คํ์ ๊ด๋ฆฌํฉ๋๋ค. ์์ง ์ฌ๊ฐํ ๋ฌธ์ ๋ ๋ถํธ์ ๊ฒช์ง๋ ์์์ง๋ง (์ด์ ๋ถ์ ์ง์๋ค์ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง), ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ํธ์์ฉ์ด ์์์ต๋๋ค.
์ฒซ ๋ฒ์งธ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. SSH๋ฅผ ํตํด ์ฐ๊ฒฐํ ๊ฒฝ์ฐ ์ธ์คํด์ค ์ฝ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ ๋ช ๋ น์ ์ฐ๊ฒฐ์ ๋จ์ํ "๋ฉ์ถ๊ฒ" ํ์ง๋ง, VNC๋ฅผ ํตํด์๋ ๋ชจ๋ ๊ฒ์ด ์ ์์ ์ผ๋ก ์๋ํ์ต๋๋ค.

์ด ๋ฌธ์ ์ ์ต์ํ์ง ์์ ๋ถ๋ค์ ์ํด ์ค๋ช ๋๋ฆฌ์๋ฉด, ๊ฝค ์ฐ์ค๊ฝ์ค๋ฝ๊ฒ ๋ณด์ ๋๋ค. ls /root๋ ์ ์์ ์ผ๋ก ์๋ํ์ง๋ง, ์๋ฅผ ๋ค์ด top์ ์์ ํ "๋ฉ์ถฐ" ์์ต๋๋ค. ๋คํํ๋ ์ ํฌ๋ ์ด๋ฏธ ๋น์ทํ ๋ฌธ์ ๋ฅผ ๊ฒฝํํ์ต๋๋ค. ์ปดํจํธ ๋ ธ๋์์ ๋ผ์ฐํฐ๋ก ๊ฐ๋ ๊ฒฝ๋ก์ MTU๋ฅผ ์กฐ์ ํ์ฌ ํด๊ฒฐํ์ต๋๋ค. ์ฐธ๊ณ ๋ก, ์ด ๋ฌธ์ ๋ TF(์ ์ก ์์คํ ) ๋ฌธ์ ๊ฐ ์๋๋๋ค.
๋ค์ ๋ฌธ์ ๋ ๋ฐ๋ก ์ฝ์๊น์ง ๋ค๊ฐ์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์์ต๋๋ค. ์ด๋ "๋ฉ์ง" ์๊ฐ, ๋ผ์ฐํ ๋ง๋ฒ์ด ๊ฐ์๊ธฐ ์ฌ๋ผ์ก์ต๋๋ค. TF๊ฐ ํ๋์จ์ด ๋ผ์ฐํ ๊ด๋ฆฌ๋ฅผ ์ค๋จํ ๊ฒ์ ๋๋ค.

OpenStack์ ๊ด๋ฆฌ์ ์์ค์์ ์ฌ์ฉํ๋ค๊ฐ ํ์ํ ์ฌ์ฉ์ ์์ค์ผ๋ก ์ ํํ์ต๋๋ค. SDN์ด ์์ ์ ์ํํ๋ ์ฌ์ฉ์์ ๋ฒ์๋ฅผ "์ฐจ๋จ"ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌธ์ ๋ TF์ OpenStack์ ์ฐ๊ฒฐํ๋ ๋ฐ ๋์ผํ ๊ด๋ฆฌ์ ๊ณ์ ์ด ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ๋๋ค. ์ฌ์ฉ์ ์์ค์ผ๋ก ์ ํํ๋ ๋จ๊ณ์์ "๋ง๋ฒ"์ ์ฌ๋ผ์ก์ต๋๋ค. ์์คํ ์์ ์ ์ํ ๋ณ๋์ ๊ณ์ ์ ์์ฑํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์ด๋ฅผ ํตํด ํตํฉ ๊ธฐ๋ฅ์ ์์์ํค์ง ์๊ณ ์์ ํ ์ ์์์ต๋๋ค.
์ค๋ฆฌ์ฝ ๋ผ์ดํํผ - ์คํ์คํ
๊ธฐ์ดํ ๋ชจ์์ ์ค๋ฆฌ์ฝ ์๋ฌผ์ด ํ ์คํ ๊ด์ ๊ทผ์ฒ์ ์ฐ๋ค. ๊ฒ๋ชจ์ต์ ๋ง์น ๋ค ํฐ ์์ด์ฒ๋ผ ์๊ฒผ๋๋ฐ, ํ ๋ฒ์ ํ๋๋ฅด๊ธฐ๋ก ์ฐ๋ฆฌ๋ฅผ ์ง๋ฐ์ ์ ์์ ์ ๋์ง๋ง, ๊ฒ๋ณด๊ธฐ์๋ ๊ณต๊ฒฉ์ ์ธ ๋ชจ์ต์ ์๋๋ค. ๊ณตํฌ๋ฅผ ์ ๋ฐํ์ง๋ ์์ง๋ง, ๊ทธ ํฌ๊ธฐ๊ฐ ๋๋๋ค. ์ฃผ๋ณ์์ ๋ฒ์ด์ง๋ ์ผ๋ค์ ๋ณต์ก์ฑ ๋ํ ๋ง์ฐฌ๊ฐ์ง๋ค.

OpenStack์ ์ฐ๋ฆฌ ํ๋ซํผ์ ํต์ฌ์ ๋๋ค.
OpenStack์๋ ์ฌ๋ฌ ํ์ ์์คํ ์ด ์์ผ๋ฉฐ, ํ์ฌ Nova, Glance, Cinder๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๊ฐ ํ์ ์์คํ ์ ์์ฒด API๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. Nova๋ ์ปดํจํ ๋ฆฌ์์ค ๋ฐ ์ธ์คํด์ค ์์ฑ์ ๋ด๋นํ๊ณ , Cinder๋ ๋ณผ๋ฅจ ๋ฐ ์ค๋ ์ท ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ฉฐ, Glance๋ OS ํ ํ๋ฆฟ๊ณผ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ์ด๋ฏธ์ง ์๋น์ค์ ๋๋ค.
๊ฐ ์๋น์ค๋ ์ปจํ ์ด๋์์ ์คํ๋๋ฉฐ, ๋ฉ์์ง ๋ธ๋ก์ปค๋ "ํฐ ํ ๋ผ"์ธ RabbitMQ์ ๋๋ค.
์ด ์์คํ ์ ์ฐ๋ฆฌ์๊ฒ ์์์น ๋ชปํ ํฐ ๋ฌธ์ ๋ฅผ ์๊ฒจ์ฃผ์์ต๋๋ค.
์๋ฒ์ ์ถ๊ฐ ๋ณผ๋ฅจ์ ์ฐ๊ฒฐํ๋ ค๊ณ ํ์ ๋ ์ฒซ ๋ฒ์งธ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๋ฐ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์์ต๋๋ค. Cinder API๋ ์ด ์์ ์ ๋จํธํ๊ฒ ๊ฑฐ๋ถํ์ต๋๋ค. ๋ ์ ํํ ๋งํ๋ฉด, OpenStack ์์ฒด์ ์ฃผ์ฅ๋๋ก๋ผ๋ฉด ์ฐ๊ฒฐ์ ์ค์ ๋์์ง๋ง ๊ฐ์ ์๋ฒ ๋ด๋ถ์ ๋์คํฌ ์ฅ์น๊ฐ ์๋ ๊ฒ์ ๋๋ค.

์ ํฌ๋ "๋์๊ฐ์" Nova API์ ๋์ผํ ์์ ์ ์์ฒญํ๊ธฐ๋ก ํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, ๊ธฐ๊ธฐ๋ ์ ์์ ์ผ๋ก ์ฐ๊ฒฐ๋์๊ณ ์๋ฒ ๋ด์์ ์ ๊ทผ ๊ฐ๋ฅํฉ๋๋ค. ๋ฌธ์ ๋ ๋ธ๋ก ์คํ ๋ฆฌ์ง๊ฐ Cinder์ ์๋ตํ์ง ์์ ๋ ๋ฐ์ํ๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค.
๋์คํฌ ์์ ์ ๋ ๋ค๋ฅธ ์ด๋ ค์์ด ๋ฐ์ํ์ต๋๋ค. ์์คํ ๋ณผ๋ฅจ์ ์๋ฒ์์ ๋ถ๋ฆฌํ ์ ์์์ต๋๋ค.
๋ค์ ํ๋ฒ ๋ง์๋๋ฆฌ์ง๋ง, OpenStack ์์ฒด๋ ์ฐ๊ฒฐ์ ๋์์ผ๋ฉฐ ์ด์ ๋ณผ๋ฅจ์ ๊ฐ๋ณ์ ์ผ๋ก ์ ๋๋ก ์ฌ์ฉํ ์ ์๋ค๊ณ "์ ์ธ"ํฉ๋๋ค. ํ์ง๋ง ํด๋น API๋ ๋์คํฌ์์ ์์ ์ ์ํํ๊ณ ์ถ์ดํ์ง ์์์ต๋๋ค.

์ฌ๊ธฐ์๋ ๋๋ฌด ๋ง์ด ์ธ์ฐ์ง ์๊ณ ์๋น์ค ๋ก์ง์ ๋ํ ๊ด์ ์ ๋ฐ๊พธ๊ธฐ๋ก ํ์ต๋๋ค. ์ธ์คํด์ค๊ฐ ์์ผ๋ฉด ์์คํ ๋ณผ๋ฅจ๋ ์์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์๋ "์๋ฒ"๋ฅผ ์ญ์ ํ์ง ์๊ณ ๋ ์์คํ "๋์คํฌ"๋ฅผ ์ญ์ ํ๊ฑฐ๋ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
OpenStack์ ์์ฒด์ ์ธ ์ํธ์์ฉ ๋ก์ง๊ณผ ๋ณต์กํ API๋ฅผ ๊ฐ์ถ ์๋นํ ๋ณต์กํ ์์คํ ์ ๋๋ค. ํ์ง๋ง ์๋นํ ์์ธํ ๋ฌธ์์ ์ํ์ฐฉ์ค์ ์ธ ๋ฐฉ๋ฒ(์ด๋ฌํ ๋ฐฉ๋ฒ ์์ด๋ ์ด๋ป๊ฒ ๋์์๊น์?) ๋๋ถ์ ์ฐ๋ฆฌ๋ ๊ตฌ์๋ฐ์ ์ ์์ต๋๋ค.
ํ ์คํธ ์คํ
์๋ 12์์ ํ ์คํธ ์ถ์๋ฅผ ์งํํ์ต๋๋ค. ์ฃผ์ ๋ชฉํ๋ ๊ธฐ์ ์ ์ธ ์ธก๋ฉด๊ณผ UX ์ธก๋ฉด์์ ํ๋ก์ ํธ๋ฅผ ์ ํฌ ๋ชจ๋๋ก ํ ์คํธํ๋ ๊ฒ์ด์์ต๋๋ค. ์ฐธ๊ฐ์๋ ์ ํ์ ์ผ๋ก ์ด๋๋์๊ณ ํ ์คํธ๋ ๋ง๊ฐ๋์์ต๋๋ค. ํ์ง๋ง ์น์ฌ์ดํธ๋ฅผ ํตํด ํ ์คํธ ์ฐธ์ฌ๋ฅผ ์์ฒญํ ์ ์๋ ๊ธฐํ๋ ๋จ๊ฒจ๋์์ต๋๋ค.
๋ฌผ๋ก , ํ ์คํธ ์์ฒด๋ ์ฌ๋ฐ๋ ์๊ฐ์ด ์์ง๋ ์์์ต๋๋ค. ์๋ํ๋ฉด ์ด๊ฒ์ ๋จ์ง ์ฐ๋ฆฌ ๋ชจํ์ ์์์ผ ๋ฟ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฒซ์งธ, ํ๋ก์ ํธ์ ๋ํ ๊ด์ฌ์ ๋ค์ ์๋ชป ์์ธกํ์ฌ ํ ์คํธ ๋์ค์ ์ปดํจํ ๋ ธ๋๋ฅผ ๊ธํ ์ถ๊ฐํด์ผ ํ์ต๋๋ค. ํด๋ฌ์คํฐ์์ ํํ ๋ฐ์ํ๋ ๋ฌธ์ ์ด์ง๋ง, ์ฌ๊ธฐ์๋ ๋ฏธ๋ฌํ ์ฐจ์ด๊ฐ ์์์ต๋๋ค. ํน์ ๋ฒ์ ์ TF ๋ฌธ์์๋ vRouter ์์ ์ด ํ ์คํธ๋ ํน์ ์ปค๋ ๋ฒ์ ์ด ๋ช ์๋์ด ์์ต๋๋ค. ์ต์ ์ปค๋์ ์ฌ์ฉํ์ฌ ๋ ธ๋๋ฅผ ์์ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, TF๋ ๋ ธ๋์์ ๊ฒฝ๋ก๋ฅผ ์์ ํ์ง ๋ชปํ์ต๋๋ค. ๊ธํ ์ปค๋์ ๋กค๋ฐฑํด์ผ ํ์ต๋๋ค.

๋ ๋ค๋ฅธ ๊ถ๊ธํ ์ ์ ๊ฐ์ธ ๊ณ์ ์ "๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ" ๋ฒํผ ๊ธฐ๋ฅ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ธ์ ์ ์ฌ์ฉํ์ง ์๊ธฐ ์ํด JWT๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ธ ๊ณ์ ์ ๊ทผ์ ๊ด๋ฆฌํ๊ธฐ๋ก ํ์ต๋๋ค. ์์คํ ์ด ๋ค์ํ๊ณ ๋๋ฆฌ ๋ถ์ฐ๋์ด ์๊ธฐ ๋๋ฌธ์, ์ ํฌ๋ ์์ฒด ํ ํฐ์ ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค. ์ด ํ ํฐ์ ์ฒญ๊ตฌ์์ ์ธ์ ๊ณผ OpenStack์ ํ ํฐ์ "๋ํ"ํฉ๋๋ค. ๋น๋ฐ๋ฒํธ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ์ฌ์ฉ์ ๋ฐ์ดํฐ๊ฐ ๋ ์ด์ ์ ํจํ์ง ์์ ์ฌ๋ฐ๊ธ๋์ด์ผ ํ๋ฏ๋ก ํ ํฐ์ ๋น์ฐํ "์ ํจํ์ง ์๊ฒ" ๋ฉ๋๋ค.

์ฐ๋ฆฌ๋ ์ด ์ ์ ๋์ณค๊ณ , ์ด ๊ธ์ ๋นจ๋ฆฌ ์์ฑํ ๋งํผ์ ์์์ด ๋ถ์กฑํ์ต๋๋ค. ํ
์คํธ ์์ ์ง์ ์ ๊ธฐ๋ฅ์ ์ญ์ ํด์ผ ํ์ต๋๋ค.
ํ์ฌ๋ ๋น๋ฐ๋ฒํธ๊ฐ ๋ณ๊ฒฝ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ฅผ ๋ก๊ทธ์์ํฉ๋๋ค.
์ด๋ฌํ ๋ฏธ๋ฌํ ์ฐจ์ด์๋ ๋ถ๊ตฌํ๊ณ ํ ์คํธ๋ ์์กฐ๋กญ๊ฒ ์งํ๋์์ต๋๋ค. ๋ช ์ฃผ ๋ง์ ์ฝ 300๋ช ์ด ์ ํฌ๋ฅผ ๋ฐฉ๋ฌธํ์ต๋๋ค. ์ฌ์ฉ์์ ๋์ผ๋ก ์ ํ์ ์ดํด๋ณด๊ณ , ์ค์ ๋ก ์ฌ์ฉํด ๋ณด๊ณ , ์์ง์ ํผ๋๋ฐฑ์ ์์งํ ์ ์์์ต๋๋ค.
๊ณ์ํ๊ธฐ
์ฐ๋ฆฌ ์ค ๋ง์ ์ฌ๋๋ค์๊ฒ ์ด ํ๋ก์ ํธ๋ ์ด ์ ๋ ๊ท๋ชจ์ ์ฒซ ํ๋ก์ ํธ์ ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ํฌ, ์ํคํ ์ฒ ๋ฐ ๋์์ธ ๊ฒฐ์ , ์ ํ๋ ๋ฆฌ์์ค๋ก ๋ณต์กํ ์์คํ ์ ํตํฉํ๊ณ ํ๋ก๋์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ๊ท์คํ ๊ตํ์ ์ป์์ต๋๋ค.
๋ฌผ๋ก , ์ฝ๋์ ์์คํ ํตํฉ ์ธํฐํ์ด์ค ๋ชจ๋์์ ์์ง ํด์ผ ํ ์ผ์ด ๋ง์ต๋๋ค. ์ด ํ๋ก์ ํธ๋ ์์ง ์ด๊ธฐ ๋จ๊ณ์ด์ง๋ง, ์ ํฌ๋ ์ด ํ๋ก์ ํธ๋ฅผ ์์ ์ ์ด๊ณ ํธ๋ฆฌํ ์๋น์ค๋ก ๋ฐ์ ์ํค๊ฒ ๋ค๋ ํฌ๋ถ๋ก ๊ฐ๋ ์ฐจ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฏธ ์์คํ ์ ์ค๋ํ๋ ๋ฐ ์ฑ๊ณตํ์ต๋๋ค. ๋น์ ๊ณ์ฐ, ์ฒญ๊ตฌ, ์ฌ์ฉ์ ์์ฒญ์ ์๊ธฐ ์ท์ฅ์์ ์ฑ์คํ๊ฒ ์ฒ๋ฆฌํฉ๋๋ค. ํ ์คํ ํ๋์ "๋ง๋ฒ"์ ์์ ์ ์ธ ์ฐ๊ฒฐ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ OpenStack๋ง์ด ๊ฐ๋ "WSREP์ด ์์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ ๋ ธ๋๋ฅผ ์ค๋นํ์ง ์์์ต๋๋ค"์ ๊ฐ์ ์๋ฆฌ๋ฅผ ๋ด๋ฉฐ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ธฐ๋ ํฉ๋๋ค. ํ์ง๋ง ๊ทธ๊ฑด ์์ ํ ๋ค๋ฅธ ์ด์ผ๊ธฐ์ ๋๋ค...
์ฐ๋ฆฌ๋ ์ต๊ทผ ์๋น์ค๋ฅผ ์์ํ์ต๋๋ค.
์์ธํ ๋ด์ฉ์ ๋น์ฌ์์ ํ์ธํ์ค ์ ์์ต๋๋ค. .

CLO ๊ฐ๋ฐํ
์ ์ฉํ ๋งํฌ
OpenStack
ํ ์คํ ์ง๋ฌผ
์ถ์ฒ : habr.com
