์จ๋ผ์ธ ์ง์ค์ 19์ 21์ผ๋ถํฐ XNUMX์ผ๊น์ง ์งํ๋ฉ๋๋ค.
DevOps ๊ณผ์ ์ด ์ธ์ฐ๋ ์ฃผ์ ์ ์ "๋งค์ฐ ํฅ๋ฏธ๋กญ์ต๋๋ค. ์ฐ๋ฆฌ ํ์ฌ์์ ์ด๊ฒ์ ๊ตฌํํ ์ ์๋ค๋ ๊ฒ์ด ์ ๊ฐ์ ๋๋ค." ์ฐ๋ฆฌ๋ ์ผ๋ฐ ๊ด๋ฆฌ์๋ผ๋ ๋ ๊ฑฐ์ ํ๋ก์ ํธ์ ๊ตฌํํ ์ ์๋ ์๋ฃจ์ ์ ์ฐพ๊ณ ์์ต๋๋ค.
์ด ๊ณผ์ ์ ๋ค์์ ๋์์ผ๋ก ํฉ๋๋ค:
- ์๋์์ DevOps ๋ฐฉ์์ ๊ตฌํํ๋ ค๋ ๊ด๋ฆฌ์
- ์๊ณ ๋ช ํํ ๋จ๊ณ๋ฅผ ํตํด DevOps ๋ฌธํ๋ก ์ ํํ๋ ค๋ ๊ธฐ์ ๋ฐ ํ
- ์ฌ์ํ ๊ด๋ฆฌ ์์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ํด๊ฒฐํ๊ณ ๋ค๊ธฐ๋ฅ ํ์ ํ ๋ฆฌ๋๋ก ์ฒ์ฒํ ๋ฐ์ ํ๊ธฐ ์ํด "๊ด๋ฆฌ ๊ด๋ จ"์ ์ดํดํ๊ณ ์ถ์ ๊ฐ๋ฐ์.
DevOps ๋๊ตฌ๋ฅผ ์ด๋ฏธ ์๊ณ ์ฌ์ฉํ๋ ์ฌ๋๋ค์๊ฒ๋ ์ด ๊ณผ์ ์ด ์ธ๋ชจ๊ฐ ์์ต๋๋ค. ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ์ง ๋ชปํ ๊ฒ์ ๋๋ค.
์จ๋ผ์ธ ์ง์ค ๊ฐ์ข๋ ์๋ก์ด ํ์ค์ ํ์์ผ๋ก, ๋ชจ์คํฌ๋ฐ์ ๊ฐ์ง ์๊ณ ๋ ์คํ๋ผ์ธ ์ง์ค ๊ฐ์ข์ ๊ฑฐ์ ๋์ผํ ๋ชฐ์ ๊ฐ์ ์ ๊ณตํฉ๋๋ค(์ด๋ค ์ฌ๋์๊ฒ๋ ์ฅ์ ์ด๊ณ ๋ค๋ฅธ ์ฌ๋์๊ฒ๋ ๋จ์ ์).
์ฐ๋ฆฌ๋ ์ด๋ฏธ DevOps์ ๋ํ ๊ต์ก ๊ณผ์ ์ ๋ ๋ฒ ์งํํ์ผ๋ฉฐ ๊ฐ๋ฅํ ๋ชจ๋ ์ฃผ์ ์ ๋ณด๋ฅผ ์์งํ์ต๋๋ค.
๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ์ค๋ง์ค๋ฌ์ด ๊ธฐ๋์
๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ข์ ํฌํจ๋์ง ์๋ ๋ด์ฉ์ ์ฆ์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
๋ชจ๋ฒ ์ฌ๋ก๋ ์์ต๋๋ค. ํ๋์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ๋ถ์์ด ์์ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ์ฃผ์ผ ๊ฐ์ ์ง์ค ๊ณผ์ ์ ์ฝ๊ฒ ์งํํ ์ ์๋ CI/CD ์ฃผ์ ๋ 4์๊ฐ์ด ์์๋ฉ๋๋ค. ์ด ์๊ฐ ๋์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ณด์ฌ์ฃผ๊ณ ๊ฐ๋จํ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ ์์ง๋ง ๋ค์ํ ์ฌ๋ก์ ๋ํ ๋ชจ๋ฒ ์ฌ๋ก ํฉ์ ๋ถ์ํ ์๋ ์์ต๋๋ค.
๊ฒฝ์ฐ๋ ์์ ๊ฒ์ ๋๋ค. ์ฌ๋ก๋ ์ปจํผ๋ฐ์ค์ ์ฃผ์ ์ ๋๋ค. ๊ทธ๊ณณ์์ ์ธ์์์ ์ผ์ด๋ ํ ๊ฐ์ง ์ฌ๊ฑด์ ๋ํด ํ ์๊ฐ ๋์ ์ด์ผ๊ธฐํ ์ ์์ต๋๋ค. Slurm์์ ๊ฐ์ฌ๋ "์ด ์๋ ๋ด ์ค์ต์์ ๋ฐ์จ ๊ฒ์ ๋๋ค"๋ผ๊ณ ๋ง ๋งํ ์ ์์ต๋๋ค.
์ค์ต์ ๋ํ ๊ฐ๋ณ ๋ถ์์ ์์ต๋๋ค. ์ค์ต์ ๋ฉํ ๋ง์ด ์๋๋ผ ๊ฐ์ฌ๋ฅผ ๋ฐ๋ผ ๋ฐ๋ณตํ๋ ๊ฒ์ ๋๋ค. ์ฐ์ต์ ๋ชฉ์ ์ ์๋ ค์ง ์์ ์ต์ ์์ ์คํ์ ์์ํ ์ ์๋ ๊ธฐํ๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ง์ค ์์ ํ์๋ ๋ฉ๋ชจ๋ฅผ ๊ฒํ ํ๊ณ ์ง์ ์ฐ์ต์ ๋ฐ๋ณตํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ต๋์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ ์์ ๊ฒ์ด๋ค โ ์ด๊ฒ์ด DevOps ๋๊ตฌ์์๋ ๋ถ๊ตฌํ๊ณ ์ฐ๋ฆฌ๋
๋ฌด์จ ์ผ์ด ์ผ์ด๋ ๊น์?
์ ๋๊ตฌ๋ฅผ ์ฒ์๋ถํฐ ์์๋ณด๊ธฐ ๊ธฐ๋ณธ ์ธํ๋ผ ๊ตฌ์ถ์ ์ํ ๋ค์ํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
์ค๋ฌด์๋ค์ ์ด์ผ๊ธฐ๊ฐ ๋์ต๋๋ค. ๋๊ตฌ์ ์ค์ ์ ์ฉ ๊ทธ๋ฆฌ๊ณ ์ธ์ ๊ณผ์ . ์ด๋ ๋ฌธ์์ ๋ํ ๋ ๋ฆฝ์ ์ธ ์ฐ๊ตฌ์ ์ฌ๋ก ๋ถ์์ ํญ์ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฐ์ ๋๋ค.
๋งค์ผ์์๊ฑฐ์ผ ์ง๋ฌธ์ ๋ํ ๋ต๋ณ, ๊ทํ์ ํ๋ก์ ํธ์ ๋ํด ๋ฌธ์ํ์ค ์ ์๋ ๊ณณ์ ๋๋ค.
์ ํผ๋๋ฐฑ ์์ : ์ฐ๋ฆฌ๋ ๋งค์ผ ํผ๋๋ฐฑ์ ์์ฒญํฉ๋๋ค. ๋ง์์ ๋ค์ง ์๋ ๋ชจ๋ ๊ฒ์ ๋ํด ์ ์ด์ฃผ์ธ์. ์งํ๋๋ ๋๋ก ์์ ํด ๋๋ฆฌ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ํต์ ์ธ ๊ธฐํ๊ฐ ์์ ๊ฒ์ ๋๋ค. ๋์ ๊ฐ์ง๊ณ ๋ ๋๋ผ ์ฝ์ค๊ฐ ์ ํ ๋ง์์ ๋ค์ง ์๋๋ค๋ฉด.
์ง์ค ํ๋ก๊ทธ๋จ
์ฃผ์ #1: Git์ ์ฌ์ฉํ ํ์ํฌ
- ๊ธฐ๋ณธ ๋ช ๋ น git init, commit, add, diff, log, status, pull, push
- Git ํ๋ฆ, ๋ถ๊ธฐ ๋ฐ ํ๊ทธ, ๋ณํฉ ์ ๋ต
- ์ฌ๋ฌ ์๊ฒฉ ๋ด๋น์์ ํ๋ ฅ
- GitHub ํ๋ฆ
- ํฌํฌ, ์๊ฒฉ, ํ ์์ฒญ
- ํ๊ณผ ๊ด๋ จ๋ Gitflow ๋ฐ ๊ธฐํ ํ๋ฆ์ ๋ํ ์ถฉ๋, ๋ฆด๋ฆฌ์ค, ๋ค์ ํ ๋ฒ
์ฃผ์ #2: ๊ฐ๋ฐ ๊ด์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์์
- Python์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค ์์ฑ
- ํ๊ฒฝ ๋ณ์
- ํตํฉ ๋ฐ ๋จ์ ํ ์คํธ
- ๊ฐ๋ฐ ์ docker-compose ์ฌ์ฉ
์ฃผ์ #3: CI/CD: ์๋ํ ์๊ฐ
- ์๋ํ ์๊ฐ
- ๋๊ตฌ(bash, make, gradle)
- git-hooks๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์ค ์๋ํ
- ๊ณต์ฅ ์กฐ๋ฆฝ ๋ผ์ธ ๋ฐ IT ๋ถ์ผ์ ์์ฉ
- "์ผ๋ฐ" ํ์ดํ๋ผ์ธ ๊ตฌ์ถ์ ์
- CI/CD์ฉ ์ต์ ์ํํธ์จ์ด: Drone CI, BitBucket Pipelines, Travis ๋ฑ
์ฃผ์ #4: CI/CD: GitLab ์์
- ๊น๋ฉ CI
- GitLab Runner, ์ ํ ๋ฐ ์ฉ๋
- GitLab CI, ๊ตฌ์ฑ ๊ธฐ๋ฅ, ๋ชจ๋ฒ ์ฌ๋ก
- GitLab CI ๋จ๊ณ
- GitLab CI ๋ณ์
- ๋น๋, ํ ์คํธ, ๋ฐฐํฌ
- ์คํ ์ ์ด ๋ฐ ์ ํ: ๊ฒฝ์ฐ์๋ง
- ์ํฐํฉํธ ์์
- .gitlab-ci.yml ๋ด์ ํ ํ๋ฆฟ, ํ์ดํ๋ผ์ธ์ ๋ค๋ฅธ ๋ถ๋ถ์์ ์์ ์ ์ฌ์ฌ์ฉ
- ํฌํจ - ์น์
- gitlab-ci.yml์ ์ค์ ์ง์ค์ ๊ด๋ฆฌ(ํ์ผ XNUMX๊ฐ ๋ฐ ๋ค๋ฅธ ์ ์ฅ์๋ก ์๋ ํธ์)
์ฃผ์ #5: ์ฝ๋ํ ์ธํ๋ผ
- IaC: ์ธํ๋ผ๋ฅผ ์ฝ๋๋ก ์ ๊ทผ
- ์ธํ๋ผ ์ ๊ณต์๋ก์์ ํด๋ผ์ฐ๋ ์ ๊ณต์
- ์์คํ ์ด๊ธฐํ ๋๊ตฌ, ์ด๋ฏธ์ง ๊ตฌ์ถ(ํจ์ปค)
- Terraform์ ์์๋ก ์ฌ์ฉํ๋ IaC
- ๊ตฌ์ฑ ์ ์ฅ, ํ์ , ์ ํ๋ฆฌ์ผ์ด์ ์๋ํ
- Ansible ํ๋ ์ด๋ถ ์์ฑ ์ฐ์ต
- ๋ฉฑ๋ฑ์ฑ, ์ ์ธ์ฑ
- Ansible์ ์๋ก ์ฌ์ฉํ๋ IaC
์ฃผ์ #6: ์ธํ๋ผ ํ ์คํธ
- Molecule ๋ฐ GitLab CI๋ฅผ ์ฌ์ฉํ ํ ์คํธ ๋ฐ ์ง์์ ์ธ ํตํฉ
- ๋ฐฉ๋์ ์ฌ์ฉ
์ฃผ์ #7: Prometheus๋ฅผ ์ฌ์ฉํ ์ธํ๋ผ ๋ชจ๋ํฐ๋ง
- ๋ชจ๋ํฐ๋ง์ด ํ์ํ ์ด์ ๋ ๋ฌด์์ ๋๊น?
- ๋ชจ๋ํฐ๋ง ์ ํ
- ๋ชจ๋ํฐ๋ง ์์คํ ์ ์๋ฆผ
- ๊ฑด๊ฐํ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ
- ๋๊ตฌ๋ ์ฝ์ ์ ์๋ ์๋ฆผ
- ๊ฑด๊ฐ๊ฒ์ง, ์ฃผ์ํด์ผ ํ ์
- ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์๋ํ
์ฃผ์ #8: ELK๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ก๊น
- ์ต๊ณ ์ ๋ก๊น ๋ฐฉ๋ฒ
- ELK ์คํ
์ฃผ์ #9: ChatOps๋ฅผ ํตํ ์ธํ๋ผ ์๋ํ
- DevOps ๋ฐ ChatOps
- ChatOps: ๊ฐ์
- Slack ๋ฐ ๋์
- ChatOps์ฉ ๋ด
- ํด๋ด๊ณผ ๋์
- ะะตะทะพะฟะฐัะฝะพััั
- ๋ชจ๋ฒ ์ฌ๋ก์ ์ต์ ์ฌ๋ก
ํด๋น ํ๋ก๊ทธ๋จ์ ์งํ ์ค์ด๋ฏ๋ก ๋ค์ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค.
๊ฐ๊ฒฉ: 30 000 โฝ
์ถ์ฒ : habr.com