header-img
Info :
728x90

DevOps ๋ž€?

DevOps = Development(๊ฐœ๋ฐœ+ํ…Œ์ŠคํŠธ) + Operations(์šด์˜)

 

๊ฐœ๋ฐœ๊ณผ ์šด์˜์˜ ํ•ฉ์„ฑ์–ด. ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋ถ€ํ„ฐ ๊ฐœ๋ฐœ, ๋ฐฐํฌ๊นŒ์ง€ ์ง„ํ–‰๋˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์†๋„๋ฅผ ๋†’์ด๋Š” ์ ‘๊ทผ๋ฐฉ์‹์„ ์˜๋ฏธ.

→ ์ด๋Ÿฐ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ ์šฉํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœํŒ€๊ณผ ์šด์˜ํŒ€ ๊ฐ„์˜ ์žฅ๋ฒฝ์„ ํ—ˆ๋ฌผ๊ณ  ์ž์ฃผ ํ˜‘๋ ฅํ•ด์•ผํ•จ. ์ด๋ฅผ ์ •๋ฆฌํ•ด๋‘” ๋ชจ๋ธ์ด CALMS ๋ชจ๋ธ.

 

[DevOps Elephant] ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด DevOps๋ผ๋Š” ๊ฐœ๋…์ด ๋ฉ์น˜๊ฐ€ ํฌ๋‹ค๋ณด๋‹ˆ ๊ฐ์ž์˜ ์ž…์žฅ์—์„œ ๋ถ€๋ถ„์ ์œผ๋กœ ์ดํ•ดํ•˜๊ณ  ๊ฒฝํ—˜ํ•œ ๊ฒƒ์„ ๋งˆ์น˜ ์ „๋ถ€์ธ ์–‘ ์ธ์‹ํ•˜๋Š” ์˜คํ•ด์™€ ํ˜ผ๋ˆ์ด ์žˆ๋‹ค. - DevOps์˜ ์ „์ฒด ๋ชจ์Šต์„ ๊ทธ๋งŒํผ ์ดํ•ดํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›€

 

DevOps - CALMS Model

์ด ๊ฐœ๋…์˜ ๊ฒฝ์šฐ ์ตœ์ดˆ์—๋Š” ๋น„๊ต์  ๊ฐ„๋‹จํ•œ ๊ฐœ๋…์œผ๋กœ ๋ฌธํ™”(Culture)/์ž๋™ํ™”(Automation)/์ธก์ •(Measure)/๊ณต์œ (Sharing) ๋ฅผ ์›์น™์„ DevOps์˜ 4๊ฐ€์ง€ ํ•ต์‹ฌ์˜์—ญ์œผ๋กœ ๋ณด์•˜์œผ๋‚˜, ์ถ”ํ›„ Lean ๊ฐœ๋…์ด ์ถ”๊ฐ€๋˜์–ด CALMS Model๋กœ ๋ฐœ์ „ํ•˜์˜€์Œ.

์กฐ์ง์˜ DevOps ๋‚ด์žฌํ™”๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ธ๋กœ ๋งŽ์ด ์‚ฌ์šฉ. : ๊ฐ ์˜์—ญ๋ณ„๋กœ ์‹คํ–‰๋˜๋Š” practice ์ˆ˜์ค€์„ ์ง„๋‹จํ•˜์—ฌ ์„ฑ์ˆ™๋„ ๋ ˆ๋ฒจ์„ ํŒ๋‹จํ•˜๊ณ , ๋ณด๋‹ค ์„ฑ์ˆ™ํ•œ ๋‹จ๊ณ„๋กœ ์ง„์ž…ํ•˜๊ธฐ ์œ„ํ•œ practice๋ฅผ ๋ณด๊ฐ•ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉ

 

DevOps - 4 AREA ์ ‘๊ทผ ๋ฐฉ์‹

Area 1 : ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์šด์˜์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ์˜์—ญ

Area 2 : ์šด์˜์˜ ์ง€์‹๊ณผ ์ •๋ณด๊ฐ€ ๊ฐœ๋ฐœํŒ€(ํ”„๋กœ์ ํŠธ)๋กœ ์ „๋‹ฌ๋˜๋Š” ์˜์—ญ. ๋ถˆํ•„์š”ํ•œ ์ฐจ๋‹จ์€ ํ•ด์ œํ•˜๊ณ  ์šด์˜์—์„œ ์ƒ์‚ฐ๋œ ์ •๋ณด๋“ค์ด One-Stop Access ๋˜๋„๋ก ์ •์ฑ…์„ ๋งŒ๋“ค์–ด์•ผ ํ•จ

