์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง(MaC)์ด ๊ด์ธก ๊ฐ๋ฅ์ฑ์ ์๋ํํ๊ณ , ์ฌ๊ณ ๋์์ ๊ฐ์ ํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
์ฝ๋๋ก ๋ชจ๋ํฐ๋ง: ์ต์ ์ํฐํ๋ผ์ด์ฆ๋ฅผ ์ํ ๊ด์ธก ๊ฐ๋ฅ์ฑ ์๋ํ
์ค๋๋ ์ ์ญ๋์ ์ด๊ณ ๋ณต์กํ IT ํ๊ฒฝ์์ ๊ธฐ์กด ๋ชจ๋ํฐ๋ง ๋ฐฉ์์ ์ข ์ข ๋ถ์กฑํฉ๋๋ค. ๋ฐ์ดํฐ์ ์, ๋ณํ์ ์๋, ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ถ์ฐ๋ ํน์ฑ์ ๋์ฑ ๋ฏผ์ฒฉํ๊ณ ์๋ํ๋ ์ ๊ทผ ๋ฐฉ์์ ์๊ตฌํฉ๋๋ค. ๋ฐ๋ก ์ฌ๊ธฐ์ ์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง(MaC)์ด ๋ฑ์ฅํ์ฌ ๊ด์ธก ๊ฐ๋ฅ์ฑ์ ์๋ํํ๊ณ ์ฌ๊ณ ๋์์ ๊ฐ์ ํ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง(MaC)์ด๋ ๋ฌด์์ธ๊ฐ์?
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง(MaC)์ ๊ด์ธก ๊ฐ๋ฅ์ฑ ์์ญ์ ์ฝ๋ํ ์ธํ๋ผ(IaC)์ ์์น๊ณผ ์ค์ฒ์ ์ ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ์ฝ๋๋ก ์ ์ํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์๋์ผ๋ก ๊ตฌ์ฑํ๋ ๋์ MaC๋ฅผ ์ฌ์ฉํ๋ฉด ๋ชจ๋ํฐ๋ง ๊ท์น, ๋์๋ณด๋, ์๋ฆผ ๋ฐ ๊ธฐํ ๊ตฌ์ฑ์ ์ฝ๋ ํ์ผ๋ก ์ ์ํ ์ ์์ผ๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก Git๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ ์ฅ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ํฐ๋ง ์ธํ๋ผ์ ๋ฒ์ ๊ด๋ฆฌ, ํ์ , ๋ฐ๋ณต์ฑ ๋ฐ ์๋ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ด๋ฐ ์์ผ๋ก ์๊ฐํด๋ณด์ธ์. ์ฝ๋ํ ์ธํ๋ผ๋ฅผ ํตํด ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธํ๋ผ(์๋ฒ, ๋คํธ์ํฌ, ๋ก๋ ๋ฐธ๋ฐ์)๋ฅผ ์ ์ํ๊ณ ๊ด๋ฆฌํ ์ ์๋ ๊ฒ์ฒ๋ผ ์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ์ค์ (๋ฉํธ๋ฆญ, ๋ก๊ทธ, ์ถ์ , ์๋ฆผ)์ ์ ์ํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์ฑํํด์ผ ํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น์?
MaC๋ฅผ ์ฑํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๋ง์ ์ด์ ์ด ์์ต๋๋ค.
- ์ผ๊ด์ฑ ์ฆ๊ฐ: ์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์ฑ์ ์๋ก ๋ค๋ฅธ ํ๊ฒฝ(๊ฐ๋ฐ, ํ ์คํธ, ํ๋ก๋์ )์์ ์ผ๊ด์ฑ์ ๋ณด์ฅํฉ๋๋ค. ๋ ์ด์ ์ค๋ ธํ๋ ์ดํฌ๋ ์์ต๋๋ค!
- ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ ํฅ์: ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ํ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์์ ํ ๊ฐ์ฌ ์ถ์ ์ ์ ๊ณตํฉ๋๋ค. ๋๊ฐ, ์ธ์ ๋ฌด์์ ๋ณ๊ฒฝํ๋์ง ์ฝ๊ฒ ์ถ์ ํ ์ ์์ต๋๋ค.
- ํ์ ๊ฐ์ : ์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์ฑ์ ๊ฐ๋ฐ์, ์ด์ ์์ง๋์ด ๋ฐ ๋ณด์ ํ ๊ฐ์ ํ์ ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ๋ชจ๋๊ฐ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๊ธฐ์ฌํ๊ณ ๊ฒํ ํ ์ ์์ต๋๋ค.
- ์ค๋ฅ ๊ฐ์: ์๋ํ๋ ๋ฐฐํฌ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ ๊ฒ์ฌ๋ ์ธ์ ์ค๋ฅ์ ์ํ์ ์ค์ ๋๋ค. ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ ์ด๊ธฐ์ ์ค์๋ฅผ ๊ฐ์งํ ์ ์์ต๋๋ค.
- ์์ฅ ์ถ์ ์๊ฐ ๋จ์ถ: ์๋ํ๋ ๋ชจ๋ํฐ๋ง ์ค์ ์ ํตํด ํ์ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ธฐ๋ฅ์ ๋ ๋น ๋ฅด๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋ชจ๋ํฐ๋ง์ ๋ ์ด์ ๋ท์ ์ด ์๋๋๋ค.
- ํ์ฅ์ฑ: MaC๋ฅผ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ๋ชจ๋ํฐ๋ง ์ธํ๋ผ๋ฅผ ์ฝ๊ฒ ํ์ฅํ ์ ์์ต๋๋ค. ํ์์ ๋ฐ๋ผ ์๋ก์ด ๋ชจ๋ํฐ๋ง ๊ท์น๊ณผ ๋์๋ณด๋์ ์์ฑ์ ์๋ํํ ์ ์์ต๋๋ค.
- ์ฌ๊ณ ๋์ ๊ฐ์ : ์ ์ ์๋ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ๊ณผ ์๋ฆผ์ ์ฌ๊ณ ๋ฅผ ๋ ๋นจ๋ฆฌ ๊ฐ์งํ๊ณ ํด๊ฒฐํ ์ ์๋๋ก ํฉ๋๋ค. ํ์ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์ ์ ์ํ๊ฒ ์๋ณํ๊ณ ์์ ์กฐ์น๋ฅผ ์ทจํ ์ ์์ต๋๋ค.
- ๋น์ฉ ์ต์ ํ: MaC๋ ๋ชจ๋ํฐ๋ง ์์ ์ ์๋ํํ๊ณ ๋ฆฌ์์ค ํ ๋น์ ์ต์ ํํ์ฌ ๋น์ฉ ์ ๊ฐ์ ๊ธฐ์ฌํ ์ ์์ต๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์ฃผ์ ์์น
MaC๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ๋ ค๋ฉด ๋ค์ ์์น์ ๊ณ ๋ คํ์ญ์์ค.
- ๋ชจ๋ ๊ฒ์ ์ฝ๋๋ก: ๋์๋ณด๋, ์๋ฆผ, ๋ฐ์ดํฐ ๋ณด์กด ์ ์ฑ ๋ฐ ์ก์ธ์ค ์ ์ด๋ฅผ ํฌํจํ ๋ชจ๋ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ์ฝ๋๋ก ์ทจ๊ธํฉ๋๋ค.
- ๋ฒ์ ๊ด๋ฆฌ: ๋ชจ๋ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ Git๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ ์ฅํฉ๋๋ค.
- ์๋ํ: CI/CD ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์๋ํํฉ๋๋ค.
- ํ ์คํธ: ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ด ์์๋๋ก ์๋ํ๋์ง ํ ์คํธํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ ๋ฐ ์๋ ํฌ ์๋ ํ ์คํธ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ํ์ : ๊ฐ๋ฐ์, ์ด์ ์์ง๋์ด ๋ฐ ๋ณด์ ํ ๊ฐ์ ํ์ ์ ์ฅ๋ คํฉ๋๋ค.
- ๊ด์ธก ๊ฐ๋ฅ์ฑ ์ค์ฌ ๊ฐ๋ฐ: ์ฒ์๋ถํฐ ๊ด์ธก ๊ฐ๋ฅ์ฑ ์ค์ฒ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์ ํตํฉํฉ๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์ํ ๋๊ตฌ ๋ฐ ๊ธฐ์
MaC๋ฅผ ๊ตฌํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ๋๊ตฌ์ ๊ธฐ์ ์ด ์์ต๋๋ค.
- ๊ตฌ์ฑ ๊ด๋ฆฌ ๋๊ตฌ: Ansible, Chef, Puppet, SaltStack. ์ด๋ฌํ ๋๊ตฌ๋ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์๋ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Ansible ํ๋ ์ด๋ถ์ ์์ฑํ์ฌ ์๋ฒ์์ Prometheus ์ต์คํฌํฐ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- ์ฝ๋ํ ์ธํ๋ผ ๋๊ตฌ: Terraform, CloudFormation. ์ด๋ฌํ ๋๊ตฌ๋ ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ๊ธฐ๋ณธ ์ธํ๋ผ๋ฅผ ํ๋ก๋น์ ๋ํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Terraform์ ์ฌ์ฉํ์ฌ AWS์ Prometheus ์๋ฒ๋ฅผ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
- API๊ฐ ์๋ ๋ชจ๋ํฐ๋ง ๋๊ตฌ: Prometheus, Grafana, Datadog, New Relic, Dynatrace. ์ด๋ฌํ ๋๊ตฌ๋ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์๋ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ํนํ Prometheus๋ ์๋ํ๋ฅผ ์ผ๋์ ๋๊ณ ์ค๊ณ๋์์ต๋๋ค. Grafana์ ๋์๋ณด๋ ์ ์๋ JSON์ผ๋ก ๋ด๋ณด๋ด ์ฝ๋์ฒ๋ผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ์คํฌ๋ฆฝํ ์ธ์ด: Python, Go, Bash. ์ด๋ฌํ ์ธ์ด๋ ๋ชจ๋ํฐ๋ง ์์ ์ ์๋ํํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Python์ ์ฌ์ฉํ์ฌ Prometheus ๊ฒฝ๊ณ ๊ท์น์ ์์ฑ์ ์๋ํํ ์ ์์ต๋๋ค.
- CI/CD ๋๊ตฌ: Jenkins, GitLab CI, CircleCI, Azure DevOps. ์ด๋ฌํ ๋๊ตฌ๋ CI/CD ํ์ดํ๋ผ์ธ์ ์ผ๋ถ๋ก ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฐฐํฌ๋ฅผ ์๋ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง ๊ตฌํ: ๋จ๊ณ๋ณ ๊ฐ์ด๋
MaC๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ๋จ๊ณ๋ณ ๊ฐ์ด๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ๋๊ตฌ ์ ํ
์กฐ์ง์ ์๊ตฌ ์ฌํญ๊ณผ ๊ธฐ์กด ์ธํ๋ผ์ ๊ฐ์ฅ ์ ํฉํ ๋๊ตฌ์ ๊ธฐ์ ์ ์ ํํ์ญ์์ค. ๋น์ฉ, ํ์ฅ์ฑ, ์ฌ์ฉ ํธ์์ฑ ๋ฐ ๊ธฐํ ๋๊ตฌ์์ ํตํฉ๊ณผ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
์: ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๊ฒฝ์ ๊ฒฝ์ฐ ๋ฉํธ๋ฆญ์ ์ํด Prometheus, ๋์๋ณด๋๋ฅผ ์ํด Grafana, ์ธํ๋ผ ํ๋ก๋น์ ๋์ ์ํด Terraform์ ์ ํํ ์ ์์ต๋๋ค. ๋ณด๋ค ์ ํต์ ์ธ ํ๊ฒฝ์ ๊ฒฝ์ฐ ๋ชจ๋ํฐ๋ง์ ์ํด Nagios๋ฅผ, ๊ตฌ์ฑ ๊ด๋ฆฌ๋ฅผ ์ํด Ansible์ ์ ํํ ์ ์์ต๋๋ค.
2. ๋ชจ๋ํฐ๋ง ์๊ตฌ ์ฌํญ ์ ์
์์งํด์ผ ํ๋ ๋ฉํธ๋ฆญ, ์์ ํด์ผ ํ๋ ์๋ฆผ ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๋ ๋ฐ ํ์ํ ๋์๋ณด๋๋ฅผ ํฌํจํ์ฌ ๋ชจ๋ํฐ๋ง ์๊ตฌ ์ฌํญ์ ๋ช ํํ๊ฒ ์ ์ํ์ญ์์ค. ๋ชจ๋ ์ฌ๋์ ์๊ตฌ ์ฌํญ์ด ์ถฉ์กฑ๋๋๋ก ๋ค์ํ ํ์ ์ดํด ๊ด๊ณ์๋ฅผ ์ฐธ์ฌ์ํค์ญ์์ค. ์๊ตฌ ์ฌํญ์ ์ ์ํ ๋ ์๋น์ค ์์ค ๋ชฉํ(SLO) ๋ฐ ์๋น์ค ์์ค ์งํ(SLI)๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ๊ฑด๊ฐํ ์์คํ ์ ๋ฌด์์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๊น? SLO๋ฅผ ์ถฉ์กฑํ๋ ๋ฐ ์ค์ํ ๋ฉํธ๋ฆญ์ ๋ฌด์์ ๋๊น?
์: CPU ์ฌ์ฉ๋ฅ , ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋์คํฌ I/O, ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์๋ต ์๊ฐ์ ๋ํ ๋ชจ๋ํฐ๋ง ์๊ตฌ ์ฌํญ์ ์ ์ํ ์ ์์ต๋๋ค. ๋ํ ์ด๋ฌํ ๋ฉํธ๋ฆญ์ด ํน์ ์๊ณ๊ฐ์ ์ด๊ณผํ ๋ ์๋ฆผ์ ์ ์ํ ์ ์์ต๋๋ค.
3. ์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์ฑ ๋ง๋ค๊ธฐ
๋ชจ๋ํฐ๋ง ์๊ตฌ ์ฌํญ์ ์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์ฑ์ผ๋ก ๋ณํํฉ๋๋ค. ์ ํํ ๋๊ตฌ์ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๋ฉํธ๋ฆญ, ์๋ฆผ, ๋์๋ณด๋ ๋ฐ ๊ธฐํ ๊ตฌ์ฑ์ ์ฝ๋ ํ์ผ๋ก ์ ์ํฉ๋๋ค. ์ฝ๋๋ฅผ ๋ ผ๋ฆฌ์ ์ด๊ณ ๋ชจ๋์์ผ๋ก ๊ตฌ์ฑํฉ๋๋ค.
์: ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์๋ฒ์์ ์์งํ ๋ฉํธ๋ฆญ์ ์ ์ํ๊ธฐ ์ํด Prometheus ๊ตฌ์ฑ ํ์ผ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ๊ธฐ ์ํด JSON ํ์์ผ๋ก Grafana ๋์๋ณด๋ ์ ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ๋ํ ์ธํ๋ผ๋ฅผ ํ๋ก๋น์ ๋ํ๊ธฐ ์ํด Terraform ํ ํ๋ฆฟ์ ๋ง๋ค ์ ์์ต๋๋ค.
์์(Prometheus): ๋ค์์ ์๋ฒ์์ ๋ฉํธ๋ฆญ์ ์คํฌ๋ฉํ๋ ์์ ์ ์ ์ํ๋ Prometheus ๊ตฌ์ฑ ํ์ผ(prometheus.yml)์ ์ผ๋ถ์ ๋๋ค.
scrape_configs:
- job_name: 'example-server'
static_configs:
- targets: ['example.com:9100']
์ด ๊ตฌ์ฑ์ Prometheus์ ํฌํธ 9100์์ ์๋ฒ `example.com`์์ ๋ฉํธ๋ฆญ์ ์คํฌ๋ฉํ๋๋ก ์ง์ํฉ๋๋ค. `static_configs` ์น์ ์ ์คํฌ๋ฉํ ๋์ ์๋ฒ๋ฅผ ์ ์ํฉ๋๋ค.
4. ๋ฒ์ ๊ด๋ฆฌ์์ ๊ตฌ์ฑ ์ ์ฅ
๋ชจ๋ ์ฝ๋ ๊ธฐ๋ฐ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ Git๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ ์ฅํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๊ณ , ๋ค๋ฅธ ์ฌ๋๊ณผ ํ์ ํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ์ด์ ๋ฒ์ ์ผ๋ก ๋๋๋ฆด ์ ์์ต๋๋ค.
์: ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ํ Git ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ๋ชจ๋ Prometheus ๊ตฌ์ฑ ํ์ผ, Grafana ๋์๋ณด๋ ์ ์ ๋ฐ Terraform ํ ํ๋ฆฟ์ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ฅํ ์ ์์ต๋๋ค.
5. ์๋ํ๋ ๋ฐฐํฌ
CI/CD ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฐฐํฌ๋ฅผ ์๋ํํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ด ์๋ก ๋ค๋ฅธ ํ๊ฒฝ์์ ์ผ๊ด๋๊ณ ์์ ์ ์ผ๋ก ๋ฐฐํฌ๋ฉ๋๋ค. Jenkins, GitLab CI, CircleCI ๋๋ Azure DevOps์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํฉ๋๋ค.
์: Git ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ปค๋ฐ๋ ๋๋ง๋ค Prometheus ๊ตฌ์ฑ ํ์ผ๊ณผ Grafana ๋์๋ณด๋ ์ ์๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํ๋ CI/CD ํ์ดํ๋ผ์ธ์ ๋ง๋ค ์ ์์ต๋๋ค.
6. ๊ตฌ์ฑ ํ ์คํธ
๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ด ์์๋๋ก ์๋ํ๋์ง ํ ์คํธํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ ๋ฐ ์๋ ํฌ ์๋ ํ ์คํธ๊ฐ ํฌํจ๋ฉ๋๋ค. `promtool`(Prometheus์ฉ) ๋๋ `grafanalib`(Grafana์ฉ)๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์ ๊ฒ์ฆํฉ๋๋ค.
์: Prometheus ๊ฒฝ๊ณ ๊ท์น์ด ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ์ฑ๋์๋์ง ํ์ธํ๋ ๋จ์ ํ ์คํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ๋ชจ๋ํฐ๋ง ๋๊ตฌ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ธํ๋ผ์ ์ฌ๋ฐ๋ฅด๊ฒ ํตํฉ๋์๋์ง ํ์ธํ๋ ํตํฉ ํ ์คํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ํน์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ๋ ์์๋๋ ์๋ฆผ์ ์์ ํ๋์ง ํ์ธํ๋ ์๋ ํฌ ์๋ ํ ์คํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
7. ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฐ๋ณต
๋ชจ๋ํฐ๋ง ์ธํ๋ผ๊ฐ ์์๋๋ก ์๋ํ๋์ง ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํฉ๋๋ค. ํผ๋๋ฐฑ๊ณผ ๋ณ๊ฒฝ๋๋ ์๊ตฌ ์ฌํญ์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ์ ๋ฐ๋ณตํฉ๋๋ค. ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ์ค์ ์ ์ง์์ ์ผ๋ก ๊ฐ์ ํฉ๋๋ค.
์: Prometheus ์๋ฒ๊ฐ ๊ณผ๋ถํ๋์ง ์๋๋ก ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค. ๊ด๋ จ์ฑ์ด ์๊ณ ์คํ ๊ฐ๋ฅํ์ง ํ์ธํ๊ธฐ ์ํด ์์ ํ๋ ์๋ฆผ์ ๊ฒํ ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์์ ํผ๋๋ฐฑ์ ๊ธฐ๋ฐ์ผ๋ก ๋์๋ณด๋๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์ค์ ์
๋ง์ ์กฐ์ง์์ ๊ด์ธก ๊ฐ๋ฅ์ฑ ๋ฐ ์ฌ๊ณ ๋์์ ๊ฐ์ ํ๊ธฐ ์ํด MaC๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฑํํ์ต๋๋ค. ๋ช ๊ฐ์ง ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- Netflix: Netflix๋ ๋ณต์กํ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด MaC๋ฅผ ๊ด๋ฒ์ํ๊ฒ ์ฌ์ฉํฉ๋๋ค. Prometheus, Grafana ๋ฐ ์ฌ์ฉ์ ์ง์ ๋๊ตฌ๋ฅผ ์กฐํฉํ์ฌ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์๋ํํฉ๋๋ค.
- Airbnb: Airbnb๋ ์ธํ๋ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด MaC๋ฅผ ์ฌ์ฉํฉ๋๋ค. Terraform์ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ์ธํ๋ผ๋ฅผ ํ๋ก๋น์ ๋ํ๊ณ Ansible์ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
- Shopify: Shopify๋ ์ ์ ์๊ฑฐ๋ ํ๋ซํผ์ ๋ชจ๋ํฐ๋งํ๊ธฐ ์ํด MaC๋ฅผ ์ฌ์ฉํฉ๋๋ค. Prometheus ๋ฐ Grafana๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉํธ๋ฆญ์ ์์งํ๊ณ ์๊ฐํํ๋ฉฐ, ์ฌ์ฉ์ ์ง์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฐฐํฌ๋ฅผ ์๋ํํฉ๋๋ค.
- GitLab: GitLab CI/CD๋ MaC ์ํฌํ๋ก์ ํตํฉ๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Grafana ๋์๋ณด๋์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ์คํ ์ค์ธ Grafana ์ธ์คํด์ค์์ ํด๋น ๋์๋ณด๋์ ๋ํ ์๋ ์ ๋ฐ์ดํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค.
๊ณผ์ ๋ฐ ๊ณ ๋ ค ์ฌํญ
MaC๋ ๋ง์ ์ด์ ์ ์ ๊ณตํ์ง๋ง ๋ช ๊ฐ์ง ๊ณผ์ ๋ ์์ต๋๋ค.
- ํ์ต ๊ณก์ : MaC๋ฅผ ๊ตฌํํ๋ ค๋ฉด Git, CI/CD ๋ฐ ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ๊ฐ์ ๋๊ตฌ ๋ฐ ๊ธฐ์ ์ ๋ํ ํน์ ์์ค์ ์ ๋ฌธ ์ง์์ด ํ์ํฉ๋๋ค.
- ๋ณต์ก์ฑ: ์ฝ๋ ๊ธฐ๋ฐ ๊ตฌ์ฑ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ํนํ ํฌ๊ณ ๋ถ์ฐ๋ ํ๊ฒฝ์์ ๋ณต์กํ ์ ์์ต๋๋ค.
- ๋๊ตฌ: MaC์ ๋ํ ๋๊ตฌ ํ๊ฒฝ์ ์ฌ์ ํ ๋ฐ์ ํ๊ณ ์์ผ๋ฉฐ, ํ์์ ๋ง๋ ์ฌ๋ฐ๋ฅธ ๋๊ตฌ๋ฅผ ์ ํํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ๋ณด์: ์ฝ๋์ ๋ฏผ๊ฐํ ์ ๋ณด(์: API ํค)๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ์คํ๊ฒ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ค๋ฉด ๋น๋ฐ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- ๋ฌธํ์ ๋ณํ: MaC๋ฅผ ์ฑํํ๋ ค๋ฉด ์กฐ์ง์ ๋ฌธํ์ ๋ณํ๊ฐ ํ์ํ๋ฉฐ, ํ์ ์๋ํ์ ํ์ ์ ์์ฉํด์ผ ํฉ๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ๋ชจ๋ฒ ์ฌ๋ก
๊ณผ์ ๋ฅผ ๊ทน๋ณตํ๊ณ MaC์ ์ด์ ์ ๊ทน๋ํํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
- ์๊ฒ ์์ํ์ธ์: ๊ฒฝํ์ ์๊ณ ์์ ๊ฐ์ ์ป๊ธฐ ์ํด ์์ ํ์ผ๋ฟ ํ๋ก์ ํธ๋ก ์์ํ์ญ์์ค.
- ๋ชจ๋ ๊ฒ์ ์๋ํํ์ญ์์ค: ๋ชจ๋ํฐ๋ง ๋๊ตฌ์ ๋ฐฐํฌ๋ถํฐ ๋์๋ณด๋ ๋ฐ ์๋ฆผ ์์ฑ๊น์ง ๊ฐ๋ฅํ ํ ๋ง์ ์์ ์ ์๋ํํ์ญ์์ค.
- ๋ฒ์ ๊ด๋ฆฌ ์ฌ์ฉ: ๋ชจ๋ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ ์ฅํฉ๋๋ค.
- ๊ตฌ์ฑ์ ํ ์คํธํ์ญ์์ค: ๊ตฌ์ฑ์ด ์์๋๋ก ์๋ํ๋์ง ์ฒ ์ ํ ํ ์คํธํ์ญ์์ค.
- ๋ชจ๋ ๊ฒ์ ๋ฌธ์ํํ์ญ์์ค: ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๋ช ํํ๊ฒ ๋ฌธ์ํํ์ญ์์ค.
- ํ์ : ๊ฐ๋ฐ์, ์ด์ ์์ง๋์ด ๋ฐ ๋ณด์ ํ ๊ฐ์ ํ์ ์ ์ฅ๋ คํ์ญ์์ค.
- ์ฝ๋ํ ์ธํ๋ผ ์์ฉ: ์ ์ฒด์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ํด ์ฝ๋ํ ์ธํ๋ผ ๊ดํ๊ณผ ์ฝ๋ํ ๋ชจ๋ํฐ๋ง์ ํตํฉํฉ๋๋ค.
- ์ญํ ๊ธฐ๋ฐ ์ก์ธ์ค ์ ์ด(RBAC) ๊ตฌํ: ์ฌ์ฉ์ ์ญํ ์ ๋ฐ๋ผ ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ ๋ฐ ๋ฐ์ดํฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ์ดํฉ๋๋ค.
- ํ์คํ๋ ๋ช ๋ช ๊ท์น ์ฌ์ฉ: ๋ชจ๋ํฐ๋ง ๋ฆฌ์์ค์ ๋ํ ๋ช ํํ๊ณ ์ผ๊ด๋ ๋ช ๋ช ๊ท์น์ ์ค์ ํฉ๋๋ค.
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ๋ฏธ๋
์กฐ์ง์ด ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์ DevOps ๊ดํ์ ์์ฉํจ์ ๋ฐ๋ผ ์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์ ์ ๋ ์ค์ํด์ง๊ณ ์์ต๋๋ค. MaC์ ๋ฏธ๋๋ ๋ค์๊ณผ ๊ฐ์ ์ถ์ธ๋ฅผ ๋ณด์ผ ๊ฒ์ ๋๋ค.
- ์๋ํ ์ฆ๊ฐ: ์ด์ ๊ฐ์ง ๋ฐ ์ฌ๊ณ ์์ ์ ํฌํจํ์ฌ ์ ์ ๋ ๋ง์ ๋ชจ๋ํฐ๋ง ์์ ์ด ์๋ํ๋ ๊ฒ์ ๋๋ค.
- AI ํตํฉ ๊ฐ์ : ์ธ๊ณต ์ง๋ฅ(AI)์ ๋ชจ๋ํฐ๋ง์์ ๋ ํฐ ์ญํ ์ ํ์ฌ ํจํด์ ์๋ณํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ์์ธกํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค.
- ๋์ฑ ์ ๊ตํ ๋๊ตฌ: MaC์ ๋ํ ๋๊ตฌ ํ๊ฒฝ์ ๋ณต์กํ ํ๊ฒฝ์ ๋ชจ๋ํฐ๋งํ๋ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ก์ด ๋๊ตฌ์ ๊ธฐ์ ์ด ๋ฑ์ฅํ๋ฉด์ ๊ณ์ ๋ฐ์ ํ ๊ฒ์ ๋๋ค.
- ์คํ ์์ค ์ฑํ ์ฆ๊ฐ: ์คํ ์์ค ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ ์ ์ฐ์ฑ, ๋น์ฉ ํจ์จ์ฑ ๋ฐ ํ๋ฐํ ์ปค๋ฎค๋ํฐ๋ก ์ธํด ๊ณ์ํด์ ์ธ๊ธฐ๋ฅผ ์ป์ ๊ฒ์ ๋๋ค.
- ์ฝ๋ํ ์ ์ฑ : ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ ๋ด์์ ๊ท์ ์ค์ ๋ฐ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ ์ฉํ๊ธฐ ์ํด ์ฝ๋ํ ์ ์ฑ ์ ํตํฉํฉ๋๋ค.
๊ฒฐ๋ก
์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ๊ด์ธก ๊ฐ๋ฅ์ฑ์ ์๋ํํ๊ณ ์ฌ๊ณ ๋์์ ๊ฐ์ ํ๋ ๊ฐ๋ ฅํ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ๋ชจ๋ํฐ๋ง ๊ตฌ์ฑ์ ์ฝ๋๋ก ์ทจ๊ธํจ์ผ๋ก์จ ์กฐ์ง์ ์ผ๊ด์ฑ์ ๋์ด๊ณ , ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ ํ๊ณ , ํ์ ์ ๊ฐํํ๊ณ , ์ค๋ฅ๋ฅผ ์ค์ด๋ฉฐ, ์์ฅ ์ถ์ ์๊ฐ์ ๋จ์ถํ ์ ์์ต๋๋ค. MaC๋ฅผ ๊ตฌํํ๋ ค๋ฉด ํน์ ์์ค์ ์ ๋ฌธ ์ง์์ด ํ์ํ๊ณ ๋ช ๊ฐ์ง ๊ณผ์ ๊ฐ ์์ง๋ง, ์ด์ ์ ๋น์ฉ๋ณด๋ค ํจ์ฌ ํฝ๋๋ค. ์ด ๊ฐ์ด๋์ ์ค๋ช ๋ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ์กฐ์ง์ MaC๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฑํํ๊ณ ๊ด์ธก ๊ฐ๋ฅ์ฑ์ ๋ชจ๋ ์ ์ฌ๋ ฅ์ ๋ฐํํ ์ ์์ต๋๋ค.
๊ด์ธก ๊ฐ๋ฅ์ฑ์ ๋ํ ์ ๊ทผ ๋ฐฉ์์ ํ์ ํ๊ณ ๋ ๋์ ๋น์ฆ๋์ค ์ฑ๊ณผ๋ฅผ ์ฐฝ์ถํ๊ธฐ ์ํด ์ฝ๋๋ก์์ ๋ชจ๋ํฐ๋ง์ ์์ฉํ์ญ์์ค.