• 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 의 μž₯점
    • λ³΅μž‘λ„, μ‹€νŒ¨ ν™•λ₯ μ΄ 적어진닀.
    • 문제 λŒ€μ‘μ΄ 쉽닀.
    • λ³€ν™” λͺ©λ‘μ„ κΈ°λ‘ν•˜κ³  좔적할 ν•„μš”κ°€ μ—†λ‹€. μƒˆλ‘­κ²Œ λ§Œλ“  μΈμŠ€ν„΄μŠ€κ°€ κΈ°λŒ€λ₯Ό μΆ©μ‘±ν•˜μ§€ λͺ»ν•œλ‹€λ©΄ 이전 μΈμŠ€ν„΄μŠ€λ‘œ λ‘€λ°±ν•˜λ©΄ λœλ‹€.

μ°Έκ³ λ¬Έν—Œ