Area 3 : ํ”„๋กœ์ ํŠธ์—์„œ ์ƒ์‚ฐ๋œ ๋ชจ๋“  ์ง€์‹์ด ์šด์˜์— ์žฅ์ฐฉ๋˜๋„๋ก ํ•˜๋Š” ์˜์—ญ. Project Open์„ ์œ„ํ•ด ๋˜๋Š” ์ธ์ˆ˜์ธ๊ณ„ ๋‹จ๊ฒŒ์—์„œ ์šด์˜์— ์ „๋‹ฌ๋˜๋Š” ๋‹จ์ˆœ ์ •๋ณด๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒƒ์œผ๋กœ, ํ”„๋กœ์ ํŠธ ํŒ€์ด ์šด์˜๊ณผ ๊ณต๋™ ์ฑ…์ž„์„ ์ง€๋Š” ์ˆ˜์ค€๊นŒ์ง€๋ฅผ ์˜๋ฏธ.

Area 4 : ํ”„๋กœ์ ํŠธ ์‹œ์ž‘๋ถ€ํ„ฐ ์šด์˜์ด ๊ด€์—ฌํ•˜๋Š” ์˜์—ญ

 

์ด ์ ‘๊ทผ๋ฒ•์€ "๊ณต๋™์˜ ์ดํ•ด๊ด€๊ณ„๋ฅผ ๊ฐ–๊ณ  ๊ณต๋™์˜ ์ฑ…์ž„์„ ๊ฐ–๋Š”๋‹ค"๋Š” ๋ฉด์—์„œ ๋งค์šฐ ์ด์ƒ์ ์ด์ง€๋งŒ, ์‹ค์ œ ์„ธ๊ณ„์—์„œ ์‹คํ˜„์ด ์–ด๋ ค์›Œ ๋ณด์ธ๋‹ค..

 

๊ธฐํƒ€ 3ways ์ ‘๊ทผ๋ฐฉ์‹, 5 Plays ์ „๋žต๋“ฑ์„ ์•Œ์•„๋ณด๋ ค๋ฉด ...๋”๋ณด๊ธฐ

 

CI/CD ๋ž€?

1. CI (Continuous Integration)

์ง€์†์ ์ธ ํ†ตํ•ฉ. ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ๋„ ํ’ˆ์งˆ์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ.

→ ์—ฌ๋Ÿฌ ๋ช…์ด ํ•˜๋‚˜์˜ ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์ˆ˜์ •์„ ์ง„ํ–‰ํ•ด๋„ ์ง€์†์ ์œผ๋กœ ํ†ตํ•ฉํ•˜๋ฉด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธ

 

* CI์˜ ๊ฐ„๋‹จํ•œ ์ˆœ์„œ 

   1) ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ตฌํ˜„ํ•œ ์ฝ”๋“œ๋ฅผ ๊ธฐ์กด ์ฝ”๋“œ์™€ ๋ณ‘ํ•ฉํ•œ๋‹ค.

   2) ๋ณ‘ํ•ฉ๋œ ์ฝ”๋“œ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๊ณ  ๋นŒ๋“œ๋˜๋Š”์ง€ ๊ฒ€์ฆํ•œ๋‹ค.

   3) ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ˆ˜์ •ํ•˜๊ณ  ๋‹ค์‹œ 1๋กœ ๋Œ์•„๊ฐ„๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด ๋ฐฐํฌ๋ฅผ ์ง„ํ–‰.

 

* ๋ถ™์–ด๋‹ค๋‹ˆ๋Š” ํ‚ค์›Œ๋“œ : "์ž๋™ํ™”" - ๋ณดํ†ต github ๊ฐ™์€ ๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ CI๋ฅผ ์ž๋™ํ™”ํ•จ.

   ํ˜•์ƒ๊ด€๋ฆฌ ํˆด์— ์ž‘์—…ํ•œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ฉํ•ด๋‘๋ฉด, ๋นŒ๋“œ ๋ฐ ํ…Œ์ŠคํŠธ๋Š” ์ž๋™์œผ๋กœ ์ง„ํ–‰๋˜๋ฏ€๋กœ, ๋‹ค์Œ ๋‚  ๋ฒ„๊ทธ ๋ฐœ์ƒ๋งŒ ์žก์œผ๋ฉด ๋จ. 

 

