728x90
DevOps ์๊ฐ
๐น ์ ํต์ ์ธ ๊ฐ๋ฐ ์ด์ ์ฒด๊ณ์ ๋ฌธ์ ์
- ๊ฐ๋ฐํ๊ณผ ์ด์ํ์ด ๋ถ๋ฆฌ๋์ด ์์ด ํ์ ๋ถ์กฑ.
- ์ฌ์ฉ์์ ํผ๋๋ฐฑ ๋ฐ์ ์ด๋ ค์.
- ๋น ๋ฅด๊ณ ์์ ์ ์ธ ๋ฐฐํฌ ์ด๋ ค์ (ํญํฌ์ ๋ชจ๋ธ ํ๊ณ).
- ์ ์์ผ ๋์ ์์๋ ์ ํต ์ฒด๊ณ์ ์ถฉ๋.
๐น DevOps์ ๊ฐ๋ ๊ณผ ํต์ฌ
- DevOps = Development + Operations
- ๊ฐ๋ฐ๊ณผ ์ด์์ ํตํฉ → ์๋ํ + ํ์ ์ ํตํด ํจ์จ์ฑ ์ ๊ณ .
๐นDevOps ์ฃผ์ ๋จ๊ณ
Dev
- ๊ณํ (Plan) : ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ๊ณํ
- ์ฝ๋ ์์ฑ (Code) : ์ํํธ์จ์ด์ ์ฝ๋ ์์ฑ
- ๋น๋ (Build): ์ปดํ์ผ ๋ฐ ํจํค์ง
- ํ ์คํธ (Test) : ๊ฒ์ฆ
Ops
- ๋ฆด๋ฆฌ์ค (Release): ์ฝ๋ ๋ฐฐํฌ ๊ฐ๋ฅํ์ํ
- ๋ฐฐํฌ (Deploy) : ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ
- ์ด์ (Operate) : ์์ ์ ์ ์ง
- ๋ชจ๋ํฐ๋ง (Monitor) : ๋ฌธ์ ์ฌ์ ๊ฐ์ง
๊ณํ, ์ฝ๋ ์์ฑ์ ์ ์ธํ ๋ถ๋ถ์ ์๋ํ๋ฅผ ํตํด ๋์์ค๋ค
๐น DevOps ํ์ ์์: CALMS ๋ชจ๋ธ
- Culture: ๋ณํ ์์ฉ, ํ์ , ์คํจ๋ก๋ถํฐ ํ์ต
- Automation: CI/CD, Everything-as-Code(์ธํ๋ผ ์ค์ , ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ, ๋ณด์์ ์ฑ )
- Lean: ๋ญ๋น ์ ๊ฑฐ, ํจ์จ์ ์ธ ๊ฐ์น ์ ๋ฌ
- Measurement: ๊ฒฐ๊ณผ ์ธก์ (๋ฐฐํฌ ์๊ฐ, ์ฌ์ฉ์ ์, ๋ฒ๊ทธ ๋๋ ์ฅ์ ๋ฐ๋ณตํ์ ๋ฑ)
- Sharing: ์ง์ ๊ณต์ , ๊ณต๋ ์ฑ ์
์ง์์ ํตํฉ ๋ฐ ๋ฐฐํฌ
๐น ์ง์์ ํตํฉ ๋ฐ ๋ฐฐํฌ (CI/CD)
- CI (์ง์์ ํตํฉ): ์ฝ๋ ๋ณ๊ฒฝ ์ ์๋ ๋น๋/ํ ์คํธ → ์ถฉ๋ ์ฌ์ ์๋ฐฉ
- CD (์ง์์ ๋ฐฐํฌ/์ ๋ฌ): ์๋ ๋ฐฐํฌ๋ก ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์๋น์ค ์ ๊ณต
- ์ฅ์ : ํจ์จ์ฑ, ์์ ์ฑ, ๋น ๋ฅธ ํผ๋๋ฐฑ ๋ฐ์ ๊ฐ๋ฅ
- CI ๋จ๊ณ๋ฅผ ํต๊ณผํ ์ฝ๋๋ ์๋์ผ๋ก ๋น๋, ์ถ๊ฐ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ ๋ฐฐํฌ
- ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํด ์ฝ๋ ๋ฐฐํฌ ์ , ๋ฌธ์ ๋ฅผ ์ฌ์ ์ ๋ฐ๊ฒฌํ๊ณ ํด๊ฒฐํ ์ ์์
- ์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ์์ ์ฌํญ์ ๋น ๋ฅด๊ฒ ์ ๋ฌํ ์ ์์
๐น CI/CD ๋๊ตฌ ๊ตฌ์ฑ
- ํ์
๋๊ตฌ
- Confluence
- ๋ฌธ์ํ ๋๊ตฌ : ํ๋ก์ ํธ์ ๋ํ ์ ๋ณด ๊ณต์ , ๋ฌธ์ ๊ด๋ฆฌ
- Jira software
- ์ด์ ํธ๋ํน, ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ
- ์์ ํญ๋ชฉ ๊ด๋ฆฌ, ํ ํ์ ์ ๋์๊ฐ๋ฐ
- ์ด์ ํธ๋ํน, ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ
- Confluence
- ๊ฐ๋ฐ๋๊ตฌ
- Eclipse,Spring
- ์ฝ๋ ์์ฑ
- Eclipse,Spring
- ํ์๊ด๋ฆฌ๋๊ตฌ
- github, bitbucket
- ์์ค ์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ, ๊ฐ๋ฐ ์ฝ๋ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ
- ์ฝ๋๋ฅผ ๊ฐ์ ธ์์ ๋น๋์ ํ ์คํธ ์งํ ๊ฐ๋ฅ
- ์์ค ์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ, ๊ฐ๋ฐ ์ฝ๋ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ
- github, bitbucket
- CI ์๋ฒ
- jenkins
- CI/CD ํ์ดํ๋ผ์ธ ์๋ํ๋ฅผ ์ฑ ์
- ์ฌ๋ฌ ์์
์ ์๋์ผ๋ก ์คํ
- GitHub์์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ๋น๋, ๋จ์ ํ ์คํธ ์งํ, ๊ธฐํ ์๋ํ๋ ํ ์คํธ ์ํ ๊ฐ๋ฅ
- Junit๋ Postman ๊ฐ์ ํ ์คํธ ๋๊ตฌ์ ์ฐ๋ ๊ฐ๋ฅ
- jenkins
- ์ปจํ
์ด๋
- Docker
- ์ฝ๋๋ฅผ ์ปคํ ์ด๋ ์ด๋ฏธ์ง๋ก ๋น๋, Doker hub ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ ๋ ํ์ฉ
- Docker
- ๋ฐฐํฌ ๋ฐ ์ด์
- Kubernetes
- ํด๋น ์ด๋ฏธ์ง๋ก๋ถํฐ ์ฌ๋ฌ ๊ฐ์ ์ปจํ ์ด๋๋ฅผ ์๋์ผ๋ก ์์ฑ ๊ด๋ฆฌ ํ์ฅํ ์ ์์
- Kubernetes
- ์ด๋ฒคํธ ์๋ฆผ ๋ฐ ๋ชจ๋ํฐ๋ง
- slack
- jenkins์ ํ ํฉ
- ์ ์ฒด ํ์ดํ๋ผ์ธ์ ์ํ, ๋ฌธ์ ๋ฐ์ ๋ถ๋ถ์ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง
- slack
๋ง์ดํฌ๋ก์๋น์ค์ DevOps์์์ ์ญํ
๐น ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ (MSA)
- ๊ธฐ์กด์ ๋ชจ๋๋ฆฌ์ค ๊ตฌ์กฐ๋ ์ ์ฒด ์ฌ๋ฐฐํฌ๊ฐ ํ์ํด ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ ๋ถ์กฑ.
- ๋ง์ดํฌ๋ก์๋น์ค๋ ๊ธฐ๋ฅ๋ณ๋ก ๋๋์ด ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ·๋ฐฐํฌ·์ด์ ๊ฐ๋ฅ.
- ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋ง์ด ์ฌ์ฉ, ๊ฐ๋ณ์ ์ผ๋ก ๋ฐฐํฌ์ ์ ๋ฐ์ดํธ ์ด์์ด ๊ฐ๋ฅ
- ์๊ณ ๋ ๋ฆฝ์ ์ธ ์ํํธ์จ์ด ํ๋ก์ธ์ค ์์คํ ์ ์ฒด์ ์์ ์ด ๋์
๋ฐฑ์๋ ์๋น์ค๋ค์ ํด๋ฌ์คํฐ ์์์ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์ํ๋ฉฐ ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ค.
๋ ๋ฆฝ์ ์ผ๋ก ์ด์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋น์ค์ ์ ๊ณตํ๋ค.
๐น๋ง์ดํฌ๋ก์๋น์ค์ ์ฅ์
- ๋ ๋ฆฝ์ ์ธ ์๋น์ค ์ด์, ๋น ๋ฅธ ๋ฌธ์ ๋์
- ํ๋ณ ์๊ท๋ชจ ๊ธฐ๋ฅ ๊ฐ๋ฐ ๊ฐ๋ฅ
- ์ฅ์ ๊ฒฉ๋ฆฌ, ๋น ๋ฅธ ํ์ฅ ๊ฐ๋ฅ
๐น๋ง์ดํฌ๋ก์๋น์ค์ ๋จ์
- ์ค๊ณ ๋ณต์ก์ฑ, ํ ์คํธ ์ด๋ ค์
- ์ด์ ๊ด๋ฆฌ ๋ณต์ก
- ์๋น์ค ๊ฐ ํต์ ๋ฌธ์ ๊ฐ๋ฅ (API, ์ธํ๋ผ ๊ตฌ์ฑ ์ฃผ์)
๐น๋ง์ดํฌ๋ก ์๋น์ค๊ฐ ์ ํฉํ์ง ์์ ๊ฒฝ์ฐ
- ์ ์๋ ๋๋ฉ์ธ์ด ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ
- ํจ์ธ์ฑ ํฅ์์ด ๋ณด์ฅ๋์ง ์์ ๊ฒฝ์ฐ
- ๊ท๋ชจ๊ฐ ์๊ฑฐ๋ ๋ณต์กํ์ง ์์ ๊ฒฝ์ฐ
DevOps์ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ด๊ณ
๐นDevOps์ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ด๊ณ
- MSA๋ DevOps์ ์ฐฐ๋ก๊ถํฉ.
- ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ํด ๊ฐ๋ณ ์๋ํ ํ์ดํ๋ผ์ธ ์ ์ฉ ๊ฐ๋ฅ
- ์ปจํ ์ด๋ํ(Kubernetes)์ CI/CD ์๋ํ(Jenkins)๋ฅผ ํตํด ํจ๊ณผ์ ์ธ ์ด์ ๊ฐ๋ฅ
๐น๋ง์ดํฌ๋ก์๋น์ค๊ฐ DevOps์ ๋ฏธ์น๋ ์ํฅ
1. ๊ฐ๋ฐ ๋ฐฉ์์ ๋ณํ
๋ง์ดํฌ๋ก์๋น์ค๋ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ์๋น์ค
- ํ๋์ ํฐ ์ ํ๋ฆฌ์ผ์ด์ (๋ชจ๋๋ฆฌ์ค)์ด ์๋, ์๊ณ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ค์ ์งํฉ.
- ๊ฐ ์๋น์ค๋ ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ, ๋ฐฐํฌ, ์ด์ ๊ฐ๋ฅ → DevOps์ ๊ถํฉ์ด ์ ๋ง์.
2. DevOps๋ ๋น ๋ฅด๊ณ ์์ฃผ ๋ฐฐํฌ ๊ฐ๋ฅํ ํ๊ฒฝ์ ์งํฅ
- ๋ง์ดํฌ๋ก์๋น์ค๋ ์๊ท๋ชจ ๋จ์์ ์ฝ๋ ๋ณ๊ฒฝ๊ณผ ๋ฐฐํฌ์ ์ ํฉ.
- → ์๋น์ค ๋ณ๊ฒฝ์ด ์ ์ฒด ์์คํ ์ ์ํฅ ์ฃผ์ง ์์ → ๋ค์ดํ์ ์ต์ํ ๊ฐ๋ฅ.
3. ์์คํ ์์ ์ฑ๊ณผ ์ค๋ฅ ๋์ ๋ฅ๋ ฅ ํฅ์
- ๋ง์ดํฌ๋ก์๋น์ค ๊ตฌ์กฐ์์๋ ํ๋์ ์๋น์ค์ ์ฅ์ ๊ฐ ๋ฐ์ํด๋ ์ ์ฒด ์์คํ ์ด ์ค๋จ๋์ง ์๋๋ค
- ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์๋น์ค๋ง ๋ ๋ฆฝ์ ์ผ๋ก ์์ ๋ฐ ์ฌ๋ฐฐํฌ ๊ฐ๋ฅํ์ฌ, ๋น ๋ฅด๊ฒ ๋์ํ ์ ์๊ณ ์ด์ ์์ ์ฑ์ด ๋์์ง๋ค.
- ์ด๋ DevOps๊ฐ ์ถ๊ตฌํ๋ ์ง์์ ์ธ ๊ฐ์ ๊ณผ ๋ฌธ์ ํด๊ฒฐ ์ค์ฌ์ ์ด์ ๋ฌธํ์ ์ ๋ถํฉํ๋ค.
4. ์๋ํ์ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์ด์ ํ๊ฒฝ์ ์ต์ ํ
- ๋ง์ดํฌ๋ก์๋น์ค๋ ๋ณดํต Docker ๋ฑ์ ์ปจํ ์ด๋๋ก ๊ตฌ์ฑ๋๋ฉฐ, Kubernetes์ ๊ฐ์ ์ค์ผ์คํธ๋ ์ด์ ๋๊ตฌ๋ฅผ ํตํด ์๋ํ๋๋ค.
- DevOps ํ๊ฒฝ์์๋ ์ด๋ฌํ ์ปจํ ์ด๋ ๊ธฐ๋ฐ ์๋น์ค์ ๋ํด ๋น๋, ํ ์คํธ, ๋ฐฐํฌ, ํ์ฅ๊น์ง ์๋ํ๋ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ ์ ์๋ค.
- ์๋น์ค๋ง๋ค ๊ฐ๋ณ ํ์ดํ๋ผ์ธ์ ๊ฐ์ง ์ ์์ด, ํ๋์ ์ค๋ฅ๊ฐ ๋ค๋ฅธ ์๋น์ค์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์ด์๋๋ค.
์ปจํ ์ด๋๋?
- ์ด๋์๋ ๋์ผํ๊ฒ ์คํ๋ ์ ์๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ ์คํํ๊ฒฝ์ ํจ๊ป ๋ฌถ์ ๊ฒฝ๋ ๊ฐ์ํ ๊ธฐ์
- ์ฃผ๋ก Docker๋ฅผ ์ฌ์ฉํด์ ๋ง๋ ๋ค
์คํ ๋จ์ | OS ์ ์ฒด + ์ฑ | ์ฑ๋ง ์คํ |
์ฉ๋ | ๋ฌด๊ฑฐ์ (์ GB) | ๊ฐ๋ฒผ์ (์ MB~) |
๋ถํ ์๋ | ๋๋ฆผ (์ ๋ถ) | ๋น ๋ฆ (์ ์ด) |
๊ฒฉ๋ฆฌ ์์ค | ๊ฐ๋ ฅ (์์ ํ OS) | ์ค๊ฐ (ํธ์คํธ ๊ณต์ ) |
๋ํ ๋๊ตฌ | VMware, VirtualBox | Docker, containerd |
5. ์ ์ง๋ณด์ ๋ฐ ํ์ฅ์ฑ ์ธก๋ฉด์ ์ด์
- ํน์ ๊ธฐ๋ฅ์ ๋ํ ์์ฒญ์ด๋ ํธ๋ํฝ ์ฆ๊ฐ๊ฐ ์์ ๊ฒฝ์ฐ, ํด๋น ๋ง์ดํฌ๋ก์๋น์ค๋ง ํ์ฅ(Scale-out) ํ๋ฉด ๋๋ค.
- ์ ์ฒด ์์คํ ์ ๊ฑด๋๋ฆฌ์ง ์๊ณ ํ์ํ ๋ถ๋ถ๋ง ๊ด๋ฆฌํ ์ ์์ด ์์ ๋ญ๋น ์์ด ํจ์จ์ ์ธ ์ด์์ด ๊ฐ๋ฅ.
- ์ด๋ DevOps์์ ๊ฐ์กฐํ๋ ์ง์์ ํ์ฅ์ฑ๊ณผ ๊ฐ์ฉ์ฑ ํ๋ณด๋ผ๋ ์ด์ ๋ชฉํ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์คํํ ์ ์๊ฒ ํ๋ค.
728x90
'{Back-end} > DevOps' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Draconist] HTTPS ์ค์ ํ๊ธฐ (4) | 2025.07.27 |
---|---|
[Draconist] Docker ๋ฐ github action CI/CDํ๊ธฐ (0) | 2025.07.24 |
[Draconist] Docker ์ด๋ฏธ์ง ๋น๋ํ๊ธฐ (2) | 2025.07.23 |
[Draconist] EC2 ์ค์ ๋ฐ RDS ์ฐ๊ฒฐ (1) | 2025.07.19 |