• toc {:toc}

On-Premises (On-Prem)

  • ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๊ณ  ์šด์˜, ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

  • Private ํด๋ผ์šฐ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • On-Premises vs Cloud Computing

  • On-Premises

    • ์†Œํ”„ํŠธ์›จ์–ด ๋ผ์ด์„ ์Šค ๋น„์šฉ ์ •๋„๋กœ ํ‘œ๋ฉด์ ์ธ ๋น„์šฉ์ด ๋“œ๋Ÿฌ๋‚˜๋‚˜, ์‹ค์ œ๋กœ ํ•˜๋“œ์›จ์–ด ์„ค์น˜, ์šด์˜, ์—…๊ทธ๋ ˆ์ด๋“œ ๋“ฑ ์ˆจ์–ด์žˆ๋Š” ๋น„์šฉ์ด ๋งŽ๋‹ค.
    • Pets Model. ์ง์ ‘ ํ•˜๋“œ์›จ์–ด, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์„ค์ •ํ•œ๋‹ค. ๊ทธ๋Ÿฐ ๋งŒํผ ์• ์ •์„ ๊ฐ–๊ธฐ์— ์„œ๋ฒ„์— ๊ณ ์œ  ์ด๋ฆ„์„ ๋ถ™์ธ๋‹ค.
  • Cloud Computing

    • ๊ตฌ๋…ํ•˜๋Š” ๋น„์šฉ์ด ๋Œ€๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•˜๊ณ  ๊ทธ ๋‚ด๋ถ€ ํ•˜๋“œ์›จ์–ด, ๋„คํŠธ์›Œํฌ ๋“ฑ์˜ ์œ ์ง€ ๋ณด์ˆ˜์— ๋Œ€ํ•ด์„œ๋Š” ํฌ๊ฒŒ ๋น„์šฉ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
    • ํ•„์š” ์‹œ ์‚ฌ์šฉํ•˜๊ณ  ํ•„์š”์—†์œผ๋ฉด ํ๊ธฐํ•˜๋Š” ํ˜•ํƒœ๋ฅผ ๋ค๋‹ค.
  • Pets Model

    • ๊ฐ ๋ชจ๋“  ์„œ๋ฒ„๋Š” ์ด๋ฆ„์ด ์ฃผ์–ด์ง€๊ณ  ๋…ํŠนํ•˜๊ฒŒ ์„ค์ •ํ•˜๋Š” ๊ฒƒ.
    • ๊ฐ์ž ๋…ํŠนํ•˜๊ณ , ๊ท€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์œผ๋ฉด ๋ฐ”๋กœ ์ •์ƒ์ ์œผ๋กœ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•œ๋‹ค.
    • ์„œ๋ฒ„๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋งŽ์•„์งˆ์ˆ˜๋ก ์ด๋ฅผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ํž˜๋“ค๊ธฐ ๋•Œ๋ฌธ์— cattle ๋ชจ๋ธ๋กœ ์ด๋™ํ•œ๋‹ค.
  • Cattle Model

    • ์•„์ด๋””, ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ๊ตฌ๋ถ„ํ•œ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•œ๋‹ค.
    • ๊ฐ cattle์€ ๋™์ผํ•˜๊ณ  ๋‹จ์ง€ ํƒœ๊ทธ์— ์˜ํ•ด ๊ตฌ๋ณ„๋  ๋ฟ์ด๋‹ค.
    • ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค๋ฉด ๊ณ ์น˜์ง€ ์•Š๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์œผ๋กœ ๊ต์ฒดํ•˜๋ฉด ๊ทธ๋งŒ์ด๋‹ค.

image[Fig1]

Infrastructure as Code

Infrastructure

  • ํ•˜๋“œ์›จ์–ด/๋„คํŠธ์›Œํฌ
    • ์„œ๋ฒ„ - CPU, ๋ฉ”๋ชจ๋ฆฌ, ์Šคํ† ๋ฆฌ์ง€
  • ์šด์˜์ฒด์ œ
    • ๋ฆฌ๋ˆ…์Šค
  • ๋ฏธ๋“ค์›จ์–ด
    • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํ•„์š”๋กœ ํ•˜๋‚˜, ์šด์˜์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์„ ํ†ตํ•ด ํŽธ์˜์„ฑ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ์–ด๋–ป๊ฒŒ ์œ ์ง€ ๊ด€๋ฆฌ ํ•  ๊ฒƒ์ธ ์ง€๊ฐ€ ๋ฌธ์ œ์ด๋‹ค.

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

IaC (Infrastructure as Code)

  • ์‚ฌ๋žŒ์ด ์ง์ ‘ ์„ค์ •ํ–ˆ๋˜ ํ•˜๋“œ์›จ์–ด์™€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์ถ•์„ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๊ตฌ์ถ•ํ•˜๋„๋ก ์„ค์ •ํ•˜์—ฌ ์ž๋™์œผ๋กœ ๋™์ผํ•œ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์„ ํ†ตํ•ด ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•ด์ฃผ์ž!

  • IaC๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ ์œ„์— ์ž‘์€ ์ž‘์—…์„ ์˜ฌ๋ฆฌ๊ณ  ์ž‘์€ ์ž‘์—…์ด ๋งŽ์•„์ง„๋‹ค๋ฉด ์—ฌ๋Ÿฌ CPU๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

    • ๋•Œ๋ฌธ์— ๊ฑฐ๋Œ€ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ๋“ค๊ณ  ์ œ์–ดํ•˜๋Š” ์‚ฌ๋žŒ๋„ ์ ์–ด์กŒ๋‹ค.
  • IaC๋Š” ์‚ฌ๋žŒ์ด ์ „ํ˜€ ๊ฐœ์ž…ํ•˜์ง€ ์•Š๊ณ  ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋‹ค๋ฃธ์œผ๋กœ์จ ๋น ๋ฅด๊ณ  ์ผ์ •ํ•˜๊ฒŒ ์„ค์ •, ๋ฐฐํฌ๋  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š”๋‹ค.

  • ์žฅ์ 

  1. ์†๋„, ๊ฐ„ํŽธํ•จ
  2. ์„ค์ • ๋™์ผ์„ฑ
  3. ์œ„ํ—˜์˜ ์ตœ์†Œํ™” (์‹ค์ˆ˜๊ฐ€ ์ ์–ด์ง€๊ณ , ์„ค์ • ๋ฐ ์ €์žฅํ•  ์ง€์—ญ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.)
  4. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ํšจ์œจ ์ฆ๊ฐ€
  5. ๋น„์šฉ ์ ˆ๊ฐ

Mutable / Immutable

  • Mutable Infrastructure - Pets

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

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

  • Immutable์˜ ์žฅ์ 

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

์ฐธ๊ณ ๋ฌธํ—Œ