Immutable Infrastructure (๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ) ํ์ ๋ฐฐ๊ฒฝ
mutable Infrastructure (๋ณ๊ฒฝ ๊ฐ๋ฅํ ์ธํ๋ผ)
์ฐ๋ฆฌ๋ ์๋์ฐ์ฆ๋ ๋งฅ์ ์ฌ์ฉํ๋ฉด์ ๋ณด์, ์์ ์ฑ ๊ทธ๋ฆฌ๊ณ ์ฑ๋ฅ ๋ฑ์ ์ด์ ๋ก OS(์ด์์ฒด์ )๋ฅผ ์์ฃผ ์ ๋ฐ์ดํธ ํ๋ค. OS๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ด์ฉ์ด๋ ์ค์ ์ด ์์๋ก ๋ณํ๊ฐ ๋ฐ์ํ๋ฉฐ, ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฅผ ์ค์นํ ๋๋ ๋ ์ง์คํธ๋ฆฌ๋ ๋ณ๊ฒฝํ๋ค. ์ง๊ธ๊น์ง ์ฌ์ฉํ๋ ๋ง์ ์ํํธ์จ์ด๋ค์ ์ ๋ฐ์ดํธ๋ ์ค์ ๋ณ๊ฒฝ ๋ฑ์ ๋ฐ๋ณตํ๋ฉด์ ์ต์ ์ํ๋ก ์ ์งํ์๊ณ , ์๋ฒ์ฉ ์ํํธ์จ์ด๋ ์ ์ฌํ ๋ฐฉ๋ฒ์ผ๋ก ๊ด๋ฆฌํ๋ค.
์๋ฒ์ ๊ฒฝ์ฐ์๋ OS ์ค์ ๋ณ๊ฒฝ์ด๋ ์ ๋ฐ์ดํธ ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๊ฐ ์์ฃผ ๋ฐ์ํ๋ ๊ฒฝ์ฐ์
- ์๋น์ค์ ์์ ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์๋ฒ ํ๊ฒฝ ์์ฒด๊ฐ ํ๊ดด๋๋ ๊ฒฝ์ฐ๋ ์๋ค.
- ์ธ์ ์ด๋ ๋ถ๋ถ์ด ๋ณ๊ฒฝ๋์๋์ง ์ด๋ ฅ๊ด๋ฆฌ๊ฐ ๋์ง ์๊ณ , ๋ณ๊ฒฝ ์ ๋ณด ๊ณต์ ๊ฐ ๋์ง ์์ผ๋ฉด ์์คํ ์์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ฌ๋ ๋์ฒ ๋ฐฉ๋ฒ์ ์ ์ ์๋ค.
- ๊ธฐ์กด์๋ ์๋ฒ๋ฅผ ๊ต์ฒดํ๋ ๋น์ฉ์ด ๋๋ฌด ๋ง์ด ๋ค์๊ธฐ ๋๋ฌธ์ 3๋
, 5๋
, 10๋
๋ฑ์ ์ ์ง ๋ณด์ ๊ธฐ๊ฐ์ ์ค์ ํ์ฌ ์ฅ๋น๋ฅผ ์์ฌ์์ ๊ตฌ๋งคํ๊ณ ์ด ๊ธฐ๊ฐ์ด ๋๋ ๋๊น์ง ์ฌ์ฉํ๋ค.
- ์ผ๋จ ๊ตฌ์ถํ๊ณ ๋ ๋ค ์ ์ง ๋ณด์ํ๋ฉด์ ์ต๋ํ ์ค๋ซ๋์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. ์ฅ๋น๋ฟ๋ง ์๋๋ผ OS์ ๋ฏธ๋ค์จ์ด ๋ฒค๋๋ ์ ์ง ๋ณด์ ๊ธฐ๊ฐ์ด ์์ผ๋ฉฐ OS·๋ฏธ๋ค์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ค์ ์ด์ ๋ชจ๋์ ํธ๋ํฝ์ ๋ง์ถ ํผํฌ๋จผ์ค ํ๋๋ ์ํํ๋ ๋ฑ ์ธํ๋ผ ๊ด๋ จํด ์ฌ๋ฌ ๊ฐ์ง ๊ตฌ์ฑ ์์๋ฅผ ๋ณ๊ฒฝํ๋ฉด์ ์ด์ ๊ด๋ฆฌ ํ๋ค. ์ด ๋๋ฌธ์ ์ธํ๋ผ ๊ตฌ์ถ ๊ท๋ชจ๊ฐ ํฌ๋ฉด ํด์๋ก ์ธํ๋ผ ๊ตฌ์ฑ๊ด๋ฆฌ์ ๋ํ ๋ถ๋ด๋ ๋์ด๋ฌ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ์๋ฒ๋ฅผ ๊ตฌ์ถํ ์ดํ์๋ ๋ณ๊ฒฝ์ด๋ ์ ๋ฐ์ดํธ๋ฅผ ํ ์ ์๊ฒ ํ๋ Immutable Infrastructure (๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅ ํ ์ธํ๋ผ) ์ด๋ค.
Immutable Infrastructure (๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ)
“๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ” ๋ ์๋ฒ๋ฅผ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ(Immutable) ๊ฒ์ผ๋ก ์ทจ๊ธํ๋ ๊ฐ๋ ์ด๋ค.
๋ง์ฝ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ์์ ์๋ก์ด ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์๋ฒ๋ฅผ ๋ณ๊ฒฝํ์ง ๋ชปํ๋๋ก ํ์ฌ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ฅ์ ์ ๋ฐ๋ก “์๋ฒ๋ฅผ ํญ์ ๊นจ๋(Clean)ํ ์ํํ ์ํ๋ก ์ ์ง” ํ๋ ๊ฒ์ด๋ค.
์ด ๊ฐ๋ ์ ๋ง์น DVD ๋ก ์ํํธ์จ์ด๋ฅผ ๋ฐฐํฌํ ๋ ์ํํธ์จ์ด์ ๋ณ๊ฒฝ์ด ์๊ธฐ๋ฉด ์๋ก์ด ์ด๋ฏธ์ง๋ก DVD๋ฅผ ์ ์ํ๋ ๊ฐ๋ ์ด๋ค. ์ฆ ์๋น์ค ์ด์ํ๊ฒฝ์ ํธ์คํธOS ์ ๋ถ๋ฆฌํ ํ ์ด๋ฏธ์ง๋ก ์์ฑํ์ฌ ์๋ฒ์ ๋ฐฐํฌํ์ฌ ์คํํ๋ค. ์๋น์ค๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒฝ์ฐ์๋ ์ด์ํ๊ฒฝ์ ๋ณ๊ฒฝํ์ง ์๊ณ ์ด๋ฏธ์ง๋ฅผ ์๋ก ์์ฑํ์ฌ ๋ฐฐํฌํ๋ ๊ฒ์ด๋ค.
๋ํ ํด๋ผ์ฐ๋์ ์ปจํ ์ด์ด๋ ๊ธฐ์ , ๊ฐ์ํ ๊ธฐ์ ๋ค์ด ๋ฐ์ ํ๋ฉด์ ์๋น์ค ์ด์ ํ๊ฒฝ์ ์ด๋ฏธ์ง๋ก ๊ตฌ์ฑํ์ฌ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ด ๊ฐ๋ฅํ๊ฒ ๋๋ฉด์ “๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ” ๋์ ์ด ํ์ฐ๋๊ธฐ ์์ํ์์ต๋๋ค.
Immutable Infrastructure ์ ๋ฐฐ๊ฒฝ ๊ธฐ์ ๋ก๋ ์คํ ์ค์ผ์ผ๋ง(Auto Scaling)๊ณผ ๋ธ๋ฃจ-๊ทธ๋ฆฐ ๋ฐฐํฌ ๋ฐฉ์(Blue-Green Deployment) ๊ฐ ์๋ค.
- Auto Scaling์ ๋ถํ์ ๋ฐ๋ผ ์๋์ผ๋ก ์๋ฒ ๋์๋ฅผ ์ฆ๊ฐ์ํค๋ ๊ธฐ์
- ํญ์ ํ์ํ ๋์๋ง ์์ํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ ์ ๊ฐ๋๋ค. Auto Scaling์ ์๋ฒ๊ฐ ์๋์ผ๋ก ํ์ฅํ๊ฑฐ๋ ์ถ์๋๊ธฐ ๋๋ฌธ์ ์๋ฒ๋ฅผ ์ผํ์ฉ์ผ๋ก ์ฐ๊ณ ๋ฒ๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ์ด์ํ ์ ์๋ค.
- Blue-Green Deployment ์ฃผ๋ก ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ์ฉ๋๋ ๋ฐฐํฌ ํจํด
- ์ง๊ธ๊น์ง์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ฒ์ ๋ณต์ฌํ ํ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ์์ํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ Blue-Green Deployment์์๋ ์๋ฒ ๊ทธ๋ฃน์ ํต์งธ๋ก ๋ณต์ ํ์ฌ ๋ก๋ ๋ฐธ๋ฐ์์์ ์ ํํ์ฌ ๋ฐฐํฌํ๋ ๋ฐฉ์์ด๋ค.
- ๋ง์ฝ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๊ฐ 100 ๋ ์์ผ๋ฉด ์๋ก์ด ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์น ํ ์๋ฒ๋ฅผ ๋ค์ 100 ๋ ์ค์นํ๊ณ ์คํํ ํ, ์๋ก์ด ์๋ฒ ๊ทธ๋ฃน์ผ๋ก ํธ๋ํฝ์ ์ ํํ๋ ๊ฒ์ด๋ค. ์ด๋ ๊ฒํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ์์ํ ๋ ์ฑ๋ฅ ์ ํ๋ฅผ ๊ฑฑ์ ํ ํ์๊ฐ ์์ผ๋ฉฐ ๋กค๋ฐฑ๋ ์์ฝ๊ฒ ํ ์ ์๋ค.
- Auto Scaling๋ฟ๋ง ์๋๋ผ Blue-Green Deployment์์ ์๋ฒ๋ ์ผํ์ฉ์ผ๋ก ๋ค๋ฃจ๊ธฐ ๋๋ฌธ์ ์๋ฒ์ ๊ตฌ์ถ๊ณผ ๊ด๋ฆฌ๋ฅผ ๋จ์ํ ํ ์ ์๋ค.
๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ(Immutable Infrastructure)๋ ์๋ฒ๋ฅผ ์ผํ์ฉ์ผ๋ก ์ทจ๊ธํ๋ ๊ฐ๋ ์ด๊ณ ,
๋ณ๊ฒฝ ๊ฐ๋ฅํ ์ธํ๋ผ(mutable Infrastructure)๋ ํญ์ ์ด์๊ฐ๋ฅํ ์ํ์ด๊ณ , ๋์ฒด ๋ถ๊ฐ๋ฅํ ์ ์ผํ ์์คํ ์ผ๋ก ๋ค๋ฃจ๋ ๊ฐ๋ ์ด๋ค.
์ฆ ์ผํ์ฉ ์ข ์ด์ปต๊ณผ ๊ณ ๊ธ ๋์๊ธฐ ์ปต๊ณผ ๋น์ ๋ ์ ์๋ค. ์ข ์ด์ปต์ ํ๋ฒ ์ฐ๊ณ ๋ฒ๋ฆฌ์ง๋ง ์ปต ํ๋๋ฅผ ๊ตฌ๋งคํ๋๋ฐ ๋ถ๋ด์ค๋ฌ์ ํ์ง ์๋๋ค. ๊ณ ๊ธ ๋์๊ธฐ ์ปต์ ์ด๋จ๊น? ๊นจ์ง๋ฉด ๋ชจ๋ ๊ฒ์ด ๋๋๊ฒ ๋๋ค.
๊ทผ๋ณธ์ ์ฐจ์ด์
๋ณ๊ฒฝ ๊ฐ๋ฅํ ์ธํ๋ผ์ ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ ๊ฐ์ ๊ฐ์ฅ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด์ ์ ์ ์ฑ ์ ์๋ค.
์ ์๋ ์๋ฒ ์ปดํฌ๋ํธ๋ค์ ๋ฐฐํฌํ ํ์๋ ๋ณ๊ฒฝ๋๋๋ก ์ค๊ณ๋ ๋ฐ๋ฉด, ํ์์ ๊ฒฝ์ฐ์๋ ๋ฐฐํฌ๋ ์๋ฒ ํ๊ฒฝ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๊ถ๊ทน์ ์ผ๋ก๋ ๊ธฐ์กด ๊ฒ์ ๋ฒ๋ฆฌ๊ณ ์ ๊ฒ์ผ๋ก ๋์ฒดํ๋ ๊ฒ์ด๋ค.
๋ ๊ฐ์ง์ ์ธํ๋ผ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ์๋ฒ๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌ ( ์์ฑ, ์ ์ง, ์ ๋ฐ์ดํธ, ์ ๊ฑฐ)ํด์ผ ํ๋์ง์ ๋ํ ์ ๊ทผ ๋ฐฉ๋ฒ์์ ๋ค๋ฅธ ์ ์ด ์์ต๋๋ค.
Container
์ปจํ ์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ค.
์ผ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐจ์ด๋ ์ปจํ ์ด๋ ๋ผ๋ฆฌ ์์ ํ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ค๋ ๊ฒ์ด๋ค.
์ปจํ ์ด๋๋ ๊ฐ๋ณ์ ์ธ cpu, memory, network, disk ๋ฑ์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๊ณ ๋์ํ๊ธฐ ๋๋ฌธ์ ์๋ก ์ํฅ์ ์ฃผ์ง ์๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ๊ฐ์ ์ปจํ ์ด๋๊ฐ ์คํ์ค์ผ ๋ ์ผ๋ถ ์ปจํ ์ด๋๋ง ์ถ๊ฐ ๊ธฐ๋ฅ ๊ฐ๋ฐ ํ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํ๋ค.
Docker
์ปจํ ์ด๋๋ ์ด๋ป๊ฒ ๋์ํ๋๋? ๋์ปค๋ฅผ ํตํด ๋์๋๋ค.
Docker(๋์ปค) ๋ Immutable Infrastructure(๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ)๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ ์์์ด๋ค.
OS ๋ฅผ ํฌํจํ์ฌ ์๋ฒ์ ์ํํธ์จ์ด ๊ตฌ์ฑ์ ์ผ์ ํ๊ฒ ๊ณ ์ ์ํค๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ ๋์ปค๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ OS ํ๊ฒฝ๊ณผ ํจ๊ป ๋ฐฐํฌํ๊ณ ์ด์ํจ์ผ๋ก์ ํธ์คํธ OS ์์ฒด์ ๋ํ ๋ณ๊ฒฝ ์์ด ์์ ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ์คํํ ์ ์๋ ๊ตฌ์กฐ์ด๋ค.
์ ํ๋ฆฌ์ผ์ด์
์คํํ๊ฒฝ์ด Docker ์์ ์ ๊ณตํ๋ ๊ฐ์OSํ๊ฒฝ์ด ์ด๊ธฐ ๋๋ฌธ์ ์ธ์ ๋ ์ง ์๋ฒ๋ฅผ ํ๊ธฐ/์์ฑ ํ ์ ์์ด ํธ์คํธ OS ํ๊ฒฝ์ ๋ฌธ์ ๋ก ๋ถํฐ ๋ฒ์ด ๋ ์ ์๋ค.
- ๋์ปค ํธ์คํธ : ๋์ปค ๋ฐ๋ชฌ์ด ๋์๋๊ณ ์๋ ์์คํ
- ๋์ปค ํ๋ก์ธ์ค๊ฐ ์คํ๋์ด ์๋ฒ๋ก์ ์ ๋ ฅ์ ๋ฐ์ ์ค๋น๊ฐ ๋ ์ํ๋ฅผ ๋์ปค ๋ฐ๋ชฌ์ด๋ผ๊ณ ํ๋ค.
- ๋ฆฌ๋ ์ค ์ปค๋์ ๊ฐ๊ณ ์๋ ์์คํ (๋งฅ, ์๋์ฐ ๋ฑ)์์ ๋์ปค๋ฅผ ์ค์นํด์ ๋ฐ๋ชฌ์ ์คํํ๋ค.
- ๋ฐ๋ผ์, ๋ฐ๋ชฌ์ด ์คํ๋๊ณ ์๋ ๋ฆฌ๋ ์ค ์ปค๋์ด ์๋ ์์คํ ์ ๋์ปค ํธ์คํธ๋ผ๊ณ ํ๋ค.
- ์ฆ, ๋์ปค๊ฐ ์ปจํ ์ด๋๋ฅผ ์คํํ ์ ์๋ ํ๋ซํผ์ ๋ง๋ค์ด ๋จ๋ค๋ ๋ป
- ๊ฐ ์ปจํ ์ด๋๋ค์ด ๋์ปค ๋ฐ๋ชฌํ์ ๊ฐ๋ณ์ ์ผ๋ก ๋์๋จ
- ์ปค๋์ ํ๋
- ํธ์คํธ ์ ์ฅ์์ ์ปจํ ์ด๋๋ ๋จ์ํ ๋์๋๊ณ ์๋ ํ๋ก์ธ์ค์ด์ง๋ง, ์ฌ์ฉ์ ์ ์ฅ์์ ์ปจํ ์ด๋๋ ์์ ํ ๋ ๋ฆฝ์ ์ธ ๊ณต๊ฐ์์ ์คํ๋๊ณ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ค.
IMMUTABLE INFRASTRUCTURE ( ๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ ) ์ฅ์ – DOCKER
- ๋ชจ๋ ์๋ฒ๋ฅผ ๋์ผํ ์ํ๋ก ์ ์ง
- ์๋ฒ๋ค์ Ansible/Puppet/Chef ์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋์๊ฐ ๋์ ์ ๋ฐ์ดํธ์ ํจ์น๋ฅผ ๊ฑฐ๋ญํ๋ฉด์ ๊ด๋ฆฌ๋์๋ค๊ณ ๊ฐ์ ํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ทธ ์๋ฒ๋ค์ ์ํ๊ฐ ๋ชจ๋ ๋์ผํ๊ฒ ์ ์ง๋๊ณ ์๋ค๊ณ ์์ ์๊ฒ ๋งํ ์ ์์๊น? ์๋ฒ๋ฅผ ์๋์ด ์๋ ์๋ํ๋ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌํ๋ค๋ ๊ฒ์ ๊ด๋ฆฌ์ ํจ์จ์ฑ์ ๋ณด์ฅํ์ง๋ง ๋ชจ๋ ์๋ฒ๋ค์ ์ํ๋ฅผ ๋์ผํ๊ฒ ์ ์ง ํ๋ค๊ณ ํ ์ ์๋ค.
- “๋ณ๊ฒฝ ๋ถ๊ฐ๋ฅํ ์ธํ๋ผ”์์๋ ์๋ฒ์ ๋ณ๊ฒฝ์ด ํ์ํ๊ฒ ๋๋ฉด ๋ชจ๋ ์๋ฒ์ ์ด๋ฏธ์ง๋ฅผ ์๋ก ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์๋ฒ๊ฐ ๋์ผํ ์ํ์์ ๋ณด์ฅํ๋ค.
- ์ธ์ ๋ ์ง ์ฆ์ ์ด์ ๊ฐ๋ฅํ ์๋ฒ ๊ตฌ์ถ
- ์ธ์ ๋ ์ง ์ฆ์ ์ด์ ๊ฐ๋ฅํ ์๋ฒ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค๋ฉด ์๋น์ค์ ๊ฐ์ฉ์ฑ์ ํ์คํ๊ฒ ๋ณด์ฅ ํ ์ ์๋ค.
- ์๋ฌด๋ฆฌ ํด๋ผ์ฐ๋ํ๊ฒฝ์์ ์์คํ ์ ์ด์ ์ค์ด๋ผ๊ณ ํ๋๋ผ๋ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด๋ฏ๋ก ๋ฐ๋์ ๋ฌผ๋ฆฌ์ ์ธ ๊ณ ์ฅ์ด ๋ฐ์ํ ์ ์๋ค.
- ๋ง์ฝ ๋ง์ฝ ์ฅ์ ์ํฉ์์ ์๋ฒ๋ฅผ ์ฒ์๋ถํฐ ์ค์นํด์ผ ํ๋ค๋ฉด, ์๊ฐ์ ๋ฌธ์ ๋ฟ๋ง์ด ์๋๋ผ ๋น์ฆ๋์ค์๋ ํฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
- Provisioning ์ ๋จ์ํ๊ฒ
- “๋ณ๊ฒฝ ํ ์ ์๋ค”๋ ๊ฒ์ “Ansible์ ์ต์ด ํ ๋ฒ๋ง ์คํํ๋ ๊ฒ‘์ด๋ค.
- Ansible์ ์คํ ์์ค ์ํํธ์จ์ด ํ๋ก๋น์ ๋, ๊ตฌ์ฑ ๊ด๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ ๋๊ตฌ์ด๋ค.
- Ansible์ '๋ฉฑ๋ฑ์ฑ'์ด๋ผ๋ ์ค์ํ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค. ์ด๊ฒ์ ๋์ผํ ์๋ฒ์ Ansible์ ์ฌ๋ฌ ๋ฒ ๋ฐ๋ณตํด์ ์คํํด๋ ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ๊ฒ์ด๋ค.
- Immutable Infrastructure ํ๊ฒฝ์์๋ ์ต์ด์ ์ํ์์ ๋ณํ๊ฐ ํ์์๊ธฐ ๋๋ฌธ์ ๋ฉฑ๋ฑ์ฑ์ด ๋ถํ์ํ๋ค.
- ํ
์คํธ์ ํธ์ด์ฑ
- Immutable Infrastructure์์๋ ๊ฐ๋ฐ/์คํ ์ด์ง/์ด์ ๋จ๊ณ์์ ๋ชจ๋ ์๋ฒ ์ํ๊ฐ ๋์ผํ๊ฒ ๋ณด์ฅ๋์ด ์๊ธฐ ๋๋ฌธ์, CI๋ฅผ ํตํ ํ ์คํธ์ ๋ํ ์ ๋ขฐ๋๊ฐ ๋์์ง๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ์ด์์ฑ ํฅ์ Docker Hub๋ฅผ ํตํด ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๊ณต์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ธ๊ณ ๋๊ตฌ๋ โโ๋์ผํ ์์คํ ์ฌ์์ด๋ฉด ๊ฐ์ ํ๊ฒฝ์ ์๋ฒ๋ฅผ ๊ตฌ์ถ ํ ์ ์๋ค.
- ๊ธ๋ก๋ฒํ ๊ฐ๋ฐ ์ปค๋ฎค๋ํฐ์์๋ ๋จธ์ ์ด๋ฏธ์ง์ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ๋ฅผ ๊ณต์ ํ๋ฉด ์์ฝ๊ฒ ๊ฐ๋ฐํ๊ฒฝ์ ๊ณต์ ํ ์ ์์ต๋๋ค.
- ๋ชจ๋์ฑ
- Docker์ ์ปจํ ์ด๋ํ ์ ๊ทผ ๋ฐฉ์์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถํดํ ํ์ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๋ถ๋ฅผ ๋ถํดํ๊ณ , ์ ๋ฐ์ดํธ ๋๋ ๋ณต๊ตฌํ๋ ๋ฅ๋ ฅ์ ์ง์ค๋์ด ์๋ค.
- ์ฌ์ฉ์๋ ์ด ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์ ์ธ์๋ SOA(service-oriented architecture)์ ์๋ ๋ฐฉ์๊ณผ ๋์ผํ๊ฒ ๋ฉํฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ด์์ ํ๋ก์ธ์ค๋ฅผ ๊ณต์ ํ ์ ์๋ค.
- ๊ณ์ธต ๋ฐ ์ด๋ฏธ์ง ๋ฒ์ ์ ์ด
- ๊ฐ Docker ์ด๋ฏธ์ง ํ์ผ์ ์ผ๋ จ์ ๊ณ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ์ด ๊ณ์ธต๋ค์ ๋จ์ผ ์ด๋ฏธ์ง๋ก ๊ฒฐํฉ๋๋ค.
- ์ด๋ฏธ์ง๊ฐ ๋ณ๊ฒฝ๋ ๋ ๊ณ์ธต์ด ์์ฑ๋๊ณ , ์ฌ์ฉ์๊ฐ ์คํ ๋๋ ๋ณต์ฌ์ ๊ฐ์ ๋ช ๋ น์ ์ง์ ํ ๋๋ง๋ค ์ ๊ณ์ธต์ด ์์ฑ๋๋ค.
- Docker๋ ์๋ก์ด ์ปจํ ์ด๋๋ฅผ ๊ตฌ์ถํ ๋ ์ด๋ฌํ ๊ณ์ธต์ ์ฌ์ฌ์ฉํ๋ฏ๋ก ๊ตฌ์ถ ํ๋ก์ธ์ค๊ฐ ํจ์ฌ ๋ ๋นจ๋ผ์ง๋ค.
- ์ค๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ด ์ด๋ฏธ์ง ์ฌ์ด์์ ๊ณต์ ๋๋ฏ๋ก ์๋, ๊ท๋ชจ, ํจ์จ์ฑ์ด ๋ ๊ฐ์ ๋ฉ๋๋ค.
- ๊ณ์ธตํ์๋ ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๋ด์ฌ๋์ด ์์ผ๋ฉฐ ์๋ก์ด ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ ๋๋ง๋ค ๋ด์ฅ ๋ณ๊ฒฝ ๋ก๊ทธ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฉ๋๋ฏ๋ก ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ ํ ์ ์ดํ ์ ์์ต๋๋ค.
- ๋กค๋ฐฑ
- ๊ณ์ธตํ์์ ๊ฐ์ฅ ์ ์ฉํ ๋ถ๋ถ์ ์๋ง๋ ๋กค๋ฐฑ ๊ธฐ๋ฅ์ผ ๊ฒ์ด๋ค.
- ๋ชจ๋ ์ด๋ฏธ์ง์๋ ๊ณ์ธต์ด ์์ผ๋ฉฐ, ํ์ฌ์ ์ด๋ฏธ์ง ๋ฐ๋ณต์ด ์ ์ ํ์ง ์์ ๊ฒฝ์ฐ ์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ๋ฉด ๋ฉ๋๋ค.
- ์ด ๊ธฐ๋ฅ์ ์ ์์ผ(agile) ๊ฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ง์ํ๋ฉฐ ํด ๊ด์ ์์ ์ค์ ๋ก ์ง์์ ์ธ ํตํฉ ๋ฐ ์ฐ์ ๋ฐฐํฌ(Continuous Integration and Deployment, CI/CD)๋ฅผ ์ํํ๋ ๋ฐ ๋์์ ์ค๋ค.
- ์ ์ํ ๋ฐฐํฌ
- ์๋ก์ด ํ๋์จ์ด๋ฅผ ์ค๋นํ๊ณ , ์คํํ๊ณ , ํ๋ก๋น์ ๋ํ๊ณ , ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ค๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ฉฐ์น ์ด ์์๋์๊ณ , ๋ง์ ๋ ธ๋ ฅ๊ณผ ๋ถ๊ฐ์ ์ธ ์ ๋ฌด๊ฐ ํ์ํ๋ฏ๋ก ๋ถ๋ด๋ ์๋นํ๋ค.
- Docker ๊ธฐ๋ฐ ์ปจํ ์ด๋๋ ๋ฐฐํฌ ์๊ฐ์ ๋ช ์ด๋ก ๋จ์ถํ ์ ์๋ค. ๊ฐ ํ๋ก์ธ์ค์ ๋ํ ์ปจํ ์ด๋๋ฅผ ์์ฑํจ์ผ๋ก์จ ์ฌ์ฉ์๋ ์ ์ฌํ ํ๋ก์ธ์ค๋ฅผ ์ ์ฑ๊ณผ ๋น ๋ฅด๊ฒ ๊ณต์ ํ ์ ์๋ค.
- ๋ํ, ์ปจํ ์ด๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ด๋ํ๊ธฐ ์ํด OS๋ฅผ ๋ถํ ํ ํ์๊ฐ ์์ผ๋ฏ๋ก ๋ฐฐํฌ ์๊ฐ์ด ํฌ๊ฒ ๋จ์ถ๋๋ค.
- ์ด๋ฟ๋ง ์๋๋ผ ๋ฐฐํฌ ์๋๊ฐ ๋นจ๋ผ ์ปจํ ์ด๋์์ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ๋น์ฉ ํจ์จ์ ์ผ๋ก ์ฝ๊ฒ ์์ฑํ๊ณ ์ญ์ ํ ์ ์๊ณ ์ฌ์ฉ์๋ ์ฐ๋ ค๋ฅผ ํ ํ์๊ฐ ์๋ค.
- ์ฆ, Docker ๊ธฐ์ ์ ํจ์จ์ฑ์ ์ค์ํ๋ฉฐ ๋ ์ธ๋ถํ๋๊ณ ์ ์ด ๊ฐ๋ฅํ ๋ง์ดํฌ๋ก์๋น์ค ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ด๋ค.
์ฐธ๊ณ
'๐ > DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํด๋ผ์ฐ๋๋ฅผ ์ ์ดํ๋ API์ ๋์ ๋ฐฉ์ (0) | 2021.08.26 |
---|---|
[DevOps] DevOps์ ์ดํด (0) | 2021.07.29 |
๋๊ธ