๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

๐Ÿ“– ์ปจํ…Œ์ด๋„ˆ ์ธํ”„๋ผ ํ™˜๊ฒฝ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค/๋„์ปค

Chanho Lee
์ •๋ณด

๊ธธ๋ฒ— โ€˜16์ฐจ ๊ฐœ๋ฐœ์ž ๋ฆฌ๋ทฐ์–ดโ€™ ํ™œ๋™์„ ์œ„ํ•ด์„œ ์ฑ…์„ ์ œ๊ณต๋ฐ›์•„ ์ž‘์„ฑ๋œ ์„œํ‰์ž…๋‹ˆ๋‹ค.

Book Infoโ€‹

ํŒ

์ฑ… ์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๊ต๋ณด๋ฌธ๊ณ  ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค!

์ฑ…

  • ์ œ๋ชฉ: ์ปจํ…Œ์ด๋„ˆ ์ธํ”„๋ผ ํ™˜๊ฒฝ ๊ตฌ์ถ•์„ ์œ„ํ•œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค/๋„์ปค
  • ์ €์ž: ์กฐํ›ˆ, ์‹ฌ๊ทผ์šฐ, ๋ฌธ์„ฑ์ฃผ
  • ์ถœํŒ์‚ฌ: ๊ธธ๋ฒ—
  • ์ถœ๊ฐ„: 2021-06-07

Book Reviewโ€‹

์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•œ ์ž์„ธํ•œ ์„ค๋ช…โ€‹

์™„์ „ํ•œ ์ปฌ๋Ÿฌ๋Š” ์•„๋‹ˆ์ง€๋งŒ, ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•œ ์ž์„ธํ•œ ์„ค๋ช…์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ์ฑ…์ด๋ผ๋ฉด ์–ด์ฐจํ”ผ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ์„ ์ฑ…์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ์„ค์น˜ ๊ณผ์ • ๋”ฐ์œ„๋Š” ๋„˜์–ด๊ฐˆ ํ…๋ฐ ๊ทธ๋Ÿฐ ๊ณผ์ •๋“ค์กฐ์ฐจ ์ด๋ฏธ์ง€๋กœ ์ฑ…์— ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ๋„์›€์ด ๋์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๊ณผ์ • ์ด์™ธ์—๋„ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด์„œ๋„ ๊ธ€ ๋˜๋Š” ์ด๋ฏธ์ง€๋กœ ์„ค๋ช…ํ•ด์ฃผ์…”์„œ ๋„ˆ๋ฌด ํŽธํ•˜๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ธธ๋ฒ— ์ถœํŒ์‚ฌ์˜ ์ฑ…์€ ํ•œ ์žฅ์„ ํŽผ์น˜๋ฉด ์ €์ž ๋ฐ ์—ญ์ž์˜ ์†Œ๊ฐœ๊ฐ€ ์ ํ˜€ ์žˆ๊ณ  *๋…์ž์˜ 1์ดˆ๋ฅผ ์•„๊ปด์ฃผ๋Š” ์ •์„ฑ์„ ๋งŒ๋‚˜๋ณด์„ธ์š”!*๋ผ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์ ํ˜€์žˆ์Šต๋‹ˆ๋‹ค. ์†”์งํžˆ ์ด ๋ฌธ๊ตฌ๋Š” ํฌ๊ฒŒ ์™€ ๋‹ฟ์ง€ ์•Š์•˜๋Š”๋ฐ ๊ทธ๋‹ค์Œ *์„ธ์ƒ์ด ์•„๋ฌด๋ฆฌ ๋ฐ”์˜๊ฒŒ ๋Œ์•„๊ฐ€๋”๋ผ๋„ ์ฑ…๊นŒ์ง€ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๋นจ๋ฆฌ ๋งŒ๋“ค ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.*๋ผ๊ณ  ์ ํ˜€์ ธ ์žˆ๋Š” ๋ฌธ๊ตฌ๊ฐ€ ์ „ ํฌ๊ฒŒ ์™€ ๋‹ฟ์•˜์Šต๋‹ˆ๋‹ค. ์ฑ…์—์„œ ์ €์ž๋ถ„๊ป˜์„œ ์„ค๋ช…ํ•˜์…จ๋“ฏ์ด IT๋งŒํผ ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š” ๋ถ„์•ผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ฑ… ๋˜ํ•œ ๊ธฐ์ˆ ์ด ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๋”๋ผ๋„ ์ฑ…๊นŒ์ง€ ์•„๋ฌด๋ ‡๊ฒŒ๋‚˜ ๋น ๋ฅด๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ค์Šตํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋“คโ€‹

