<aside>
</aside>
μλ νμΈμ! λλμ΄ FastAPI κ°μμ λ§μ§λ§ μ¬μ , 8λΆ 'λ°°ν¬ λ° μ΄μ'μ λ€ λ²μ§Έ μκ°, 41κ°μ λλ€! π
μ§λ 40κ°μμλ AWS EC2 μΈμ€ν΄μ€λ₯Ό μμ±νκ³ Docker 컨ν μ΄λλ₯Ό λ°°ν¬νλ©° Nginx 리λ²μ€ νλ‘μ μ€μ κΉμ§ μλ£νλ μ€μ΅μ μ§ννμ΅λλ€. μ΄μ μ΄λ‘ μ μΌλ‘λ μ°λ¦¬μ APIκ° ν΄λΌμ°λ μμμ λμνκ³ μλ μ μ΄μ£ ! βοΈ
νμ§λ§ λ¨μν λ°°ν¬νλ κ²μμ λλμ§ μμ΅λλ€. μ€μ μλΉμ€λ₯Ό μμ μ μΌλ‘ μ΄μνκΈ° μν΄μλ μ ν리μΌμ΄μ μ΄ μ λμκ°κ³ μλμ§ **μ§μμ μΌλ‘ κ°μ(λͺ¨λν°λ§)**νκ³ , λ¬Έμ κ° λ°μνμ λ μμΈμ νμ ν μ μλλ‘ **κΈ°λ‘(λ‘κΉ )**μ λ¨κΈ°κ³ , μ¬μ©μκ° λμ΄λ¨μ λ°λΌ **μ±λ₯μ μ μ§νκ³ νμ₯(μ€μΌμΌλ§)**νλ λ±μ μ΄μ(Operations) μΈ‘λ©΄μ κ³ λ €ν΄μΌ ν©λλ€.
μ΄λ² μκ°μλ μ΄λ κ² λ°°ν¬λ FastAPI μ ν리μΌμ΄μ μ μμ μ μ΄κ³ ν¨μ¨μ μΌλ‘ μ΄μνκΈ° μν λͺ κ°μ§ μ€μν νκ³Ό κ°λ λ€μ μκ°ν©λλ€. λ©ν° μ½μ΄ CPUλ₯Ό μ΅λν νμ©νκΈ° μν λ©ν° μ컀 μ€ν λ°©λ²μ λ€μ νλ² κ°μ‘°νκ³ , μ ν리μΌμ΄μ μ μνλ₯Ό νμ νκΈ° μν λ‘κΉ κ³Ό λͺ¨λν°λ§μ μ€μμ±, κ·Έλ¦¬κ³ μλΉμ€ κ·λͺ¨ νμ₯μ λλΉνλ μ€μΌμΌλ§ μ λ΅κ³Ό λ°°ν¬ μλνλ₯Ό μν CI/CD κ°λ κΉμ§, μ΄μ νκ²½μμ νμν ν΅μ¬ κ³ λ € μ¬νλ€μ μ§μ΄λ³΄κ² μ΅λλ€! πππ οΈ
8λΆμ λ§μ§λ§ μ€μ§μ λ΄μ©. 40κ°μμ EC2μ λ°°ν¬ν FastAPI μ±μ μμ μ μ΄μμ μν ν΅μ¬ κ³ λ €μ¬ν νμ΅. λ¨μ μ€νμ λμ΄, μ€μ μλΉμ€μ μ±λ₯, μμ μ±, νμ₯μ± ν보λ₯Ό μν μ£Όμ κ°λ λ° μ€μ² λ°©μ μκ°.
λ¨Όμ , μλ² λ©ν° μ½μ΄ CPU μμ μ΅λ νμ©μ μν Gunicornκ³Ό Uvicorn λ©ν° μ컀 μ¬μ©λ² μ¬κ°μ‘°. λ€μμΌλ‘, μ΄λ²€νΈ/μ€λ₯ μΆμ λ° λλ²κΉ μ νμμ μΈ **μ ν리μΌμ΄μ λ‘κΉ (Logging)**μ μ€μμ± λ° κΈ°λ³Έ μ€μ λ°©λ² νμ΅.
λν, μ±/μΈνλΌ μνμ μ§μμ κ°μ, λ¬Έμ μ‘°κΈ° λ°κ²¬ λ° μ±λ₯ λΆμμ μν λͺ¨λν°λ§(Monitoring) νμμ± νμ΅. μ£Όμ λͺ¨λν°λ§ μ§ν(CPU, λ©λͺ¨λ¦¬ λ±) λ° κ΄λ ¨ λꡬ(AWS CloudWatch, APM λ±) μκ°.
μ¬μ©μ μ¦κ°μ λ°λ₯Έ μ±λ₯ μ μ§λ₯Ό μν νμ₯(Scaling) μ λ΅(μμ§ vs μν) λΉκ΅ λ° AWS μ€ν μ€μΌμΌλ§ κ°λ νμ΅. λ§μ§λ§μΌλ‘, μ± μ λ°μ΄νΈ/λ°°ν¬ μλνλ₯Ό ν΅ν μμ μ±/μλ ν₯μμ μν CI/CD νμ΄νλΌμΈ κΈ°λ³Έ κ°λ λ° λ¬΄μ€λ¨ λ°°ν¬ νμμ± μκ°.
μ΄ κ°μλ₯Ό λ§μΉλ©΄ μ¬λ¬λΆμ λ€μμ ν μ μκ² λ©λλ€: