DevOps

์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ์„ธ์Šค ์ •๋ฆฌ - ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ

ddonghyeo 2023. 9. 1. 23:53

์˜ค๋Š˜ ํ•™๋ถ€ ์ˆ˜์—…์„ ๋“ค์œผ๋ฉด์„œ ํ”„๋กœ์„ธ์Šค์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๋“ค์—ˆ๋Š”๋ฐ, ๋„ˆ๋ฌด ์œ ์ตํ•œ ๋‚ด์šฉ์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์ •๋ฆฌํ•˜๋ ค๊ณ  ํ•œ๋‹ค.

ํ”„๋กœ์ ํŠธ๋ฅผ ์ž˜ ์„ฑ๊ณต์‹œํ‚ค๋ ค๋ฉด ๊ฐœ๋ฐœ์˜ ํ€„๋ฆฌํ‹ฐ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ฐœ๋ฐœ๋ฌธ์„œ์—๋„ ์‹œ๊ฐ„์„ ํˆฌ์žํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

ํ”„๋กœ์„ธ์Šค๋ž€?

์ฃผ์–ด์ง„ ๋ชฉ์ ์„ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ์ผ๋ จ์˜ ์ ˆ์ฐจ
"๋‚ด๊ฐ€ ๋ญ˜ ํ•ด์•ผ๋ ์ง€ ์ •ํ•ด์ ธ ์žˆ๋Š” ๋ชฉ์ฐจ"

ํ˜„์—…์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ, ์–ด๋–ค ์ ˆ์ฐจ๋กœ ์ง„ํ–‰๋˜๋Š”์ง€ ๊ผญ ์•Œ์•„์•ผ ํ•  ๊ฒƒ์ด๋‹ค.
์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์—ฌ๋„, ์–ด๋–ค ํ”„๋กœ์ ํŠธ๋ƒ์— ๋”ฐ๋ผ ๋งž๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ํƒํ•˜์—ฌ ํšจ์œจ์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.
ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž˜ ์„ ํƒํ•˜๋ฉด,

  • ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฐœ๋ฐœ ๋ชฉํ‘œ๊ฐ€ ๋ช…ํ™•ํ•ด์ง„๋‹ค.
  • ํ”„๋กœ์ ํŠธ์˜ ์‹คํŒจ๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ’ˆ์งˆ์€ ํ”„๋กœ์„ธ์Šค์˜ ํ’ˆ์งˆ์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.

 

 

 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์ƒ๋ช…์ฃผ๊ธฐ (Software Development Life Cycle)

์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐœ๋ฐœํ•  ๊ฒƒ์ธ๊ฐ€?์— ๋Œ€ํ•œ ์ถ”์ƒ์  ํ‘œํ˜„



์ฃผ๋จน๊ตฌ๊ตฌ์‹ ๊ฐœ๋ฐœ ๋ชจ๋ธ(Build-Fix Model)

๋ณดํ†ต ํ•™๋ถ€์—์„œ ์ง„ํ–‰ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์ด๋‹ค. ์„ค๊ณ„ ์—†์ด ์ผ๋‹จ ๊ฐœ๋ฐœ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ๋งํ•˜๋ฉฐ, ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ์ž‘์€ ๊ทœ๋ชจ์˜ ํ”„๋กœ์ ํŠธ์— ์ ์šฉ๋œ๋‹ค.


Ad-hoc (๊ทธ๋•Œ๊ทธ๋•Œ ๋‹ค๋ฅด๊ฒŒ)๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ •์˜๋˜์–ด์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—†๋‹ค.
์ด ๋ชจ๋ธ์€ ์ž‘์€ ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ์ถฉ๋ถ„ํžˆ ์ž˜ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

 

 

ํญํฌ์ˆ˜ ๋ชจ๋ธ (Waterfall Model)

ํญํฌ์ฒ˜๋Ÿผ ๋–จ์–ด์ง€๋Š” ๋ชจ์Šต์˜ ๋ชจ๋ธ

