์ค๋ ํ๋ถ ์์ ์ ๋ค์ผ๋ฉด์ ํ๋ก์ธ์ค์ ๊ดํ ๋ด์ฉ์ ๋ค์๋๋ฐ, ๋๋ฌด ์ ์ตํ ๋ด์ฉ์ธ ๊ฒ ๊ฐ์์ ์ ๋ฆฌํ๋ ค๊ณ ํ๋ค.
ํ๋ก์ ํธ๋ฅผ ์ ์ฑ๊ณต์ํค๋ ค๋ฉด ๊ฐ๋ฐ์ ํ๋ฆฌํฐ๋ฟ๋ง ์๋๋ผ, ๊ฐ๋ฐ๋ฌธ์์๋ ์๊ฐ์ ํฌ์ํด์ผ ํ๋ค.
ํ๋ก์ธ์ค๋?
์ฃผ์ด์ง ๋ชฉ์ ์ ์ํด ์ํ๋๋ ์ผ๋ จ์ ์ ์ฐจ
"๋ด๊ฐ ๋ญ ํด์ผ๋ ์ง ์ ํด์ ธ ์๋ ๋ชฉ์ฐจ"
ํ์
์์ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋, ์ด๋ค ์ ์ฐจ๋ก ์งํ๋๋์ง ๊ผญ ์์์ผ ํ ๊ฒ์ด๋ค.
์ฌ์ด๋ ํ๋ก์ ํธ์ฌ๋, ์ด๋ค ํ๋ก์ ํธ๋์ ๋ฐ๋ผ ๋ง๋ ํ๋ก์ธ์ค๋ฅผ ์ ํํ์ฌ ํจ์จ์ ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํด์ผ ํ๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ ์ ํํ๋ฉด,
- ์ํํธ์จ์ด์ ๊ฐ๋ฐ ๋ชฉํ๊ฐ ๋ช ํํด์ง๋ค.
- ํ๋ก์ ํธ์ ์คํจ๋ฅผ ๋ง์ ์ ์๋ค.
- ์ํํธ์จ์ด์ ํ์ง์ ํ๋ก์ธ์ค์ ํ์ง์ ์ํด ๊ฒฐ์ ๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ (Software Development Life Cycle)
์ํํธ์จ์ด๋ฅผ ์ด๋ป๊ฒ ๊ฐ๋ฐํ ๊ฒ์ธ๊ฐ?์ ๋ํ ์ถ์์ ํํ
์ฃผ๋จน๊ตฌ๊ตฌ์ ๊ฐ๋ฐ ๋ชจ๋ธ(Build-Fix Model)
๋ณดํต ํ๋ถ์์ ์งํํ๋ ํ๋ก์ ํธ์ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ์ด๋ค. ์ค๊ณ ์์ด ์ผ๋จ ๊ฐ๋ฐ์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋งํ๋ฉฐ, ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์์ ๊ท๋ชจ์ ํ๋ก์ ํธ์ ์ ์ฉ๋๋ค.
Ad-hoc (๊ทธ๋๊ทธ๋ ๋ค๋ฅด๊ฒ)๋ผ๊ณ ๋ ํ๋ฉฐ, ์ ์๋์ด์๋ ํ๋ก์ธ์ค๊ฐ ์๋ค.
์ด ๋ชจ๋ธ์ ์์ ํ๋ก์ ํธ๋ผ๋ฉด ์ถฉ๋ถํ ์ ํ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
ํญํฌ์ ๋ชจ๋ธ (Waterfall Model)
ํญํฌ์ฒ๋ผ ๋จ์ด์ง๋ ๋ชจ์ต์ ๋ชจ๋ธ
๋ณดํต ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ํ์ ์ธ ๊ฐ๋ฐ ๋ชจ๋ธ์ด๋ค. **
์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ๊ณผ์ ์ ๋๋์ด ์ฒด๊ณ์ ์ด๊ณ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์, ์ -> ์๋์ ์์๋ฅผ ์งํค๋, ๋ค์ ์ ๋จ๊ณ๋ก ๋์๊ฐ์ง ์๋๋ค.
์๋ฅผ ๋ค์ด, **์ค๊ณ ๋จ๊ณ๊ฐ ๋๋๊ณ ๊ตฌํ ๋จ๊ณ ์ค์์,๋ณ๋์ฌํญ์ด ์๊ฒผ๋ค๊ณ ํด์ ๋ค์ ์ค๊ณ๋ก ๋์ด๊ฐ์ง ์๋๋ค. (๋ฌผ๋ก ๋์๊ฐ ๋๋ ์์ง๋ง, ๋น์ฉ์ด ๋ง์ด ๋ ๋ค.)
๋ง์ฝ ๋ณ๋์ฌํญ์ด๋ ํผ๋๋ฐฑ์ฌํญ์ด ์๋ค๋ฉด ๋ค์ ํ๋ก์ ํธ์ ๋ฐ์ํ๋ค.
- ์๊ตฌ์ฌํญ ๋ถ์
๊ฐ๋ฐํ๋ ค๋ ์ํํธ์จ์ด์ ์๊ตฌ์ฌํญ์ ์์งํ๊ณ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ๋ถ์ํ๋ค. - ์ค๊ณ
ํ๋ก๊ทธ๋จ์ ์ ๋ฐ์ ์ธ ๊ตฌ์กฐ, ์๊ณ ๋ฆฌ์ฆ ๋ฑ ์์คํ ์ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ ํ๋ค. - ๊ตฌํ
์ค๊ณ ๋ช ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋ชจ์ต์ผ๋ก ๋ณํ์ํจ๋ค.- ํ
์คํธ
ํ๋ก๊ทธ๋จ์ด ์ ๋ ฅ๋๋ก ์ ์๋ํ๋์ง ํ ์คํธ๋ฅผ ์ํํ๊ณ , ๋ฌธ์ํํ๋ค. - ์ ์ง๋ณด์
์ํํธ์จ์ด์ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฉํ๊ณ , ์์ , ๊ธฐ๋ฅ์ถ๊ฐ ๋ฑ์ ์ํํ๋ค.
- ํ
์คํธ
ํญํฌ์๋ชจ๋ธ์ ๊ฐ์ฅ ์ ํํ๋์ด์๊ณ , ์งํ์ ๋ช
ํํ๊ฒ ํ ์ ์์ง๋ง ๋จ๊ณ๊ฐ ํ์คํ๊ฒ ๋๋์ด์ ธ ์์ด ์ ๋จ๊ณ๊ฐ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผํ๋ ๋จ์ ์ด ์๋ค.
๋ํ, ๊ณ ๊ฐ ์
์ฅ์์ ์ํํธ์จ์ด ๊ตฌํ์ ๋ฆ๊ฒ ํ์ธํ ์ ์์ด ์๊ตฌ์ฌํญ ํ์ธ์ ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
์ํ๋ชจ๋ธ (Prototyping Model)
์ ์ง์ ์ผ๋ก ๊ฐ๋ฐํด๋๊ฐ๋ ๋ชจ๋ธ
ํญํฌ์๋ชจ๋ธ์ ๋จ์ ์ ๋ณด์ํ ๋ชจ๋ธ์ด๋ค.
์ํ์ ๋ง๋ค์ด ๊ณ ๊ฐ๊ณผ ์ฌ์ฉ์๊ฐ ํจ๊ป ํ๊ฐํ๋ ๋ฐฉ์์ด๋ค.
- ํ๊ธฐ ํ๋กํ ํ์
(Throw away Prototype)
๊ณ ๊ฐ์ผ๋ก๋ถํฐ ํผ๋๋ฐฑ์ ๋ฐ์ ํ ์ํ์ ํ๊ธฐํ๋ค. - ์งํ์ ํ๋กํ ํ์
์ค์ํ ๋ถ๋ถ๋ง ๊ตฌํํ ๋ค, ์ง์์ ์ผ๋ก ๋ฐ์ ์์ผ ์์ ํ์ ์ ์ํ๋ค.
๋ณดํต์ ๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ์์ ํ ํ์
ํ๊ธฐ ์ด๋ ค์ธ ๋ ์ฌ์ฉํ๋ ๋ชจ๋ธ์ด๋ฉฐ, ๋น ๋ฅธ ์ค๊ณ๊ฐ ํน์ง์ด๋ค.
์ด๋ฐ์ ํ๋ก๊ทธ๋จ์ ์ ๋ขฐ๋๋ ํ์ง์ด ์๋๋ผ, ๊ฐ๋ฅํ ๋นจ๋ฆฌ ์ํ์ ๊ตฌํํ๋ ๊ฒ์ด ํต์ฌ์ด๋ค.
๋์ ํ ๋ชจ๋ธ (Sprial Model)
์ํ์ ๊ด๋ฆฌํ๊ณ ์ต์ํํ๋ ๋ชจ๋ธ
ํญํฌ์ ๋ชจํ์ ์ฅ์ + ์ํ ๋ชจํ์ ์ฅ์ + ์ํ ๋ถ์์ ์ถ๊ฐํ ๋ชจ๋ธ์ด๋ค.
๊ฐ๋ฐ์ด ์ ์ฆ์ ์ผ๋ก ์งํ๋๋ค๋๊ฒ ํน์ง์ด๋ค.
์ฌ๋ฌ ๊ฐ์ ์์
์์ญ์ผ๋ก ๊ตฌ๋ถํ์ฌ, ์ค๊ฐ์ค๊ฐ ์ํ ๋ถ์์ ์ฃผ๊ธฐ์ ์ผ๋ก ์งํํ์ฌ ์ํ ๊ด๋ฆฌ๋ฅผ ํนํํ๋ค.
๋ณดํต ๊ณ ๋น์ฉ์ ์์คํ
์ด๋, ์๊ฐ์ด ๋ง์ด ๋๋ ํฐ ํ๋ก์ ํธ์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ์ด๋ค.
์ํ ๋ถ์์ ํตํด ํ๋ก์ ํธ์ ์คํจ ๊ฐ๋ฅ์ฑ์ ๋ฎ์ถ ์ ์์ง๋ง, ์๋์ ์ผ๋ก ๋ค๋ฅธ ๋ชจ๋ธ๋ณด๋ค ๋ณต์กํด์ ๊ด๋ฆฌ๊ฐ ์ด๋ ต๋ค.
ํ๋ก์ธ์ค์ ์ค์์ฑ?
ํ๋ก์ธ์ค๋ฅผ ๊ณต๋ถํ๊ณ ๋์, ์ข์ ํ๋ก์ธ์ค๋ ๊ณง ์ข์ ํ๋ก์ ํธ๋ก ์ฐ๊ฒฐ๋๊ณ , ๊ณง ์ข์ ํ์ฌ๋ก ์ฐ๊ฒฐ๋๋ค๋ ๊ฒ์ ๋ง์ด ๋ฐฐ์ ๋ค. ์๋๋งํผ ๋ณด์ธ๋ค๋ ๋ง์ฒ๋ผ, ๋์ค์ ๋ด๊ฐ ์ข์ ๊ฒฝํ์ ํ ์ ์์์ง์ ๋ํ ํ๋จ์ ๊ทผ๊ฑฐ์ ๊ผญ ํ๋ก์ธ์ค ๊ด์ฐฐ์ ํฌํจํ์.
'DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring Cloud] MSAํ๊ฒฝ CI/CD ๊ตฌ์ถํ๊ธฐ (0) | 2024.05.24 |
---|