μλ νμΈμ ꡬλ μλ, DevOps μμκ³Ό κΈ°μ μ§μμ μ 리ν΄μ 곡μ ν΄λ리λ DevOps μ¬νμ μν μμμ§μ λλ€.
μ°λ¦¬κ° DevOpsμ λν΄ κ²μμ νλ€λ³΄λ©΄ ν¨κ» λ μ€λ₯΄λ ν€μλκ° νλ μμ΅λλ€. λ°λ‘ νλ«νΌ μμ§λμ΄λ§μΈλ°μ.
μ΅κ·Ό μ λ νλ«νΌ μμ§λμ΄λ§μ΄λ ν€μλλ₯Ό λ§μ΄ μ νκ² λλ©΄μ νλ«νΌ μμ§λμ΄λ§μ΄ ꡬ체μ μΌλ‘ 무μμ λ§νλμ§ κΆκΈνκ³ , μ΄λ² κΈ°νμ μ 리λ₯Ό ν΄λ΄€μ΅λλ€.
κ·ΈλΌ κ°μ΄ μμλ³ΌκΉμ?
νλ«νΌ μμ§λμ΄λ§μ κ°λ°μμ μμ°μ±μ λμ¬μ£Όλ λ΄λΆ νλ«νΌ(Internal Developer Platform, IDP)μ κ°λ°νκ³ μ μ§λ³΄μνλ νλμ μλ―Έν©λλ€. μ¦, κ°λ°μλ₯Ό μν κ°λ°μ΄λΌκ³ λ³Ό μ μκ² λλ°μ.
κ·Έλ λ€λ©΄ νλ«νΌ μμ§λμ΄λ§μ DevOpsμ μ΄λ€ μ°¨μ΄κ° μμκΉμ?
πDevOpsμ νλ«νΌ μμ§λμ΄λ§μ μ°¨μ΄
λ κ°μ§ λͺ¨λ μ‘°μ§ λ΄ κ°λ°μλ₯Ό λμμΌλ‘ νλ νλμ΄κΈ° λλ¬Έμ κ·Έ μ°¨μ΄μ μ΄ λΆλͺ νμ§ μμ μ μμ΅λλ€. κ·Έλμ λ νλμ ν¨κ» λΉκ΅ν΄λ³΄κ² μ΅λλ€.
λ¨Όμ DevOpsλ μννΈμ¨μ΄ κ°λ° μ κ·Ό λ°©μ μ€ νλλ‘, κ°λ° 주체과 μ΄μ 주체 κ°μ κΈ΄λ°ν νμ μ μν κ²μ λλ€.
κ·Έλ¦¬κ³ νλ«νΌ μμ§λμ΄λ§μ DevOpsμ νμν κ°μ’ λꡬμ μμ νλ‘μΈμ€ ν κ³³μ λͺ¨μ νλ«νΌμ μ 곡νλ νλμ λλ€.
μ¦, DevOps νμ μ‘°μ§μκ² μ μ ν κ°λ° ,λΉλ, ν μ€νΈ, λ°°ν¬, Configuration, μλν λꡬλ₯Ό λμ ν¨μΌλ‘μ¨ κ°λ° νλ‘μΈμ€λ₯Ό μ 립νλ μν μ μννκ³ , νλ«νΌ μμ§λμ΄λ§ νμ μ΄λ κ² μ μ λ λꡬλ€μ νμ , μΆκ° ꡬν, μ μ§λ³΄μνμ¬ μ‘°μ§ λ΄ κ°λ°μλ€μ΄ μ¬μ©ν μ μλλ‘ νλ«νΌ(IDP)μΌλ‘ λ§λ€μ΄λ΄λ μν μ μννλ κ²μ΄μ£ .
μ΄λ κ² IDPλ₯Ό ꡬμ±νκ² λλ€λ©΄, μ‘°μ§ λ΄ λ€λ₯Έ κ°λ°μλ€μ νλ«νΌμ΄λ λꡬ μ체μ λν μΈμΈν μ΄ν΄ μμ΄λ νλ«νΌμ΄ μ 곡νλ μΌκ΄μ±κ³Ό μμ°μ±μ λ릴 μ μκ² λ©λλ€.
μ§κΈκΉμ§ μ΄ν΄λ³Έ κ²μ²λΌ, νλ«νΌ μμ§λμ΄λ§κ³Ό IDPλ μ€κ³Ό λ°λκ°μ κ΄κ³μ΄κΈ° λλ¬Έμ IDPμ λν΄μλ κ·Έλ₯ λμ΄κ° μλ μκ² λλ°μ.π€
IDPλ λ΄λΆ κ°λ°μ νλ«νΌμ΄λΌκ³ νμμ£ . μ΄λ° IDPλ λκ·λͺ¨ κ°λ° νμκ²λ§ νμνλ€κ³ μκ°λ μλ μμ§λ§, κ°λ°λΆν° λ°°ν¬κΉμ§ κΎΈμ€ν μ΄λ€μ§λ νμ΄λΌλ©΄ μμ μ μΈ μμ νλ‘μΈμ€λ₯Ό μν΄ IDPλ₯Ό κ³ λ―Όν΄λ³Όλ§ ν©λλ€.
μ¬μ€ IDPμ λν νμ€μ΄ μ 립λ κ²μ μλκΈ° λλ¬Έμ κ° μ‘°μ§λ§λ€ IDPμ λν μꡬμ¬νμ λ€λ₯Ό μ μμ΅λλ€. λν λ¨μΌ ν΄μ΄ μλ μ¬λ¬ κ°μ ν΄μ μ κΈ°μ μΌλ‘ νμ©ν΄μ IDPλ‘ κ΅¬μ±ν μλ μλ κ²μ΄μ£ .
μ‘°μ§λ§λ€ μ°¨μ΄λ μλλΌλ IDPκ° κ°μ ΈμΌ ν νμ μμλ μλμ κ°μ΄ 7κ°μ§λ‘ μ 리ν μ μμ΅λλ€.
π οΈIDPμ νμ ꡬμ±μμ 7κ°μ§
νμ΄νλΌμΈ
μννΈμ¨μ΄ μ½λλ₯Ό κ°λ° μ€μ΄λΌλ©΄ μ½λμ λ¬Έμ κ° μλμ§ κ²μ¦μ΄ νμνλ°μ. μ΄λ° μ½λ κ²μ¦μ μλμΌλ‘ ν΄μ£Όλ νμ΄νλΌμΈμ΄ μλ€λ©΄ κ°λ°μλ€μ μμ°μ±μ΄ ν₯μλ κ²μ λλ€.
νμ΄νλΌμΈ κ΄λ ¨ ν΄λ‘λ GitHub Action, GitLab CI Runner, Jenkins λ±μ΄ μμ΅λλ€.
μν°ν©νΈ μ μ₯μ
μ»΄νμΌμ΄ μλ£λμκ±°λ 컨ν μ΄λνλ μ΄λ―Έμ§λ₯Ό μ μ₯νλ μν°ν©νΈ μ μ₯μλ μ‘°μ§ λ΄ κ°λ° νλ‘μΈμ€μ 보μμ μν΄μ νμμ μ λλ€. λν μν°ν©νΈ μ μ₯μκ° μλ€λ©΄ λ¬Έμ κ° λ°μνμ κ²½μ° μ μνκ² μ΄μ λ²μ μ μ΄λ―Έμ§λ₯Ό κ°μ Έμμ μ¬μ©ν μλ μκ² μ£ .
μν°ν©νΈ μ μ₯μ κ΄λ ¨ ν΄λ‘λ CRI-O, Docker, Nexus λ±μ΄ μμ΅λλ€.
λ°νμ κ΄λ ¨
μ ν리μΌμ΄μ μ΄ λ°°ν¬λμ΄ λμνλ λ°νμ κΈ°κ° μ€μ 보μ, λ€νΈμν¬ κ΄λ ¨ μ΄μ λ±μ μ€μκ°μΌλ‘ μ μ΄νλ κ²μ΄ μ€μν©λλ€. λ°νμ 보μ κ΄λ ¨ ν΄λ‘λ Falco λ±μ΄ μμ΅λλ€.
λν μ ν리μΌμ΄μ λ°°ν¬ν μ μλ μ€μΌμ€νΈλ μ΄μ ν΄ μμ μ¬κΈ°μ ν¬ν¨λλλ°μ. μ€ν μ€μΌμΌλ§μ΄λ μ ν νλ§(Self-healing), λ‘λ λ°Έλ°μ± κΈ°λ₯μ΄ κ°λ ₯ν Kubernetesκ° λνμ μΈ ν΄μ΄λΌκ³ ν μ μμ κ²μ λλ€.
API Gateway / Service Proxy
λ μμ λͺ¨λ μ ν리μΌμ΄μ μ μΈλΆλ‘ μλΉμ€νκΈ° μν΄ νμμ μΈ κ²μ λλ€.
κ΄λ ¨ ν΄λ‘λ Envoy, Nginx, Traefik λ±μ΄ μμ΅λλ€.
λͺ¨λν°λ§
μννΈμ¨μ΄ μ¬μ΄ν΄μμ λͺ¨λν°λ§κ³Ό λ‘κ·Έ μΆμ μ μ λ§ μ€μν μμμ λλ€. μ ν리μΌμ΄μ μ λ°μν λ¬Έμ λ₯Ό ν΄κ²°νκ³ μμ μ μΈ μλΉμ€λ₯Ό 보μ₯νλ λ°μ κ²°μ μ μΈ μν μ νκΈ° λλ¬Έμ΄μ£ .
λͺ¨λν°λ§ κ΄λ ¨ ν΄λ‘λ ELK μ€ν, PLG μ€νμ΄ μμ΅λλ€.
FinOps λ° μ§μκ°λ₯μ± κ΄λ ¨
FinOpsλ ν΄λΌμ°λ μ΄μμ μμλλ λΉμ©μ κ΄λ¦¬νλ νλμ μλ―Έν©λλ€.
κ·Έλ¦¬κ³ μ¬κΈ°μ λ§νλ μ§μκ°λ₯μ±μ΄λ, μ¬μ©νμ§ μλ 리μμ€μ λμμ λ©μΆ° λΆνμν μλμ§ μλΉλ₯Ό μ€μ΄λ κ²μ λ§ν©λλ€.
μ§μκ°λ₯μ±κ³Ό λΉμ© μ μ½μ μν ν΄λ‘λ kube-green λ±μ΄ μμ΅λλ€.
λ°μ΄ν° κ΄λ¦¬
μ ν리μΌμ΄μ λμμ νμν λ°μ΄ν°λΏλ§ μλλΌ, μλΉμ€ μ΄μμ μ¬μ©λλ λ€μν μμ€ν μΌλ‘λΆν° μ€μκ°μΌλ‘ λ°μνλ λ°μ΄ν° μμ μ€μν μ μμ΅λλ€.
πλ§μΉλ©°...
μ΄λ² μμμ§μμ νλ«νΌ μμ§λμ΄λ§μ΄λ 무μμΈμ§ μ 리ν΄μ μκ°νλ μκ°μ κ°μ Έλ³΄μλλ°μ. μ λ μ΄λ² κΈ°νμ νλ«νΌ μμ§λμ΄λ§μ΄ 무μμΈμ§ λμ± λͺ νν μκ² λμ΄μ μ’μμ΅λλ€.βΊοΈ
νΉμ μ΄λ² λ΄μ© κ΄λ ¨ν΄μ λ κΆκΈν μ μ΄ μμΌμλ€λ©΄ μλ λ©μΌλ¦¬ λκΈ λ¨κ²¨μ£ΌμΈμ.π
κ·ΈλΌ, λ€μ μμμ§μμ λ³΄λ€ μμ°¨κ³ ν₯λ―Έλ‘μ΄ λ΄μ©μΌλ‘ μ°Ύμλ΅κ² μ΅λλ€.
μ€λλ κ°μ¬ν©λλ€, ꡬλ μλ πΊ
πReferences
μ견μ λ¨κ²¨μ£ΌμΈμ