MSA μν€ν μ²
MSAλ₯Ό ꡬμ±νκΈ° μν΄μ λ§μ μΈλΆ ꡬμ±μμλ€μ΄ μ¬μ©λλ€.
κ°μ₯ μλλΆν° κΈ°λ°μΈ μΈνλΌ μμ, μΈνλΌ μμ μμ μ ν리μΌμ΄μ
μ ꡬλνκΈ° μν νλ«νΌ μμ, νλ«νΌ μμ μμ μ ν리μΌμ΄μ
μμμΌλ‘ ꡬμ±λλ€.
κ°μν κΈ°μ μ΄ λμ¨ μ΄μ
μμ μ, νλ΄ μ»¨νΌλ°μ€μμ μ΄λ¬ν μ£Όμ λ‘ λ°νλ₯Ό μ§νν μ μ΄ μμ΄, ν΄λΉ μλ£λ‘ λ€μ μ 리νλ€.
κ°μ μΈνλΌ νκ²½μ νμ©ν λ, Virtual Machineκ³Ό Container κΈ°λ° Product μ€μ νλλ₯Ό μ νν΄μΌ νλ€.
κ°μν κΈ°μ μ΄ λμ€κΈ° μ μλ
- νλμ μλ²λ νλμ μ©λλ‘λ§ μ¬μ© κ°λ₯
- λ¨λ μλ² κ³΅κ°μ κ·Έλλ‘ λ°©μΉ
- νλμ μλ²μ νλμ μ΄μ체μ λ§ μ€ν κ°λ₯
νλ€λ μλΉν λΉν¨μ¨μ μΈ λ¬Έμ κ° μμλ€.
μλ²μ μ±λ₯μ λλ μ μ¬μ©ν μ μκ² νκΈ° μν΄ λ±μ₯νκ² κ°μν κΈ°μ μ΄κ³ , κ·Έ μ€μμ Hypervisor κΈ°λ°μ κ°μνκ° μΆννκ² λμλ€.
Hypervisor κΈ°λ°μ κ°μν
Hypervisorλ μλμ κ°μ νΉμ§μ΄ μλ€.
- λ Όλ¦¬μ μΌλ‘ 곡κ°μ λΆν νμ¬ VMμ΄λΌλ λ 립μ μΈ κ°μ νκ²½μ μλ²λ₯Ό μ΄μ© κ°λ₯νκ² ν¨.
- Host Systemμμ λ€μμ Guest OSλ₯Ό ꡬλν μ μκ² λ¨.
- H/Wλ₯Ό κ°μννλ©΄μ H/Wμ κ°κ°μ VMμ λͺ¨λν°λ§νλ μ€κ° κ΄λ¦¬μ μν μ ν¨.
λν, λ κ°μ§ νμ μ΄ μ‘΄μ¬νλ€. (Bare-Metal Hypervisor, Hosted Hypervisor)
(1) Bare-Metal Hypervisor
Hostμ νλμ¨μ΄μμ μ§μ μ€μΉλμ΄ κ΅¬λλλ©°, Guest OSλ₯Ό κ΄λ¦¬νλ€.
μλμ νΉμ§ λλ¬Έμ Enterprise λ°μ΄ν° μΌν°μ μλ² κΈ°λ° νκ²½μμ μΌλ°μ μΌλ‘ μ¬μ©λλ ꡬ쑰λΌκ³ μκ³ μλ€.
- 물리μ HWμ μ§μ μ€μΉλκΈ° λλ¬Έμ Host OSλ₯Ό ν΅νμ§ μκ³ νλμ¨μ΄ μμμ μ§μ Accessνκ² λλ―λ‘ μ€λ²ν€λκ° μ€μ΄λ λ€.
- Host OSκ° μμ΄μ OS μμ€μμ λ°μν μ μλ 보μ μ·¨μ½μ μ΄ μλ€.
- μ€μ μ§μ€μ κ΄λ¦¬ λꡬμ ν¨κ» μ¬μ©λμ΄ νμ₯μ±μ΄ λλ€.
(2) Hosted Hypervisor
VMwareμ Workstationκ³Ό Oracleμ VirtualBoxκ° μ΄ νμμ΄λ©°, μ¬λ¬κ°μ§ νΉμ§μ΄ μλ€.
μλμ νΉμ§ λλ¬Έμ, μκ·λͺ¨ λΉμ§λμ€, κ°λ° λ° ν μ€ν νκ²½, κ°μΈ μ¬μ© νκ²½μ μν΄ μ¬μ©λλ€.
- μΌλ°μ μΈ SWμ²λΌ Host OS μμμ μ€νλλ€.
- HW μμμ VM λ΄λΆμ Guest OSμ Emulate νλ λ°©μμΌλ‘ μ€λ²ν€λκ° ν¬μ§λ§, Guest OS μ’ λ₯μ λν μ μ½μ΄ μκ³ κ΅¬νμ΄ μ½λ€.
- Host OSμ λ¬Έμ κ° Guest OSμ μν₯μ μ€ μ μλ€.
- μΆκ°μ μΈ νλμ¨μ΄ ν¬μ μμ΄ κΈ°μ‘΄μ μ»΄ν¨ν μμμ κ·Έλλ‘ νμ©νμ¬ κ°μνλ₯Ό ꡬνν μ μλ€.
컨ν μ΄λ κΈ°λ°μ κ°μν
컨ν μ΄λλ 무μμΌκΉ?
컨ν μ΄λλ μ½λμ λͺ¨λ μ’ μμ±μ ν¨ν€μ§νν΄μ μμ© νλ‘κ·Έλ¨μ΄ νλμ μ»΄ν¨ν νκ²½μμ λ€λ₯Έ μ»΄ν¨ν νκ²½μΌλ‘ λΉ λ₯΄κ³ μμ μ μΌλ‘ μ€νλλλ‘ νλ SWμ νμ€ λ¨μλΌκ³ νλ€.
μ΄λ¬ν Containerμμ λ€μν νλ‘κ·Έλ¨, μ€ννκ²½μ μΆμννκ³ λμΌν μΈν°νμ΄μ€λ₯Ό μ 곡ν΄μ νλ‘κ·Έλ¨μ λ°°ν¬ λ° κ΄λ¦¬λ₯Ό λ¨μν ν μ μλ€.
λ컀 컨ν μ΄λμ κ°μν κΈ°μ
λμ»€κ° λ°λ‘ 컨ν μ΄λ κΈ°λ° κΈ°μ μ μ¬μ©νλ μ€νμμ€ νλ«νΌμ΄λ€.
μλμ κ°μ νΉμ§μ΄ μλ€.
- λ컀 컨ν μ΄λλ Linux κΈ°λ°μ OSμμλ§ λμνλ€.
- Hypervisor VMμ²λΌ Docker Engineμ΄ Host OS μμμ λμνλ€.
- 컨ν
μ΄λκ° μ 곡νλ 격리 κΈ°λ₯ λ΄λΆμ μλλ°μ€κ° μμ§λ§, κ²°κ΅ κ°μ Hostμ λ€λ₯Έ 컨ν
μ΄λμ λμΌν Kernelμ 곡μ νλ€.
β 컀λμ΄λ? -> OSμ ν΅μ¬ λΆλΆμ΄κ³ , SWμ HW μ¬μ΄μμ μ€κ°μ μν μ νλ€. μ»΄ν¨ν°μ HW μμ(CPU, Memory, I/O Device) λ±κ³Ό ν΅μ νκ³ , μμ€ν μ λͺ¨λ SW μμ μ κ΄λ¦¬ λ° μ‘°μ νλ μ± μμ κ°μ§κ³ μλ€. - 컨ν μ΄λ λ΄λΆμμ μ€νλλ νλ‘μΈμ€λ Host μμ€ν μμ λ³Ό μ μλ€.
Hypervisorμ λΉκ΅ν λ컀 컨ν μ΄λ κ°μν κΈ°μ
- Dockerλ VMμ²λΌ Hardwareλ₯Ό κ°μνν΄μ£Όλ κ²μ΄ μλλΌ, Containerλ₯Ό Isolation μν€λ μν μ΄λ€.
- Container μ체μλ Kernel λ±μ OS μ΄λ―Έμ§κ° λ€μ΄μμ§ μλ€.
- Kernelμ Host OSλ₯Ό κ·Έλλ‘ μ¬μ©νκ³ , Host OSμ Container OSμ λ€λ₯Έ λΆλΆλ§ Container λ΄μ κ°μ΄ Packingνλ€.
- Host OSμ Process 곡κ°μ Containerμ 곡μ νλ©° μ€μ λ‘ μ»¨ν μ΄λμμ μ€νν λͺ λ Ήμ΄ Host OSμμ μνλλ€.
μ°μ , μμ κ°μ Hypervisorμ λΉκ΅νμ λ λ컀 κΈ°μ μ λν μ°¨μ΄μ μ΄ μλ€.
μΆκ°μ μΌλ‘ λ§νμλ©΄, Linuxκ° μλ νκ²½μμ λ컀λ₯Ό μ€μΉν λ Light Weight Linuxκ° ν¨κ» μ€μΉλλ€.
λν, λ§μ½ 컨ν
μ΄λ λ΄λΆμμ Host OSμ λ€λ₯Έ Cent OSλ₯Ό μ¬μ©ν΄μΌ νλ€κ³ κ°μ νλ©΄, Cent OSμ μ 체 μ΄λ―Έμ§κ° ν¨κ» 컨ν
μ΄λμ μ
λ‘λ λλκ² μλλΌ Host OS λλ Light Weight Linuxμ λ€λ₯Έ λΆλΆλ§ ν¨ν€μ§λμ΄ μ
λ‘λλλ€.
κ·Έλμ MSAμμλ μ΄λ€ κΈ°μ μ΄ μ 리νκ°
κ²°κ΅, MSAμμλ VMκ³Ό 컨ν μ΄λ κΈ°μ μ€ μ΄λ€ κ²μ΄ μ 리ν κΉ?
μ°¨μ΄λ, μ°μ Guest OSμ μ 무μ λ¬λ €μλ€.
Guest OSλ₯Ό μ¬μ©ν΄μΌ νλ VMμμλ μ΄μ체μ μ μ€μΉλ κ΄λ ¨ λΌμ΄λΈλ¬λ¦¬ μ€μΉ κ°μ μ€λ²ν€λκ° μ§μμ μΌλ‘ λ°μνλ€.
λ°λΌμ, Micro Service Architectureμ κ°μ΄ μμ μλΉμ€λ₯Ό ν¨ν€μ§νκ³ λ°°ν¬νκΈ°μλ 컨ν μ΄λ νκ²½μ΄ λ μ ν©νλ€.
컨ν μ΄λ μ€μΌμ€νΈλ μ΄μ
MSAλ₯Ό μ μ©νκ³ λ§μ 컨ν μ΄λκ° μκ²Όλ€κ³ κ°μ ν΄λ³΄μ.
컨ν μ΄λκ° λ§μμ§μλ‘ μλμΌλ‘ κ΄λ¦¬νκΈ° μ΄λ €μμ§λ€.
μ΄λ₯Ό μν΄, 컨ν μ΄λ μ€μΌμ€νΈλ μ΄μ λꡬλ₯Ό μ¬μ©νμ¬ μ»¨ν μ΄λμ μλ λ°°μΉ λ° λ³΅μ , μ₯μ 볡ꡬ, νμ₯ λ° μΆμ, 컨ν μ΄λκ° ν΅μ , λ‘λ λ°Έλ°μ± λ±μ κ΄λ¦¬νλ€.
λνμ μΌλ‘, Docker Swarmκ³Ό Kubernetesκ° μ¬μ©λλ€.
νμ§λ§, Docker Swarmμ μ체μ μΌλ‘ μΈμ€ν΄μ€λ₯Ό λ리거λ μ€μ΄κ±°λ ν μλ μμΌλ―λ‘, λ λ§μ κΈ°λ₯μ νμ©νλ €λ©΄ Kubernetesλ₯Ό μ΄μ©νλ©΄ λλ€.
μΏ λ²λ€ν°μ€μ λν΄μλ μΆνμ λ λ§μ 곡λΆλ₯Ό νκ³ μ 리ν μμ μ΄λ€.