๋ณดํ†ต ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ „ํ˜•์ ์ธ ๊ฐœ๋ฐœ ๋ชจ๋ธ์ด๋‹ค. **
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ์ „ ๊ณผ์ •์„ ๋‚˜๋ˆ„์–ด ์ฒด๊ณ„์ ์ด๊ณ  ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.


์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€, ์œ„ -> ์•„๋ž˜์˜ ์ˆœ์„œ๋ฅผ ์ง€ํ‚ค๋˜, ๋‹ค์‹œ ์ „ ๋‹จ๊ณ„๋กœ ๋Œ์•„๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, **์„ค๊ณ„ ๋‹จ๊ณ„๊ฐ€ ๋๋‚˜๊ณ  ๊ตฌํ˜„ ๋‹จ๊ณ„ ์ค‘์—์„œ,๋ณ€๋™์‚ฌํ•ญ์ด ์ƒ๊ฒผ๋‹ค๊ณ  ํ•ด์„œ ๋‹ค์‹œ ์„ค๊ณ„๋กœ ๋„˜์–ด๊ฐ€์ง€ ์•Š๋Š”๋‹ค.
(๋ฌผ๋ก  ๋Œ์•„๊ฐˆ ๋•Œ๋„ ์žˆ์ง€๋งŒ, ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค.)
๋งŒ์•ฝ ๋ณ€๋™์‚ฌํ•ญ์ด๋‚˜ ํ”ผ๋“œ๋ฐฑ์‚ฌํ•ญ์ด ์žˆ๋‹ค๋ฉด ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์— ๋ฐ˜์˜ํ•œ๋‹ค.

  • ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„
    ๊ฐœ๋ฐœํ•˜๋ ค๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋ถ„์„ํ•œ๋‹ค.
  • ์„ค๊ณ„
    ํ”„๋กœ๊ทธ๋žจ์˜ ์ „๋ฐ˜์ ์ธ ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋“ฑ ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
  • ๊ตฌํ˜„
    ์„ค๊ณ„ ๋ช…์„ธ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‹ค์ œ ๋ชจ์Šต์œผ๋กœ ๋ณ€ํ™˜์‹œํ‚จ๋‹ค.
    • ํ…Œ์ŠคํŠธ
      ํ”„๋กœ๊ทธ๋žจ์ด ์ž…๋ ฅ๋Œ€๋กœ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ , ๋ฌธ์„œํ™”ํ•œ๋‹ค.
    • ์œ ์ง€๋ณด์ˆ˜
      ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ณ , ์ˆ˜์ •, ๊ธฐ๋Šฅ์ถ”๊ฐ€ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

ํญํฌ์ˆ˜๋ชจ๋ธ์€ ๊ฐ€์žฅ ์ •ํ˜•ํ™”๋˜์–ด์žˆ๊ณ , ์ง„ํ–‰์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‹จ๊ณ„๊ฐ€ ํ™•์‹คํ•˜๊ฒŒ ๋‚˜๋‰˜์–ด์ ธ ์žˆ์–ด ์•ž ๋‹จ๊ณ„๊ฐ€ ์™„๋ฃŒ๋ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
๋˜ํ•œ, ๊ณ ๊ฐ ์ž…์žฅ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌํ˜„์„ ๋Šฆ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ์— ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค.

 

 

 

์›ํ˜•๋ชจ๋ธ (Prototyping Model)

์ ์ง„์ ์œผ๋กœ ๊ฐœ๋ฐœํ•ด๋‚˜๊ฐ€๋Š” ๋ชจ๋ธ

ํญํฌ์ˆ˜๋ชจ๋ธ์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•œ ๋ชจ๋ธ์ด๋‹ค.


์›ํ˜•์„ ๋งŒ๋“ค์–ด ๊ณ ๊ฐ๊ณผ ์‚ฌ์šฉ์ž๊ฐ€ ํ•จ๊ป˜ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • ํ๊ธฐ ํ”„๋กœํ† ํƒ€์ž…(Throw away Prototype)
    ๊ณ ๊ฐ์œผ๋กœ๋ถ€ํ„ฐ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์€ ํ›„ ์›ํ˜•์„ ํ๊ธฐํ•œ๋‹ค.
  • ์ง„ํ™”์  ํ”„๋กœํ† ํƒ€์ž…
    ์ค‘์š”ํ•œ ๋ถ€๋ถ„๋งŒ ๊ตฌํ˜„ํ•œ ๋’ค, ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „์‹œ์ผœ ์™„์ œํ’ˆ์„ ์ œ์ž‘ํ•œ๋‹ค.

๋ณดํ†ต์€ ๊ณ ๊ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์™„์ „ํžˆ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์šธ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋ธ์ด๋ฉฐ, ๋น ๋ฅธ ์„ค๊ณ„๊ฐ€ ํŠน์ง•์ด๋‹ค.
์ดˆ๋ฐ˜์— ํ”„๋กœ๊ทธ๋žจ์˜ ์‹ ๋ขฐ๋„๋‚˜ ํ’ˆ์งˆ์ด ์•„๋‹ˆ๋ผ, ๊ฐ€๋Šฅํ•œ ๋นจ๋ฆฌ ์›ํ˜•์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค.

 

 

 

๋‚˜์„ ํ˜• ๋ชจ๋ธ (Sprial Model)

์œ„ํ—˜์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ตœ์†Œํ™”ํ•˜๋Š” ๋ชจ๋ธ


ํญํฌ์ˆ˜ ๋ชจํ˜•์˜ ์žฅ์  + ์›ํ˜• ๋ชจํ˜•์˜ ์žฅ์  + ์œ„ํ—˜ ๋ถ„์„์„ ์ถ”๊ฐ€ํ•œ ๋ชจ๋ธ์ด๋‹ค.
๊ฐœ๋ฐœ์ด ์ ์ฆ์ ์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค๋Š”๊ฒŒ ํŠน์ง•์ด๋‹ค.
์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์—… ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ, ์ค‘๊ฐ„์ค‘๊ฐ„ ์œ„ํ—˜ ๋ถ„์„์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜์—ฌ ์œ„ํ—˜ ๊ด€๋ฆฌ๋ฅผ ํŠนํ™”ํ•œ๋‹ค.

๋ณดํ†ต ๊ณ ๋น„์šฉ์˜ ์‹œ์Šคํ…œ์ด๋‚˜, ์‹œ๊ฐ„์ด ๋งŽ์ด ๋“œ๋Š” ํฐ ํ”„๋กœ์ ํŠธ์— ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋ธ์ด๋‹ค.
์œ„ํ—˜ ๋ถ„์„์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ์˜ ์‹คํŒจ ๊ฐ€๋Šฅ์„ฑ์„ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ƒ๋Œ€์ ์œผ๋กœ ๋‹ค๋ฅธ ๋ชจ๋ธ๋ณด๋‹ค ๋ณต์žกํ•ด์„œ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ต๋‹ค.

 

 

 

ํ”„๋กœ์„ธ์Šค์˜ ์ค‘์š”์„ฑ?

ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ๋‚˜์„œ, ์ข‹์€ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณง ์ข‹์€ ํ”„๋กœ์ ํŠธ๋กœ ์—ฐ๊ฒฐ๋˜๊ณ , ๊ณง ์ข‹์€ ํšŒ์‚ฌ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค๋Š” ๊ฒƒ์„ ๋งŽ์ด ๋ฐฐ์› ๋‹ค. ์•„๋Š”๋งŒํผ ๋ณด์ธ๋‹ค๋Š” ๋ง์ฒ˜๋Ÿผ, ๋‚˜์ค‘์— ๋‚ด๊ฐ€ ์ข‹์€ ๊ฒฝํ—˜์„ ํ•  ์ˆ˜ ์žˆ์„์ง€์— ๋Œ€ํ•œ ํŒ๋‹จ์˜ ๊ทผ๊ฑฐ์— ๊ผญ ํ”„๋กœ์„ธ์Šค ๊ด€์ฐฐ์„ ํฌํ•จํ•˜์ž.