๊ฐœ๋…

๊ฐœ๋ฐœ์ž์™€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ

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

์ปจํ…Œ์ด๋„ˆ ๊ธฐ์ˆ ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์ง•๋“ค์ด ์žˆ๋‹ค.

  1. ์œ ์—ฐ์„ฑ (Flexible) : ๋ณต์žกํ•œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค๋„ ๋ชจ๋‘ ์ปจํ…Œ์ด๋„ˆํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ๊ฒฝ๋Ÿ‰ํ™” (Lightweight) : ์ปจํ…Œ์ด๋„ˆ๋Š” ํ˜ธ์ŠคํŠธ ์ปค๋„์„ ํ™œ์šฉํ•˜๊ณ  ๊ณต์œ ํ•œ๋‹ค.
  3. ๋ณ€ํ™” ๊ด€๋ฆฌ ํŽธ์˜์„ฑ (InterChangeable) : ์—…๋ฐ์ดํŠธ ๋ฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์ฆ‰์‹œ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  4. ํฌํ„ฐ๋ธ” (Portable) : ๋กœ์ปฌ๋กœ ๊ตฌ์ถ•ํ•˜๊ณ , ํด๋ผ์šฐ๋“œ์™€ ๊ฐ€์ƒํ™”์— ๋ฐฐ์น˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ณ , ์–ด๋””์„œ๋‚˜ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  5. ํ™•์žฅ์„ฑ (Scalable) : ์ปจํ…Œ์ด๋„ˆ ๋ณต์ œ๋ณธ์„ ๋Š˜๋ฆฌ๊ณ  ์ž๋™ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.
  6. ์Šคํƒํ™” (Stackable) : ์„œ๋น„์Šค๋“ค์— ๋Œ€ํ•œ ์ˆ˜์ง์  ๋˜๋Š” ์ˆ˜ํ‰์  ๋””์ž์ธ์ด ๋งค์šฐ ์šฉ์ดํ•˜๋‹ค.

์ด๋ฏธ์ง€์™€ ์ปจํ…Œ์ด๋„ˆ

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

์ด ๋‘๊ฐœ์˜ ๊ฐœ๋…์€ ๋„์ปค๋ฅผ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. class๋Š” instance์˜ ์„ค๊ณ„๋„์ด๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด class์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ image์ด๋ฉฐ, ์ด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋‹จ์— ์˜ฌ๋ฆฐ ๊ฒƒ์„ container๋ผ ํ•œ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์˜ ๋™์ž‘ ๋ฐฉ์‹

๊ฐ€์ƒ ๋จธ์‹ ๊ณผ ๋„์ปค์˜ ์ฐจ์ด์ 

๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ๊ฐ€์ƒ ๋จธ์‹ ์€, Host OS์œ„์— Guest OS๋ฅผ ์–น์–ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์‚ฌ์šฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋Š๋ฆฌ๋‹ค๋ผ๋Š” ์น˜๋ช…์ ์ธ ๋‹จ์ ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด CPU ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•œ KVM(Kernel-based Virtual Machine)์ด ๋“ฑ์žฅํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์„ฑ๋Šฅ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•œ ๊ฒƒ์ด Docker contatiner์ด๋‹ค. ์ด๋Š” ๋ฐ”๋กœ Host OS์œ„์—์„œ ๊ฒฉ๋ฆฌ๋งŒํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

Reference