์ด ์ฑ…์—์„œ๋Š” Kubernetes, Docker๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์‹ค์Šต์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋„๊ตฌ๋“ค์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ƒ ์ปดํ“จํ„ฐ๋ฅผ ๋งŒ๋“œ๋Š” Oracle VM VirtualBox, ์‚ฌ์šฉ์ž์˜ ์š”๊ตฌ์— ๋งž๊ฒŒ ์‹œ์Šคํ…œ ์ž์›์„ ํ• ๋‹น, ๋ฐฐ์น˜, ๋ฐฐํฌํ•ด ๋‘์—ˆ๋‹ค๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๋กœ ๋งŒ๋“œ๋Š” ํ”„๋กœ๋น„์ €๋‹ ๋„๊ตฌ์ธ Vagrant๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ–์—๋„ CI/CD๋ฅผ ์œ„ํ•œ Jenkins, ์ปจํ…Œ์ด๋„ˆ ์ธํ”„๋ผ ํ™˜๊ฒฝ์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ Prometheus๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ์ˆ˜์ง‘ํ•œ ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•˜์—ฌ Grafana๋กœ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ๊ทผ DevOps ์ชฝ์œผ๋กœ ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ–๊ณ  ์žˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ์— ์ด ์ฑ…์œผ๋กœ DevOps์˜ ์ „์ฒด์ ์ธ ๊ณผ์ •์„ ๊ฐ„์ ‘์ ์œผ๋กœ ์ฒดํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ์–ด์„œ ๋„์›€์ด ๋์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „โ€‹

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

์•„์‰ฌ์› ๋˜ ์ โ€‹

๊ฐ€์ƒ๋จธ์‹  ์ด๋ฏธ์ง€์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋„ˆ๋ฌด ํฌ๊ฒŒ ์žก๊ณ  ๋Œ๋ ค์„œ ๊ทธ๋Ÿฐ์ง€ ๋žจ 8๊ธฐ๊ฐ€ ๋…ธํŠธ๋ถ์—์„œ ๋ฒ„๊ฑฐ์› ์Šต๋‹ˆ๋‹ค. ์ด ์ฑ…์˜ ๋‚ด์šฉ์„ ์‹ค์Šตํ•ด๋ณด๊ธฐ ์œ„ํ•œ ์ปดํ“จํ„ฐ์˜ ์ตœ์ € ์‚ฌ์–‘์ด ํ‘œ๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค๋ฉด ๋…์ž์—๊ฒŒ ๋” ๋„์›€์ด ๋์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ €์ž๋ถ„๊ป˜์„œ ์‚ฌ์ „์— ํ•„์š”์— ๋งž๊ฒŒ ์šด์˜์ฒด์ œ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ •ํ•ด๋†“์œผ์…”์„œ ์ €ํฌ๋Š” Vagrant Cloud์—์„œ ๋‚ด๋ ค๋ฐ›๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ํŽธํ–ˆ์ง€๋งŒ, ํ•„์š”์— ๋งž๊ฒŒ ์ด๋ฏธ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด ์ฑ…์— ๋‹ด๊ธฐ์ง€ ์•Š์•„์„œ ์กฐ๊ธˆ ์•„์‰ฌ์› ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  Vagrant Cloud์— ์ˆ˜์ •ํ•œ ๋ฒ„์ „๋งˆ๋‹ค ์–ด๋–ค ๋ถ€๋ถ„์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์ด ๋‚˜์™€ ์žˆ์ง€๋งŒ, ์ด๋Ÿฐ ๋ถ€๋ถ„๋„ ์ฑ…์— ๋‹ด๊ฒผ์œผ๋ฉด ์–ด๋• ์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ด ์ฑ…์˜ ์ค‘์‹ฌ์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์™€ ๋„์ปค์ด๋‹ค ๋ณด๋‹ˆ ๋ฆฌ๋ˆ…์Šค ํ™˜๊ฒฝ์„ ์„ธํŒ…ํ•˜๋Š” ๋ถ€๋ถ„์€ ์ฑ…์— ๋„ฃ์ง€ ์•Š์œผ์‹  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋Œ€์ƒ ๋…์žโ€‹

๊ฐœ๋ฐœ ์ดˆ์‹ฌ์ž์—๊ฒŒ ์‰ฌ์šด ์ฑ…์ด๋ผ๊ณ ๋Š” ์ƒ๊ฐ์ด ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ˆ…์Šค๋ฅผ ๊ฐ€๋ฅด์ณ์ฃผ๋Š” ์ฑ…์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธ์ ์œผ๋กœ UNIX ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ์ง€์‹, ์šด์˜์ฒด์ œ์— ๊ด€ํ•œ ์ง€์‹, ์‰˜ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์ง€์‹์„ ์–ด๋Š ์ •๋„ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, ๋„์ปค์— ๋Œ€ํ•œ ๊ธฐ์ดˆ ์ง€์‹๋„ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŽ์€ ์‚ฌ์ „ ์ง€์‹์ด ํ•„์š”ํ•œ ์ฑ…์ด์ง€๋งŒ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, ๋„์ปค ๊ธฐ์ˆ ์— ๊ด€์‹ฌ ์žˆ์œผ์‹œ๊ณ  ์ปจํ…Œ์ด๋„ˆ ์ธํ”„๋ผ ํ™˜๊ฒฝ ๊ตฌ์ถ•์„ ํ•ด๋ณด์‹œ๊ณ  ์‹ถ์€ ๋ถ„์€ ๊ผญ ์ฝ์–ด๋ณด๋ฉด ์ข‹์„ ์ฑ…์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.