Home
>
Spring
>
π[Spring] λ°°ν¬λ 무μμΌκΉμ?
Spring
Framework
π[Spring] λ°°ν¬λ 무μμΌκΉμ?
-
λ°°ν¬(Deployment)λ μ ν리μΌμ΄μ
(μλ² μ½λ)λ₯Ό κ°λ° νκ²½μμ μ€μ μ¬μ©μλ€μ΄ μ¬μ©ν μ μλ νκ²½(μ΄μ νκ²½, νλ‘λμ
νκ²½)μΌλ‘ μ΄λμν€κ³ , μ€ν κ°λ₯ν μνλ‘ λ§λλ κ³Όμ μ λ§ν©λλ€.
- μ΄ κ³Όμ μλ μ ν리μΌμ΄μ
μ λΉλ, ν
μ€νΈ, λ°°ν¬ μλ²μ μ¬λ¦¬λ λ±μ μμ
μ΄ ν¬ν¨λ©λλ€.
1οΈβ£ λ°°ν¬μ μ£Όμ λ¨κ³.
- λ°°ν¬ κ³Όμ μ μλ λ¨κ³λ₯Ό ν¬ν¨ν©λλ€.
1οΈβ£ μ½λ μμ± λ° λ²μ κ΄λ¦¬.
1οΈβ£ μ½λ μμ±.
- κ°λ°μκ° λ‘컬 νκ²½μμ λ°±μλ μ½λλ₯Ό μμ±ν©λλ€.
- Spring Boot, Node.js λ± λ€μν λ°±μλ νλ μμν¬λ₯Ό μ¬μ©ν©λλ€.
2οΈβ£ λ²μ κ΄λ¦¬.
- μμ±λ μ½λλ Gitκ³Ό κ°μ λ²μ κ΄λ¦¬ μμ€ν
μ μ μ₯λμ΄ νμ
κ³Ό λ³κ²½ μ΄λ ₯μ κ΄λ¦¬ν©λλ€.
2οΈβ£ ν
μ€νΈ λ° λΉλ.
1οΈβ£ ν
μ€νΈ.
- μ½λλ₯Ό μ€μ λ°°ν¬ μ μ μ€ννμ¬ λ²κ·Έμ λ¬Έμ λ₯Ό μλ³ν©λλ€.
- λ¨μ ν
μ€νΈ, ν΅ν© ν
μ€νΈ, E2E(End-to-End) ν
μ€νΈ λ±μ μ§νν©λλ€.
2οΈβ£ λΉλ.
- μμ€ μ½λλ₯Ό μ€ν κ°λ₯ν μνλ‘ ν¨ν€μ§ν©λλ€.
- μλ₯Ό λ€μ΄, Spring Boot νλ‘μ νΈλ jar λλ war νμΌλ‘ λΉλλ©λλ€.
3οΈβ£ λ°°ν¬ μ€λΉ.
1οΈβ£ μλ² μ€μ .
- λ°°ν¬ν μλ²λ₯Ό μ€λΉν©λλ€.
- μ΄λ 물리μ μλ², κ°μ μλ², ν΄λΌμ°λ μλΉμ€(AWS, Azure, GCP) λ±μ΄ λ μ μμ΅λλ€.
2οΈβ£ νκ²½ μ€μ .
- λ°μ΄ν°λ² μ΄μ€ μ°κ²° μ 보, API ν€, ν¬νΈ λ²νΈ λ± λ°°ν¬ νκ²½μ λ§λ μ€μ νμΌμ μμ±ν©λλ€.
4οΈβ£ μ½λ λ°°ν¬.
1οΈβ£ νμΌ μ
λ‘λ.
- λΉλλ νμΌμ μλ²μ μ
λ‘λν©λλ€.
- μ΄λ₯Ό μν΄ FTP, SCP, CI/CD νμ΄νλΌμΈ λ±μ μ¬μ©ν μ μμ΅λλ€.
2οΈβ£ μ€ν.
- μ
λ‘λλ μ ν리μΌμ΄μ
μ μλ²μμ μ€νν©λλ€.
- Spring Boot μ ν리μΌμ΄μ
μ μΌλ°μ μΌλ‘ java -jar λͺ
λ Ήμ΄λ‘ μ€νλ©λλ€.
5οΈβ£ μλΉμ€ κ°λ λ° λͺ¨λν°λ§.
1οΈβ£ μ ν리μΌμ΄μ
κ°λ.
- μ ν리μΌμ΄μ
μ΄ μ μμ μΌλ‘ μ€νλμλμ§ νμΈν©λλ€.
2οΈβ£ λͺ¨λν°λ§.
- μλΉμ€ μν, μλ² λ¦¬μμ€(CPU, λ©λͺ¨λ¦¬) μ¬μ©λ λ±μ μ§μμ μΌλ‘ νμΈνμ¬ λ¬Έμ λ₯Ό μλ³ν©λλ€.
2οΈβ£ λ°°ν¬ λ°©μ.
- λ°°ν¬ λ°©μμ νλ‘μ νΈ κ·λͺ¨, μ¬μ© κΈ°μ , μꡬ μ¬νμ λ°λΌ λ€λ¦
λλ€.
1οΈβ£ μλ λ°°ν¬.
1οΈβ£ μ€λͺ
.
- κ°λ°μκ° μ§μ μ½λλ₯Ό λΉλνκ³ μλ²μ μ
λ‘λνμ¬ μ€ννλ λ°©μ.
2οΈβ£ μ₯μ .
- κ°λ¨νλ©° μκ·λͺ¨ νλ‘μ νΈμ μ ν©.
3οΈβ£ λ¨μ .
- λ§μ μΈμ μμ
μ΄ νμνκ³ , μ€λ₯ λ°μ κ°λ₯μ±μ΄ λμ.
2οΈβ£ μλν λ°°ν¬.
1οΈβ£ μ€λͺ
.
- CI/CD(Continuous Integration/Continuous Deployment) λꡬλ₯Ό μ¬μ©ν΄ λΉλ, ν
μ€νΈ, λ°°ν¬λ₯Ό μλν.
2οΈβ£ λꡬ.
- Jenkins, Github Actions, GitLab CI/CD, AWS CodePipeline
3οΈβ£ μ₯μ .
- μ€λ₯λ₯Ό μ€μ΄κ³ λ°°ν¬ μλλ₯Ό ν₯μ.
4οΈβ£ λ¨μ .
3οΈβ£ λΈλ£¨/κ·Έλ¦° λ°°ν¬.
1οΈβ£ μ€λͺ
.
- κΈ°μ‘΄ νκ²½(λΈλ£¨)μ μ μ§νλ©΄μ μλ‘μ΄ νκ²½(κ·Έλ¦°)μ λ°°ν¬.
- λ¬Έμ κ° μμΌλ©΄ νΈλν½μ κ·Έλ¦°μΌλ‘ μ ν.
2οΈβ£ μ₯μ .
3οΈβ£ λ¨μ .
- μΆκ° μλ² λΉμ© λ°μ.
4οΈβ£ λ‘€λ§ λ°°ν¬.
1οΈβ£ μ€λͺ
.
- κΈ°μ‘΄ μλ²λ₯Ό μ μ§μ μΌλ‘ μ
λ°μ΄νΈνμ¬ λ°°ν¬.
2οΈβ£ μ₯μ .
- μ μ§μ λ°°ν¬λ‘ μμ μ± μ¦κ°.
3οΈβ£ λ¨μ .
- μ
λ°μ΄νΈ μλ£κΉμ§ μκ°μ΄ μ€λ 걸릴 μ μμ.
3οΈβ£ λ°±μλ λ°°ν¬μ νμν λꡬμ κΈ°μ .
1οΈβ£ μλ² μΈνλΌ.
- 물리μ μλ² λλ ν΄λΌμ°λ μλΉμ€(AWS EC2, GCP Compute Engine, Azure VM)
- 컨ν
μ΄λ κΈ°λ° λ°°ν¬(Docker, Kubernetes)
2οΈβ£ CI/CD λꡬ
- Jenkins, Github Actions, GitLab CI/CD, CircleCI.
3οΈβ£ μΉ μλ².
- Nginx, Apache: λ‘λ λ°Έλ°μ±κ³Ό μ μ νμΌ μ 곡.
- Spring Boot λ΄μ₯ μλ²(Tomcat)λ‘ κ°λ¨ν μ ν리μΌμ΄μ
μ€ν.
4οΈβ£ λͺ¨λν°λ§.
- Promethus, Grafana: μλ² μ±λ₯ λ° μ ν리μΌμ΄μ
μν λͺ¨λν°λ§
- APM λꡬ: New Relic, Datadog, ELK μ€ν.
4οΈβ£ λ°°ν¬μ μ£Όμ κ³ λ €μ¬ν.
1οΈβ£ 무μ€λ¨ λ°°ν¬.
- μ¬μ©μκ° μλΉμ€ μ€λ¨ μμ΄ μλ‘μ΄ μ½λλ₯Ό μ¬μ©ν μ μλλ‘ μ€μ .
2οΈβ£ 보μ.
- νκ²½ λ³μλ λ―Όκ°ν μ 보λ₯Ό μμ νκ² κ΄λ¦¬(μ: AWS Secrets Manager, Vault).
3οΈβ£ νμ₯μ±.
- νΈλν½ μ¦κ°μ λλΉν λ‘λ λ°Έλ°μ±, μ€ν μ€μΌμΌλ§ ꡬμ±.
4οΈβ£ μ₯μ 볡ꡬ.
- λ¬Έμ λ°μ μ λΉ λ₯΄κ² μ΄μ μνλ‘ λ³΅κ΅¬ν μ μλ λ‘€λ°± μ λ΅ μ€λΉ.
5οΈβ£ κ²°λ‘ .
- λ°±μλ λ°°ν¬λ λ¨μν μ½λλ₯Ό μλ²μ μ
λ‘λνλ κ²μ΄ μλλΌ, μ ν리μΌμ΄μ
μ μμ μ±κ³Ό μ±λ₯μ μ μ§νλ©΄μ μ¬μ© κ°λ₯ν μνλ‘ λ§λλ 볡μ‘μ μΈ μμ
μ
λλ€.
- νλ‘μ νΈμ λ°λΌ λ°°ν¬ λ°©μκ³Ό λꡬλ₯Ό μ ννλ©°, 무μ€λ¨ μλΉμ€μ μλνλ₯Ό λͺ©νλ‘ μ μ§μ μΌλ‘ κ°μ νλ κ²μ΄ μ€μν©λλ€.