* CI์˜ ์žฅ์ 

   1) ์ฝ”๋“œ ๊ฒ€์ฆ์— ๋“ค์–ด๊ฐ€๋Š” ์‹œ๊ฐ„์ด ์ค„์–ด๋“ฌ

   2) ๊ฐœ๋ฐœ ํŽธ์˜์„ฑ์ด ์ฆ๊ฐ€ํ•จ

   3) ํ•ญ์ƒ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ํ†ต๊ณผํ•œ ์ฝ”๋“œ๋งŒ์ด repo์— ์˜ฌ๋ผ๊ฐ€๊ธฐ ๋•Œ๋ฌธ์—, ์ข‹์€ ์ฝ”๋“œ ํ€„๋ฆฌํ‹ฐ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Œ.

 

2. CD (Continuous Deployment)

์ง€์†์ ์ธ ๋ฐฐํฌ. ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ํ•ญ์ƒ ์‹ ๋ขฐ ๊ฐ€๋Šฅํ•œ ์ˆ˜์ค€์—์„œ ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ด€๋ฆฌํ•˜์ž๋Š” ๊ฐœ๋….

์ง€์†์ ์ธ ์ œ๊ณต(Continuous Delivery)๋กœ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•จ.

- ์ง€์†์ ์ธ ์ œ๊ณต์€ CI๋ฅผ ํ†ตํ•ด์„œ ์ƒˆ๋กœ์šด ์†Œ์Šค์ฝ”๋“œ์˜ ๋นŒ๋“œ์™€ ํ…Œ์ŠคํŠธ ๋ณ‘ํ•ฉ๊นŒ์ง€ ์„ฑ๊ณต์ ์œผ๋กœ ์ง„ํ–‰๋˜์—ˆ๋‹ค๋ฉด, ๋นŒ๋“œ์™€ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ github์™€ ๊ฐ™์€ ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

- ์ง€์†์  ๋ฐฐํฌ๋Š” ์ด๋ ‡๊ฒŒ ์„ฑ๊ณต์ ์œผ๋กœ ๋ณ‘ํ•ฉ๋œ ๋‚ด์—ญ์„ ์ €์žฅ์†Œ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฐํฌํ™˜๊ฒฝ๊นŒ์ง€ ๋ฆด๋ฆฌ์ฆˆํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ

 

* CD์˜ ์žฅ์ 

   1) ๊ฐœ๋ฐœ์ž๋Š” ๋ฐฐํฌ๋ณด๋‹ค๋Š” ๊ฐœ๋ฐœ์— ๋”์šฑ ์‹ ๊ฒฝ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์คŒ

   2) ๊ฐœ๋ฐœ์ž๊ฐ€ ์› ํด๋ฆญ์œผ๋กœ ์ˆ˜์ž‘์—… ์—†์ด ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๊นŒ์ง€์˜ ์ž๋™ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ์Œ

DevOps ์™€ CI/CD ์˜ ์ฐจ์ด

DevOps ๋Š” ๊ฐœ๋ฐœ๊ณผ ์šด์˜์„ ํ†ตํ•ฉํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์˜ ์†๋„๋ฅผ ๋†’์ด๋Š” ์ ‘๊ทผ ๋ฐฉ์‹

CI/CD ๋Š” ์ง€์†์ ์œผ๋กœ ํ†ตํ•ฉ·ํ…Œ์ŠคํŠธ·๋ฐฐํฌ๋ฅผ ํ•˜๊ณ  ์ด ํ๋ฆ„์„ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ

→ ๋น„์Šทํ•œ ๊ฐœ๋…์ด๋‚˜ ๊ฒฐ๊ตญ ๋ฐฉ๋ฒ•๋ก ์ ์œผ๋กœ๋Š” DevOps ๋Š” CI/CD ๋ฅผ ๋น ๋ฅด๊ณ  ์ง€์†์ ์ด๊ฒŒ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ์ดํ•ดํ–ˆ๋‹ค ๋‚˜๋Š”...

728x90
๋”๋ณด๊ธฐ
IT ๊ธฐ์ˆ /๊ธฐํƒ€