ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ μ΄ν΄
ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ μ€λλ λΉμ¦λμ€ νκ²½μμ κΈ°μ λ€μ΄ λμ§νΈ νμ μ ν₯ν μ¬μ μ μ±κ³΅μ μΌλ‘ μ΄λμ΄κ°λ λ° νμμ μΈ μμμ λλ€. μ΄ κΈ°μ λ€μ ν΄λΌμ°λ νκ²½μμμ μ μ°ν μ ν리μΌμ΄μ λ°°ν¬μ κ΄λ¦¬, κ·Έλ¦¬κ³ μ§μμ μΈ ν΅ν©κ³Ό λ°°ν¬(Continuous Integration and Continuous Deployment, CI/CD)λ₯Ό κ°λ₯νκ² νμ¬ κΈ°μ μ κ²½μλ ₯μ νμΈ΅ λμ¬μ€λλ€. ν΄λΌμ°λ λ€μ΄ν°λΈ μν€ν μ²λ λΉ λ₯Έ μμ₯ λμ, 리μμ€ μ΅μ ν, κ·Έλ¦¬κ³ λ³΅μ‘ν μ ν리μΌμ΄μ νκ²½μμλ μμ μ±μ μ 곡ν©λλ€. μ΄λ¬ν μ΄μ λ‘ λ§μ κΈ°μ λ€μ΄ ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ λμ νκ³ μμ΅λλ€.
ν΄λΌμ°λ λ€μ΄ν°λΈμ κΈ°λ³Έ κ°λ
ν΄λΌμ°λ λ€μ΄ν°λΈλ ν΄λΌμ°λ νκ²½μ νμ©νμ¬ μ ν리μΌμ΄μ μ κ°λ°, λ°°ν¬ λ° μ΄μνλ μ κ·Ό λ°©μμ μλ―Έν©λλ€. μ΄λ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ², 컨ν μ΄λν(Containerization), μλ²λ¦¬μ€ μ»΄ν¨ν (Serverless Computing) λ± λ€μν μ΅μ κΈ°μ λ° ν¨ν΄μ ν¬ν¨ν©λλ€. μ΄λ¬ν μ κ·Ό λ°©μμ μ ν리μΌμ΄μ μ΄ λΉ λ₯΄κ² λ³ννλ λΉμ¦λμ€ νκ²½μ μ μν μ μλλ‘ νλ©°, λ λμκ° κΈ°μ μ μ λ°μ μΈ μ΄μ ν¨μ¨μ±μ λμ λλ€.
ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ ν΅μ¬ μμ μ€ νλλ λ§μ΄ν¬λ‘μλΉμ€ μν€ν μ²μ λλ€. μ΄λ λκ·λͺ¨ μ ν리μΌμ΄μ μ μμ λ 립 μλΉμ€λ‘ λλμ΄ κ΄λ¦¬νλ λ°©μμΌλ‘, κ° μλΉμ€λ νΉμ κΈ°λ₯μ μνν©λλ€. μ΄λ¬ν ꡬ쑰λ μ ν리μΌμ΄μ μ μ μ°μ±κ³Ό νμ₯μ±μ λμ΄λ©°, μ ν리μΌμ΄μ μ νΉμ λΆλΆμμ λ¬Έμ λ°μ μ μ 체 μμ€ν μ λ―ΈμΉλ μν₯μ μ΅μνν©λλ€. μλ₯Ό λ€μ΄, μ μμκ±°λ νλ«νΌμμ κ²°μ νλ‘μΈμ€μ μν κ²μ κΈ°λ₯μ λ§μ΄ν¬λ‘μλΉμ€λ‘ λλλ©΄, νλμ κΈ°λ₯μμ μ€λ₯κ° λ°μνλλΌλ λ€λ₯Έ κΈ°λ₯μ μ μμ μΌλ‘ μλν μ μμ΅λλ€.
ν΄λΌμ°λ λ€μ΄ν°λΈμ μ΄μ
ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ λμ ν¨μΌλ‘μ¨ κΈ°μ μ μ¬λ¬ κ°μ§ μ΄μ μ λ릴 μ μμ΅λλ€. 첫째, λΉμ© μ κ°μ΄ κ°λ₯ν©λλ€. ν΄λΌμ°λ μλΉμ€λ₯Ό νμ©νλ©΄ νλμ¨μ΄ μ μ§λ³΄μ λΉμ©μ μ κ°νκ³ , νμμ λ°λΌ 리μμ€λ₯Ό νμ₯νκ±°λ μΆμνμ¬ λΉμ© ν¨μ¨μ κ·Ήλνν μ μμ΅λλ€. λμ§Έ, μ΄μμ μ μ°μ±μ΄ ν₯μλ©λλ€. κΈ°μ μ λ³ννλ λΉμ¦λμ€ μꡬμ λ°λΌ μ μνκ² μ ν리μΌμ΄μ μ μμ νκ³ λ°°ν¬ν μ μμΌλ©°, κ·Έμ λ°λΌ κ²½μ μ°μλ₯Ό ν보ν μ μμ΅λλ€. μλ₯Ό λ€μ΄, μ½λ‘λ19 ν¬λ°λ―ΉμΌλ‘ μΈν΄ λ§μ κΈ°μ λ€μ΄ λμ§νΈ μ νμ κ°μννκ³ , μ΄ κ³Όμ μμ ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°λ²μ΄ ν° μν μ νμ΅λλ€.
μ μ§Έ, ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ νμ©νλ©΄ μ§μμ μΈ λ°°ν¬κ° κ°λ₯ν΄μ§λλ€. CI/CD νμ΄νλΌμΈμ ν΅ν΄ μλ‘μ΄ κΈ°λ₯μ΄λ μμ μ¬νμ λΉ λ₯΄κ² λ°°ν¬ν μ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ μ¬μ©μμκ² μ μνκ² κ°μΉλ₯Ό μ 곡ν μ μμ΅λλ€. λ§μ§λ§μΌλ‘, μλνλ₯Ό ν΅ν΄ μ΄μνμ λΆλ΄μ μ€μ¬μ£Όκ³ , κ°λ°μλ λ λμ μ ν리μΌμ΄μ μ λ§λλ λ° μ§μ€ν μ μμ΅λλ€.
μ€μ μ¬λ‘: μ±κ³΅μ μΈ ν΄λΌμ°λ λ€μ΄ν°λΈ ꡬν
ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ μ±κ³΅μ μΌλ‘ ꡬνν κΈ°μ μ μ¬λ‘λ‘λ λ·νλ¦μ€(Netflix)λ₯Ό λ€ μ μμ΅λλ€. λ·νλ¦μ€λ μ΄κΈ°μλ λͺ¨λ리μ μν€ν μ²λ₯Ό μ¬μ©νμΌλ, μ¬μ©μ μμ κΈμ¦κ³Ό λ€μν κΈ°κΈ°μμμ μ κ·Όμ±μ κ³ λ €νμ¬ ν΄λΌμ°λ λ€μ΄ν°λΈ μν€ν μ²λ‘ μ ννμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κ·Έλ€μ μμ μ±κ³Ό νμ₯μ±μ κ°μΆ μλΉμ€λ₯Ό μ 곡ν μ μκ² λμκ³ , λ§μ΄ν¬λ‘μλΉμ€ κΈ°λ°μΌλ‘ κ° κΈ°λ₯μ λ 립μ μΌλ‘ λ°°ν¬νκ³ κ΄λ¦¬ν μ μλ μ₯μ μ λλ¦¬κ³ μμ΅λλ€.
λν, μ°λ²(Uber)λ ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ μ κ·Ή νμ©νμ¬ μΈκ³ κ°μ§μμ λμμ μλΉμ€λ₯Ό μ΄μν μ μλ λ₯λ ₯μ κ°μ·μ΅λλ€. μ°λ²λ λ°μ΄ν° μ²λ¦¬μ μ€μκ° ν΅μ μ νμν μΈνλΌλ₯Ό ν΄λΌμ°λλ₯Ό κΈ°λ°μΌλ‘ ꡬμΆνμ¬, κ³ κ°μ μꡬμ μ μνκ² λμν μ μμ΅λλ€. μ΄μ²λΌ ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ λ€μν λΉμ¦λμ€ λͺ¨λΈμ κ°λ₯νκ² νλ©°, κΈ°μ μ μ±μ₯κ³Ό νμ μ μ΄μ§ν©λλ€.
ν΄λΌμ°λ λ€μ΄ν°λΈλ₯Ό μν κΈ°μ λ° λꡬ
ν΄λΌμ°λ λ€μ΄ν°λΈ μ ν리μΌμ΄μ μ κ°λ°νκΈ° μν΄μλ λ€μν κΈ°μ κ³Ό λκ΅¬κ° νμν©λλ€. μλ₯Ό λ€μ΄, λ컀(Docker)μ μΏ λ²λ€ν°μ€(Kubernetes)λ μ ν리μΌμ΄μ μ 컨ν μ΄λννμ¬ κ΄λ¦¬νκ³ λ°°ν¬νλ λ° λ리 μ¬μ©λ©λλ€. μ΄λ¬ν λꡬλ€μ κ°λ°μμ μ΄μν κ°μ νμ μ μννκ² νκ³ , μ ν리μΌμ΄μ μ 볡μ‘μ±μ μ€μ¬μ€λλ€.
λν, μλ²λ¦¬μ€ μν€ν μ²μ κ²½μ°, AWS Lambdaμ κ°μ ν΄λΌμ°λ μλΉμ€λ μλ² κ΄λ¦¬μ λΆλ΄μ λμ΄μ£Όκ³ , κ°λ°μλ μ½λ μμ±μλ§ μ§μ€ν μ μκ² ν΄μ€λλ€. μ΄λ¬ν κΈ°μ λ€μ ν΄λΌμ°λ λ€μ΄ν°λΈ νκ²½μμ λΉμ¦λμ€μ μλλ₯Ό λμ΄κ³ , λμ± ν¨μ¨μ μΈ κ²°κ³Όλ₯Ό λμΆν΄λ λλ€.
κ²°λ‘
ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ νλ λΉμ¦λμ€μ νμμ μΈ μμλ‘ μ리 μ‘κ³ μμΌλ©°, μ΄λ₯Ό ν΅ν΄ κΈ°μ λ€μ λ λΉ λ₯΄κ³ ν¨μ¨μ μΌλ‘ λ³ννλ μμ₯μ λμν μ μμ΅λλ€. ν΄λΌμ°λ λ€μ΄ν°λΈ μν€ν μ²λ₯Ό ν΅ν΄ μ»μ μ μλ μ μ°μ±, λΉμ© μ κ°, κ·Έλ¦¬κ³ μ§μμ μΈ λ°°ν¬λ λΉμ¦λμ€μ κ²½μλ ₯μ κ°ννλ λ° ν° λμμ΄ λ©λλ€. κ·Έλ¬λ―λ‘ κΈ°μ μ ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ λμ νκ³ νμ©νμ¬ λ³ννλ μμ₯μμ μ±κ³΅μ μΈ λ―Έλλ₯Ό λ§λ€μ΄ λκ°μΌ ν κ²μ λλ€.
ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ ꡬνμ κ³ λ €νλ€λ©΄, μΈλΆμ μΈ μ λ΅μ μΈμ°κ³ νμν λꡬλ₯Ό κ³ννλ κ²μ΄ μ€μν©λλ€. μ΄λ λ¨μν κΈ°μ μ λ³νκ° μλλΌ λΉμ¦λμ€ λͺ¨λΈμ νμ μ λ»νλ©°, κ²°κ΅ μ¬λ¬λΆμ λΉμ¦λμ€λ₯Ό λ³νμν¬ ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ μ κΈΈμ μ΄μ΄μ€ κ²μ λλ€.
λ©ν μ€λͺ : ν΄λΌμ°λ λ€μ΄ν°λΈ κΈ°μ λ‘ λΉμ¦λμ€λ₯Ό νμ νλ λ°©λ²κ³Ό κ·Έ μ΄μ μ λν΄ μμΈν μμ보μΈμ.
λΉμ¦λμ€, ν΄λΌμ°λ λ€μ΄ν°λΈ, λ§μ΄ν¬λ‘μλΉμ€, μ§μμ μΈ λ°°ν¬, λ컀, μΏ λ²λ€ν°μ€, μλ²λ¦¬μ€, AWS, λμ§νΈ μ ν, ν¨μ¨μ±