π[WEB] μλ²λ¦¬μ€(Serverless)λ?
Serverlessμ λν΄μ
λ§μ μν©μμ μλ²λ¦¬μ€
λΌλ λ¨μ΄κ° μμ£Ό μ¬μ©λλ€.
λ¨μ΄ κ·Έλλ‘ serverless
λ‘ μ΄ν΄λ³΄λ©΄, serverκ° νμ μλ
μΌλ‘ ν΄μν μ μμ κ² κ°λ€.
μλ²λ¦¬μ€λ?
μλ²λ¦¬μ€(Serverless)
λ, κ°λ°μκ° μλ²λ₯Ό κ΄λ¦¬ν νμ μμ΄ μ ν리μΌμ΄μ
μ λΉλνκ³ μ€νν μ μλλ‘ νλ ν΄λΌμ°λ λ€μ΄ν°λΈ
κ°λ° λͺ¨λΈμ΄λ€.
ν΄λΌμ°λ λ€μ΄ν°λΈ
: ν΄λΌμ°λ μ 곡 λͺ¨λΈμμ μ 곡νλ λΆμ° μ»΄ν¨ν μ νμ©νκΈ° μν΄ μ ν리μΌμ΄μ μ κ΅¬μΆ λ° μ€ννλ κ°λ
μλ²λ¦¬μ€ λͺ¨λΈμλ μλ²κ° μ‘΄μ¬νκΈ΄ νλ€.
νμ§λ§, μ ν리μΌμ΄μ
κ°λ°μμμ λ€λ₯΄κ² μΆμν
λμ΄ μλ€λ νΉμ§μ΄ μλ€!
ν΄λΌμ°λ μ 곡μκ° μλ² μΈνλΌμ λν νλ‘λΉμ λ
, μ μ§ κ΄λ¦¬
, μ€μΌμΌλ§
λ±μ μΌμμ μΈ μμ
μ μ²λ¦¬νλ©°, κ°λ°μλ λ°°ν¬λ₯Ό μν΄ μ»¨ν
μ΄λ
μ ν¨ν€μ§ νκΈ°λ§ νλ©΄ λλ€.
νλ‘λΉμ λ
: IT μΈνλΌλ₯Ό μμ±νκ³ μ€μ νλ νλ‘μΈμ€
λ, μλ²λ¦¬μ€ μ ν리μΌμ΄μ
μ λ°°ν¬λκ³ λλ©΄ νμμ λ°λΌ μλμΌλ‘ μ€μΌμΌ μ
λκ±°λ μ€μΌμΌ λ€μ΄
λλ€.
μλ²λ¦¬μ€ μν€ν μ² νΉμ§
μλ²λ¦¬μ€λ ν΄λΌμ°λ μ 곡μκ° ν΄λΌμ°λ μΈνλΌ
μ μ ν리μΌμ΄μ
μ μ€μΌμΌλ§
λͺ¨λ κ΄λ¦¬νλ€λ μ μμ λ€λ₯Έ ν΄λΌμ°λ μ»΄ν¨ν
λͺ¨λΈλ€κ³Ό μ°¨μ΄λ₯Ό 보μΈλ€.
μλ²λ¦¬μ€ μ ν리μΌμ΄μ
μ νΈμΆ μ, μ¨λ맨λ
λ‘ μλ μμλλ 컨ν
μ΄λμ λ°°ν¬λλ€!
μ¨λ맨λ
: μ¬μ©μκ° νμλ‘ νλ μλΉμ€λ₯Ό μ¦μ μ΄μ©ν μ μλλ‘ μ 곡λλ λͺ¨λΈ
λ, μλ²λ¦¬μ€λ₯Ό νμ©νλ©΄ μ΄μ체μ λ° νμΌ μμ€ν κ΄λ¦¬, 보μ ν¨μΉ, λΆν λΆμ°, μ©λ κ΄λ¦¬, μ€μΌμΌλ§, λ‘νΉ, λͺ¨λν°λ§ λ±κ³Ό κ°μ μΌμμ μΈ μμ μ λͺ¨λ ν΄λΌμ°λ μλΉμ€ μ 곡μμ 맑길 μ μλ€.
μμ ν μλ²λ¦¬μ€ μ ν리μΌμ΄μ λ° μΌλΆμ μλ²λ¦¬μ€λ‘ MSAλ₯Ό ꡬμΆν μλ μλ€!
μλ²λ¦¬μ€ μ»΄ν¨ν μμ ν΄λΌμ°λ μ 곡μλ λ¬΄μ¨ μΌμ ν κΉ?
μλ²λ¦¬μ€ λͺ¨λΈμμ ν΄λΌμ°λ μ 곡μλ μ½λλ₯Ό νλ‘λμ μΌλ‘ λ°λ‘ λ°°ν¬ν μ μλ μ¬μ©μλ₯Ό λμ νμ¬ λ¬Όλ¦¬ μλ²λ₯Ό ꡬλνκ³ , 리μμ€λ₯Ό μ μνκ² ν λΉνλ€.
μλ²λ¦¬μ€ μ»΄ν¨ν μλΉμ€λ μΌλ°μ μΌλ‘ λ κ°μ§μ κ·Έλ£ΉμΌλ‘ λλλ€.
- μλΉμ€λ‘μμ λ°±μλ (BaaS: Backend-as-a-Service)
- μλΉμ€λ‘μ κΈ°λ₯ (FaaS: Function-as-a-Service)
BaaS (Backend-as-a-Service)
κ°λ°μκ° λ€μν μ 3μ¬ μλΉμ€μ μ ν리μΌμ΄μ μ μ‘μΈμ€ν μ μκ² ν¨!
μλ₯Ό λ€λ©΄, ν΄λΌμ°λ μ 곡μλ μΈμ¦ μλΉμ€
, μΆκ° μνΈν
, λ°μ΄ν° μ¬μ©λ
λ±μ μ 곡ν μ μλ€.
BaaSλ₯Ό νμ©νλ κ²½μ°, μλ²λ¦¬μ€ κΈ°λ₯μ μΌλ°μ μΌλ‘ API
λ₯Ό ν΅ν΄ νΈμΆλλ€.
FaaS (Function-as-a-Service)
μ΄λ²€νΈ κΈ°λ° μ»΄ν¨ν
μ€ν λͺ¨λΈλ‘, κ°λ°μκ° μμ±νλ λ‘μ§μ νλ«νΌμμ μ 체λ₯Ό κ΄λ¦¬νλ 컨ν
μ΄λλ‘ λ°°ν¬λ ν, μ¨λ맨λ
λ‘ μ€νλλ€.
BaaSμλ λ€λ₯΄κ², FaaSλ μ¬μ μ μμ±λ μλΉμ€ λΌμ΄λΈλ¬λ¦¬μ μμ‘΄νμ§ μκ³ , μ¬μ©μ μ μ μ ν리μΌμ΄μ μ μμ±νλ κ°λ°μμκ² λ λ§μ μ μ΄ κΆνμ μ 곡νλ€.
μ½λλ ν΄λΌμ°λ μ 곡μκ° κ΄λ¦¬νλ 컨ν μ΄λμ λ°°ν¬λλ©°, λ€μκ³Ό κ°μ νΉμ§μ κ°κ³ μλ€.
- 무μνμ±(Stateless): λ°μ΄ν° ν΅ν©μ΄ κ°μνλ¨
- μΌνμ±: λ§€μ° λ¨κΈ°κ°μ μ€ν κ°λ₯
- μ΄λ²€νΈμμ νΈλ¦¬κ±°: νμμ λ°λΌ μλ μ€ν κ°λ₯
- μ 체 κ΄λ¦¬ν: ν΄λΌμ°λ μ 곡μκ° μ λ΄ κ΄λ¦¬νλ―λ‘, μμ κ°λ μ ν리μΌμ΄μ λ° μλ² λμ νμν λ§νΌλ§ λΉμ© μ§λΆ
FaaSλ₯Ό νμ©νλ©΄ API
λ₯Ό ν΅ν΄ μλ²λ¦¬μ€ μ ν리μΌμ΄μ
μ νΈμΆν μ μλ€.
FaaS μ 곡μλ μ΄λ₯Ό API κ²μ΄νΈμ¨μ΄
λ₯Ό ν΅ν΄ μ²λ¦¬ν¨.
[ChatGPT] Serverlessκ° λμΌ?
Serverless
λ ν΄λΌμ°λ μ»΄ν¨ν
λͺ¨λΈ
μ€ νλλ‘, μλ² μΈνλΌ κ΄λ¦¬μ λν λΆλ΄μ λμ΄μ£Όκ³ κ°λ°μκ° μ½λμλ§ μ§μ€ν μ μλλ‘ μ€κ³λ νκ²½μ λ§νλ€.
μλ²λ¦¬μ€ νκ²½μμλ μλ²λ₯Ό κ΄λ¦¬νκ³ μ μ§νλ μμ μ΄ ν΄λΌμ°λ μ 곡μ(AWS, GCP λ±)μ μν΄ μλμΌλ‘ μ²λ¦¬λλ©°, κ°λ°μλ κ·Έμ νμν κΈ°λ₯μ μμ±νκ³ μ΄λ₯Ό νΈμΆνλ κ²λ§μΌλ‘λ μ ν리μΌμ΄μ μ μ΄μν μ μλ€.
μ£Όμ νΉμ§
- 무μλ² κ΄λ¦¬
- μλ²λ₯Ό μ§μ μ€μ , μ μ§λ³΄μ, νμ₯ν νμκ° μμ
- ν΄λΌμ°λ μ 곡μκ° μλμΌλ‘ μ΄λ° μμ μ μ²λ¦¬ν¨
- μλ νμ₯
- μ ν리μΌμ΄μ μ νΈλν½μ΄ μ¦κ°νκ±°λ κ°μν λ μλμΌλ‘ 리μμ€λ₯Ό νμ₯ λλ μΆμν¨
- μ΄λ‘ μΈν΄ μ±λ₯ μ΅μ νκ° μ©μ΄νλ©°, κ³Όλν λΉμ©μ΄ λ°μνμ§ μμ
- κ³ΌκΈ λ°©μ
- μ€μ μ€νλ μκ°λ§νΌ λΉμ©μ μ§λΆνλ λ°©μμ
- λΉμ κΈ°μ νΈλν½ λ°μ μλΉμ€μμ ν¨μ¨μ μ
- λΉ λ₯Έ λ°°ν¬
- μλ‘μ΄ κΈ°λ₯μ μΆκ°νκ±°λ μ λ°μ΄νΈ μ, λΉ λ₯΄κ² λ°°ν¬ κ°λ₯ν¨
- μλ² μ€μ μ΄λ μΈνλΌ λ³κ²½ μμ΄ μ½λλ§ μ λ‘λνλ©΄ λ°λ‘ μ μ©λ¨
μ₯μ
- κ°λ° μμ°μ±
- μλ² κ΄λ¦¬μ μ κ²½ μΈ νμκ° μμΌλ, μ€μ μλΉμ€ λ‘μ§μλ§ μ κ²½μΈ μ μμ
- λΉμ© ν¨μ¨μ±
- μ€μ μ¬μ©ν λΉμ©λ§νΌλ§ λΉμ© μ§λΆ
- νμ₯μ±
- ν΄λΌμ°λ μ 곡μκ° μλμΌλ‘ 리μμ€λ₯Ό νμ₯ν΄μ£Όλ―λ‘, λκ·λͺ¨ νΈλν½ μ²λ¦¬ μμλ μ±λ₯μ μ μ§ν μ μμ
λ¨μ
- μ±λ₯ μ§μ°
- ν¨μ νΈμΆ μ, μ²μ μ€νλκΈ°κΉμ§μ μκ°(
cold start
) λ¬Έμ κ° λ°μν μ μμ - μ±λ₯μ λ―Όκ°ν μλΉμ€μμλ μμ’μ μλ..!
- ν¨μ νΈμΆ μ, μ²μ μ€νλκΈ°κΉμ§μ μκ°(
- μμ‘΄μ±
- ν΄λΌμ°λ μ 곡μμ λν μμ‘΄μ±μ΄ 컀μ§
- νΉμ μ 곡μμ μ’ μλμ΄λ²λ¦΄ μλ μμ
- λλ²κΉ
λ° λͺ¨λν°λ§
- μλ²λ¦¬μ€ νκ²½μμλ κΈ°μ‘΄μ μλ² κΈ°λ° μμ€ν λ³΄λ€ λλ²κΉ κ³Ό λͺ¨λν°λ§μ΄ 볡μ‘ν μ μμ
λκΈλ¨κΈ°κΈ°