DevOps ๊ฐ์
๊ธฐ์กด์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๊ฐ๋ฐํ๊ณผ ์ด์ํ ๊ฐ์ ํ์ ๋ถ์กฑ์ผ๋ก ์ธํด ์ง์ฐ๊ณผ ๋นํจ์จ์ฑ์ ๊ฒช๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์์ฑํ ๋ค์ ๋ฐฐํฌ๋ฅผ ์ํด ์ด์ํ์ ๋๊ธฐ๋ฉด ๋ณ๋ชฉ ํ์, ๋๋ฆฐ ํผ๋๋ฐฑ, ์ฝ๋ ํ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ํ๋ก์ ํธ๊ฐ ์ ์ ๋ ๋ณต์กํด์ง๊ณ ๊ณ ๊ฐ์ ์๊ตฌ๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ์ด๋ฌํ ์ฌ์ผ๋กํ๋ ์ ๊ทผ ๋ฐฉ์์ ๋ ์ด์ ๋ฐ๋ผ์ก๊ธฐ ์ด๋ ต์ต๋๋ค.
DevOps ๋ ๊ฐ๋ฐ๊ณผ ์ด์์ ํ๋์ ํตํฉ๋ ์ ์ ์ผ๋ก ํตํฉํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ์๋ํ์ ์ง์์ ์ธ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉํ๋ DevOps๋ ๊ณํ๊ณผ ์ฝ๋ฉ๋ถํฐ ๋ฐฐํฌ์ ๋ชจ๋ํฐ๋ง๊น์ง ์ํํ ์ํฌํ๋ก์ฐ๋ฅผ ์ง์ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ํ์ , ์๋, ํผ๋๋ฐฑ์ ๊ฐ์กฐํ์ฌ ํ์ด ์์ ์ ์ธ ์ํํธ์จ์ด๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ ๊ณตํ๊ณ ์๋ก์ด ์๊ตฌ์ฌํญ์ ๋น ๋ฅด๊ฒ ์ ์ํ ์ ์๋๋ก ํฉ๋๋ค.
์ด ๋ฆฌ์์ค์์๋ DevOps ์๋ช ์ฃผ๊ธฐ์ ๊ฐ ๋จ๊ณ๋ฅผ ์ธ๋ถํํ์ฌ ๊ณ ํ์ง ์ํํธ์จ์ด๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ ๊ณตํ๊ธฐ ์ํด ํจ๊ป ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ ์ค๋๋ค. ์์ธํ ์์๋ณด๋ ค๋ฉด ๊ณ์ ์ฝ์ด๋ณด์ธ์.
- DevOps ์๋ช
์ฃผ๊ธฐ๋ ๋ฌด์์ธ๊ฐ์?
- ๋ฐ๋ธ์ต์ค ์๋ช
์ฃผ๊ธฐ ๋จ๊ณ(๋ฐ๋ธ์ต์ค์ 7๊ฐ์ง C)
- DevOps ์๋ช
์ฃผ๊ธฐ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
- ๋ฐ๋ธ์ต์ค ์๋ช ์ฃผ๊ธฐ์ ๊ณผ์
- ์ฃผ์ ๋ด์ฉ ๋ฐ DevOps ๋ฆฌ์์ค
DevOps ์๋ช
์ฃผ๊ธฐ๋ ๋ฌด์์ธ๊ฐ์?
ํ๊ณผ ํ๋ ฅํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ๊ณ ์ถ์ํ๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ด๊ธฐ ๋ธ๋ ์ธ์คํ ๋ฐ๋ถํฐ ์ต์ข ๋ฆด๋ฆฌ์ค๊น์ง, ํํ DevOps ์๋ช ์ฃผ๊ธฐ๋ผ๊ณ ํ๋ ์ผ๋ จ์ ๋จ๊ณ๋ฅผ ํตํด ๋ชจ๋ ๊ฒ์ด ์ํํ๊ฒ ์คํ๋๊ณ ๊ฐ์ ๋ฉ๋๋ค. ๊ฐ๋ฐ์ ์์ฐ์ฑ. ๊ฐ ๋จ๊ณ๋ง๋ค ๋ชฉ์ ์ด ์์ผ๋ฉฐ, ๋ชจ๋ ํจ๊ป ์๋ํ์ฌ ์ฅ์ ๋ฌผ์ ์ค์ด๋ฉด์ ์์ ์ ์ธ ์ํํธ์จ์ด๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ ๊ณตํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
๊ณํ
๋ชจ๋ ๊ฒ์ ๊ณํ์์ ์์๋ฉ๋๋ค. ์ฌ๊ธฐ์ ์ฌ๋ฌ๋ถ๊ณผ ํ์ ํ๋ก์ ํธ์ ๋ชฉํ, ๊ธฐ๋ฅ ๋ฐ ์ผ์ ์ ๋ํ ๊ฐ์๋ฅผ ์์ฑํฉ๋๋ค. ๊ณํ์ ์๋ฆฝํ๋ฉด ๊ฐ๋ฐ์, ์ด์ํ, ์์ ํ์ด ๊ฐ์ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค. ๋ชจ๋ ์ฌ๋์ด ๋ก๋๋งต๊ณผ ์ฑ๊ณต์ ์ธ ๋ฆด๋ฆฌ์ค์ ํ์ํ ์ฌํญ์ ์ดํดํ๋๋ก ํ๋ ๊ธฐ์ด๋ฅผ ์ธ์ฐ๋ ์์ ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
์ฝ๋
๊ณํ์ ์ธ์ ๋ค๋ฉด ์ด์ ์ฝ๋ฉ์ ์์ํ ์ฐจ๋ก์ ๋๋ค. ์ด ๋จ๊ณ์์๋ ๊ฐ๋ฐ์๊ฐ ์์ด๋์ด๋ฅผ ๊ตฌ์ฒดํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. GitHub ๋ฐ GitLab๊ณผ ๊ฐ์ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ด ๋์์ ์์ ํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๋ฉฐ ๋ชจ๋ ์ฌ๋์ ๊ธฐ์ฌ๊ฐ ์ํํ๊ฒ ๋ง๋ฌผ๋ฆฌ๋๋ก ํ ์ ์์ต๋๋ค.
๋น๋
์ด์ ๋น๋ ๋จ๊ณ๊ฐ ์์๋ฉ๋๋ค. ์ด ๋จ๊ณ์์๋ ์ฝ๋๊ฐ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ๋ณํ๋ฉ๋๋ค. ์๋ํ๋ ๋๊ตฌ๊ฐ ๋ชจ๋ ๊ฒ์ ์ปดํ์ผํ๋ฏ๋ก ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ์์ ํ ์ ์์ต๋๋ค. ๋ชจ๋ ๋ถํ์ ์กฐ๋ฆฝํ์ฌ ์์๋๋ก ์ ๋ง๊ณ ์๋ํ๋์ง ํ์ธํ๋ ๋จ๊ณ๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
ํ ์คํธ
์ ํ๋ฆฌ์ผ์ด์ ์ด ๋น๋๋์์ผ๋ฉด ์ด์ ํ ์คํธํ ์ฐจ๋ก์ ๋๋ค. ์ด ๋จ๊ณ์์๋ ์๋ ๋ฐ ์๋ ํ ์คํธ๋ฅผ ํตํด ์ํํธ์จ์ด๊ฐ ์๋ํ ๋๋ก ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ด ๋จ๊ณ์์ ๋ฒ๊ทธ๋ฅผ ์๋ณํ๊ณ ์์ ํ๋ฉด ์ฌ์ฉ์์๊ฒ ์ต์์ ๊ฒฝํ์ ์ ๊ณตํ์ฌ ํฅํ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
๋ฐฐํฌ
๋ชจ๋ ๊ฒ์ด ํ ์คํธ๋๊ณ ์ค๋น๋๋ฉด ๋ฐฐํฌํ ์ฐจ๋ก์ ๋๋ค. Jenkins, GitLab CI/CD, Azure DevOps์ ๊ฐ์ ์๋ํ๋ ๋ฐฐํฌ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ๋ฆด๋ฆฌ์คํ ์ ์์ต๋๋ค. ์ด ๋จ๊ณ์์๋ ํ ์คํธ์์ ์ค์ ์ฌ์ฉ์ผ๋ก์ ์ ํ์ด ์ํํ๊ฒ ์ด๋ฃจ์ด์ง๊ณ ์ฌ์ฉ์๊ฐ ๋ฌธ์ ์์ด ์ ๋ฐ์ดํธ์ ์ก์ธ์คํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ด์
์ด์ ์ํํธ์จ์ด๊ฐ ๊ฐ๋๋์์ผ๋ฏ๋ก ์ด์ ์ค์ํ ๊ฒ์ ์ํํ๊ฒ ์คํ๋๋๋ก ์ ์งํ๋ ๊ฒ์ ๋๋ค. ์ด ๋จ๊ณ์์ ํ์ ์์คํ ์ธํ๋ผ๋ฅผ ๋ชจ๋ํฐ๋งํ์ฌ ๊ฐ์ฉ์ฑ๊ณผ ์์ ์ฑ์ ํ๋ณดํ๊ณ ์์๋ฅผ ์ฒ๋ฆฌํ ์ค๋น๊ฐ ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด ๋จ๊ณ์์๋ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ชจ๋ ๊ฒ์ ํ์ฅํ ์ ์๋๋ก ํฉ๋๋ค.
๋ชจ๋ํฐ
๋ง์ง๋ง์ผ๋ก ๋ชจ๋ํฐ๋ง ๋จ๊ณ์์๋ ์ฑ๋ฅ์ ์ถ์ ํ๊ณ ํผ๋๋ฐฑ์ ์์งํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๊ณ ์ฌ์ฉ์๊ฐ ์ํํธ์จ์ด์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ํ์ธํ ์ ์์ต๋๋ค. ์ํฉ์ ๋ฉด๋ฐํ ์ฃผ์ํจ์ผ๋ก์จ ํ์ง์ ์ ์งํ ๋ฟ๋ง ์๋๋ผ ๋ค์ ๋จ๊ณ์ ๊ฐ์ ์ ์ํ ์ธ์ฌ์ดํธ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
DevOps ์๋ช ์ฃผ๊ธฐ์ ๊ฐ ๋จ๊ณ๋ ํจ๊ป ์๋ํ์ฌ ํจ์จ์ ์ด๊ณ ์ ์๋ ฅ์ด ๋ฐ์ด๋๋ฉฐ ํญ์ ๊ฐ์ ๋๋ ํ๋ฆ์ ๋ง๋ค์ด๋ ๋๋ค. ์ด๋ฌํ ๋จ๊ณ๋ฅผ ์งํํ๋ฉด์ ๋ ๋น ๋ฅธ ๋ฆด๋ฆฌ์ค, ๋ ๋์ ํ์ง, ๋ ํ๋ณตํ ์ฌ์ฉ์๋ฅผ ์ง์ํ๋ ํ๋ก์ธ์ค๋ฅผ ์ค์ ํ๊ฒ ๋ฉ๋๋ค.
๋ฐ๋ธ์ต์ค ์๋ช
์ฃผ๊ธฐ ๋จ๊ณ(๋ฐ๋ธ์ต์ค์ 7๊ฐ์ง C)
DevOps ์๋ช ์ฃผ๊ธฐ๋ 7๊ฐ์ง C๋ก ์๋ ค์ง 7๊ฐ์ง ์ฐ์ ๋จ๊ณ๋ฅผ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๊ฐ ๋จ๊ณ๋ ์ํํธ์จ์ด๋ฅผ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ ๊ณตํ๊ณ , ๋์ ํ์ง์ ๋ณด์ฅํ๋ฉฐ, ์ฌ์ฉ์ ์๊ตฌ์ ๋ํ ์๋ต์ฑ์ ์ ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ๊ฐ ๋จ๊ณ์ ๊ฐ ๋จ๊ณ์์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋๊ตฌ์ ๋ํด ์์ธํ ์ดํด๋ณด์ธ์.
์ง์์ ์ธ ๊ฐ๋ฐ
์์ ์ง์์ ์ธ ๊ฐ๋ฐ ๋จ๊ณํ์์๋ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ๊ฐ์ ์ฌํญ์ ์ํ ์ฝ๋๋ฅผ ๊ณํ, ์ค๊ณ ๋ฐ ์์ฑํฉ๋๋ค. ์ด ๋จ๊ณ์์๋ ๊ฐ๋ฐ์, ์ด์ํ, ์ดํด๊ด๊ณ์ ๊ฐ์ ํ์ ์ ๊ฐ์กฐํ์ฌ ๋ชจ๋ ์ฌ๋์ด ๋ชฉํ์ ์๊ตฌ์ฌํญ์ ์ผ์น์ํฌ ์ ์๋๋ก ํฉ๋๋ค. ๋ฒ์ ๊ด๋ฆฌ์๋ Git ๋ฐ SVN(Apache Subversion)๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ ์ฌ์ฉ๋์ด ํ์ด ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ๊ณ ํจ๊ณผ์ ์ผ๋ก ํ์ ํ ์ ์์ต๋๋ค. Jira ๋ฐ Trello์ ๊ฐ์ ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ๋ ๊ฐ๋ฐ ์ ๋ฐ์ ๊ฑธ์ณ ์์ ๊ณผ ์งํ ์ํฉ์ ์ถ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ง์์ ์ธ ํตํฉ
์ง์์ ํตํฉ(CI)์ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณต์ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ๊ธฐ์ ์ผ๋ก ๋ณํฉํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ๊ฐ ํตํฉ์ ์๋ํ๋ ๋น๋ ๋ฐ ํ ์คํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํ์ฌ ํ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค ์ด๊ธฐ์ ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ ํด๊ฒฐํ ์ ์๋๋ก ํฉ๋๋ค. Jenkins ๋ฐ GitLab CI/CD์ ๊ฐ์ ๋๊ตฌ๋ CI ํ์ดํ๋ผ์ธ์ ์ค์ ์ ์ฉ์ดํ๊ฒ ํ๊ณ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ฉฐ, CircleCI ๋ฐ Travis CI๋ ํ ์คํธ ๋ฐ ๋ฐฐํฌ ์ํฌํ๋ก๋ฅผ ํตํฉํ์ฌ ์ต์ ๋ณ๊ฒฝ ์ฌํญ์ ์ง์์ ์ผ๋ก ํตํฉํ๊ณ ๊ฒ์ฆํ ์ ์๋๋ก ํฉ๋๋ค.
์ง์์ ์ธ ํ ์คํธ
์ง์์ ์ธ ํ ์คํธ ๋จ๊ณ์์๋ ๋ฆด๋ฆฌ์ค ์ ์ ๋ชจ๋ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฒ ์ ํ๊ฒ ํ ์คํธํฉ๋๋ค. ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํด ๊ธฐ๋ฅ์ ์ผ๊ด๋๊ฒ ๊ฒ์ฆํ๊ณ ๋ฒ๊ทธ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ฉฐ ์ํํธ์จ์ด ํ์ง์ ๋ณด์ฅํ ์ ์์ต๋๋ค. Selenium๊ณผ ๊ฐ์ ํ ์คํธ ํ๋ ์์ํฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์๋ํ๋ ๊ธฐ๋ฅ ํ ์คํธ๋ฅผ ์ ๊ณตํ๋ฉฐ, JUnit๊ณผ TestNG๋ ์ผ๋ฐ์ ์ผ๋ก Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๋จ์ ๋ฐ ํตํฉ ํ ์คํธ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ํ Postman์ ์๋น์ค ์๋ํฌ์ธํธ๊ฐ ์์๋๋ก ์๋ํ๋์ง ํ์ธํ๋ API ํ ์คํธ์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค.
์ง์์ ์ธ ๋ฐฐํฌ
์ง์์ ์ธ ๋ฐฐํฌ ๋จ๊ณ์์๋ CI ํ๋ก์ธ์ค์์ ์ฑ๊ณต์ ์ผ๋ก ๋น๋๋ ๋น๋๊ฐ ํ๋ก๋์ ํ๊ฒฝ์ ์๋์ผ๋ก ๋ฆด๋ฆฌ์ค๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ์์ ์ฌํญ์ ์ ์ํ๊ฒ ์ ๊ณตํ์ฌ ์์ฅ ์ถ์ ์๊ฐ์ ๋จ์ถํ ์ ์์ต๋๋ค. AWS CodeDeploy์ ๊ฐ์ ๋ฐฐํฌ ๋๊ตฌ๋ Amazon EC2 ์ธ์คํด์ค๋ก์ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๋ฉฐ, Octopus Deploy๋ ๋ณต์กํ ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ ์ค๋๋ค. ๋์ ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ํํ ์ ๋ฐ์ดํธ์ ์ค์ผ์คํธ๋ ์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฝ๋๊ฐ ์ํํ๊ฒ ๋ฐฐํฌ๋๋๋ก ํฉ๋๋ค.
์ง์์ ์ธ ํผ๋๋ฐฑ
์ง์์ ์ธ ํผ๋๋ฐฑ์ ์ฌ์ฉ์ ๋ฐ ์์คํ ํผ๋๋ฐฑ์ ์์งํ์ฌ ํฅํ ๊ฐ์ ์ฌํญ์ ์๋ดํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ์ด ๋จ๊ณ๋ฅผ ํตํด ํ์ ์ฌ์ฉ์ ์๊ตฌ์ ์ ์ํ๊ฒ ๋์ํ๊ณ ๋ฐฐํฌ ํ ๋ฐ์ํ๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋ด๋ ๋ฆญ ๋ฐ Dynatrace์ ๊ฐ์ ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ ์ฑ๋ฅ ๋ฉํธ๋ฆญ๊ณผ ์ฌ์ฉ์ ๋ถ์์ ์์งํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ ๋ฐฉ์์ ๋ํ ๊ท์คํ ์ธ์ฌ์ดํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ Google ์ ๋๋ฆฌํฑ์ค๋ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ถ์ ํ๊ณ Hotjar์ ๊ฐ์ ๋๊ตฌ๋ ํํธ๋งต๊ณผ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํต๋๋ค.
์ง์์ ์ธ ๋ชจ๋ํฐ๋ง
์ง์์ ์ธ ๋ชจ๋ํฐ๋ง ๋จ๊ณ์์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ์ ์ฑ๋ฅ์ ์ค์๊ฐ์ผ๋ก ์ถ์ ํฉ๋๋ค. ์ด๋ฌํ ์ฌ์ ์๋ฐฉ์ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉ์์๊ฒ ์ํฅ์ ๋ฏธ์น๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ์ฌ ์ํํ ๊ฒฝํ์ ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์์คํ ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฉํธ๋ฆญ ์๊ฐํ์๋ ์ผ๋ฐ์ ์ผ๋ก Prometheus ๋ฐ Grafana์ ๊ฐ์ ๋๊ตฌ๊ฐ ์ฌ์ฉ๋๋ฉฐ, ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์๋ณํ๊ธฐ ์ํด ๋ก๊ทธ ๋ฐ ์ด์ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๋ ๋ฐ๋ Splunk๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ง์์ ์ธ ์ด์
์ง์์ ์ธ ์ด์ ๋จ๊ณ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์์คํ ์ด ๋ค์ดํ์ ์์ด ๊ณ์ ์๋ํ๊ณ ๊ฐ์ฉ์ฑ์ ์ ์งํ ์ ์๋๋ก ํฉ๋๋ค. ์ด ๋จ๊ณ์๋ ์ง์์ ์ธ ์๋น์ค ์ ๊ณต์ ์ง์ํ๊ธฐ ์ํ ์ ๊ธฐ์ ์ธ ์ ์ง ๊ด๋ฆฌ, ํ์ฅ ๋ฐ ์ ๋ฐ์ดํธ๊ฐ ํฌํจ๋ฉ๋๋ค. Ansible ๋ฐ Chef Infra์ ๊ฐ์ ๊ตฌ์ฑ ๊ด๋ฆฌ ๋๊ตฌ๋ ์์คํ ์ ๋ฐ์ดํธ ๋ฐ ์ ์ง ๊ด๋ฆฌ ์์ ์ ์๋ํํ๋ฉฐ, Terraform์ ์ฝ๋ํ ์ธํ๋ผ(IaC)๋ฅผ ๊ตฌํํ์ฌ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌ ๋ฐ ํ๋ก๋น์ ๋ํฉ๋๋ค. Kubernetes ๋ ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ผ์คํธ๋ ์ด์ ํ๊ณ ๊ด๋ฆฌํ์ฌ ํจ์จ์ ์ธ ๋ฆฌ์์ค ํ ๋น๊ณผ ์ด์ ๋ณต์๋ ฅ์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
DevOps์ 7๊ฐ์ง C๋ ํ์ , ์๋ํ ๋ฐ ์ง์์ ์ธ ๊ฐ์ ์ ์ด์งํ๋ ํฌ๊ด์ ์ธ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋ง๋ค์ด ํ์ด ๊ณ ํ์ง ์ํํธ์จ์ด๋ฅผ ํจ์จ์ ์ด๊ณ ์ ์ํ๊ฒ ์ ๊ณตํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.
DevOps ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
DevOps ์๋ช ์ฃผ๊ธฐ๋ ๊ฐ๋ฐ, ํ ์คํธ, ํตํฉ, ๋ฐฐํฌ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ด๋ จ๋ ์ง์์ ์ธ ํ๋ก์ธ์ค์ ๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก๋ ์ด๋ฌํ ๋จ๊ณ๋ฅผ ๊ฐ์ํํ๊ณ ์๋ํํ์ฌ ์ ์ํ๊ณ ์์ ์ ์ธ ๋ฐฐํฌ๋ฅผ ๋ชฉํ๋ก ํฉ๋๋ค. ๋ค์์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ๊ฐ์์ ๋๋ค:
์ผ์ชฝ ์ํํธ ํ ์คํธ
์ํํธ-๋ ํํธ ํ ์คํธ๋ DevOps ์๋ช ์ฃผ๊ธฐ์ ๊ฐ์ฅ ์ด๊ธฐ ๋จ๊ณ๋ก ํ ์คํธ๋ฅผ ์ด๋ํ์ฌ ๋ฌธ์ ๊ฐ ํ๋๋๊ธฐ ์ ์ ์กฐ๊ธฐ์ ์ง์์ ์ธ ํ ์คํธ๋ฅผ ์ํํ์ฌ ๋ฌธ์ ๋ฅผ ํ์ ํ๋ ๊ฒ์ ๊ฐ์กฐํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ค์์ ํตํฉํฉ๋๋ค. ํ ์คํธ ์ค์ฌ ๊ฐ๋ฐ(TDD) ๊ทธ๋ฆฌ๊ณ ํ๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ(BDD)๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ์๋์ผ๋ก ํ ์คํธํ ์ ์์ต๋๋ค. ์ํํธ-๋ ํํธ ํ ์คํธ๋ ๊ฒฐํจ์ ์กฐ๊ธฐ์ ์๋ณํจ์ผ๋ก์จ ์ฌ์์ ์ ์ค์ด๊ณ ์ฝ๋ ํ์ง์ ๊ฐ์ ํ๋ฉฐ ๋ณด๋ค ์ํํ๊ณ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค๋ฅผ ๋ณด์ฅํ์ฌ ๊ฐ๋ฐ์์ ํจ์จ์ฑ๊ณผ ์ ํ ์์ ์ฑ์ ํฅ์์ํต๋๋ค.
๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น
๋ชจ๋ํฐ๋ง๊ณผ ๋ก๊น ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ธํ๋ผ ์ํ์ ๋ํ ํ์์ ์ธ ๊ฐ์์ฑ์ ์ ๊ณตํฉ๋๋ค. ํจ๊ณผ์ ์ธ ๋ชจ๋ํฐ๋ง์ ์ค์๊ฐ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ ์บก์ฒํ๊ณ , ๋ก๊น ์ ๋๋ฒ๊น ์ ์ํ ์์ธํ ๊ธฐ๋ก ๊ธฐ๋ก์ ์ ๊ณตํฉ๋๋ค. ํตํฉ ๊ฐ์์ฑ์ ์๊ฒฉ ๋ถ์ ๋ฐ์ดํฐ(๋ก๊ทธ, ๋ฉํธ๋ฆญ, ์ถ์ )๋ฅผ ํ์ดํ๋ผ์ธ์ ์ง์ ํตํฉํ์ฌ ๋ฐ์ดํฐ ํ์ง ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ ๊ทผ๋ณธ ์์ธ์ ์ ์ ์ ์ผ๋ก ํด๊ฒฐํจ์ผ๋ก์จ ์ด๋ฅผ ํ์ฅํฉ๋๋ค. ๋ชจ๋ํฐ๋ง, ๋ก๊น , ํตํฉ ๊ฐ์์ฑ์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ ์ํ ๋ฌธ์ ํด๊ฒฐ, ๋ค์ดํ์ ์ต์ํ, ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์์ฌ ๊ฒฐ์ ์ ์ง์ํ์ฌ ํ๋ ฅ์ ์ด๊ณ ํจ์จ์ ์ธ DevOps ํ๋ก์ธ์ค๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค.
์ฝ๋ํ ๋ณด์(SaC) / DevSecOps
SaC ๋๋ DevSecOps๋ ๋ณด์ ๊ดํ์ DevOps ํ์ดํ๋ผ์ธ์ ์ง์ ํตํฉํ์ฌ ๋ณด์์ ๊ฐ๋ฐ์ ์ง์์ ์ธ ๋ถ๋ถ์ผ๋ก ๋ง๋ญ๋๋ค. ์ทจ์ฝ์ฑ ๊ฒ์ฌ ๋ฐ ์ข ์์ฑ ๋ถ์๊ณผ ๊ฐ์ ๋ณด์ ๊ฒ์ฌ๊ฐ CI/CD ํ๋ก์ธ์ค ๋ด์์ ์๋ํ๋์ด ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ์๋ณํ ์ ์์ต๋๋ค. ์ฝ๋, ์ธํ๋ผ ๋ฐ ํ๋ก์ธ์ค์ ๋ณด์์ ํฌํจํจ์ผ๋ก์จ DevSecOps๋ ์ํ์ ์ค์ด๊ณ , ๊ท์ ์ค์๋ฅผ ๊ฐํํ๋ฉฐ, ์งํํ๋ ์ํ์ ๋์ํ ์ ์๋ ํ๋ ฅ์ ์ธ ์์คํ ์ ๊ตฌ์ถํฉ๋๋ค.
๋ฐ๋ธ์ต์ค ์๋ช ์ฃผ๊ธฐ์ ๊ณผ์
ํ์ด ๊ฐ๋ฐ, ํตํฉ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ธฐ ์ํด ๋ ธ๋ ฅํ ๋ DevOps ์๋ช ์ฃผ๊ธฐ์๋ ๋ช ๊ฐ์ง ๊ณผ์ ๊ฐ ์์ต๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ฃผ์ ๊ณผ์ ์ ๋๋ค:
๋ฌธํ์ ๋ณํ์ ํ์
๊ฐ์ฅ ํฐ ์ฅ์ ๋ฌผ ์ค ํ๋๋ ํนํ ๊ฐ๋ฐํ๊ณผ ์ด์ํ์ด ์ฌ์ผ๋ก์์ ์ด์๋๋ ๊ธฐ์กด ํ๊ฒฝ์์ ์๊ตฌ๋๋ ๋ฌธํ์ ๋ณํ์ ๋๋ค. ๋ฐ๋ธ์ต์ค๋ก ์ ํํ๋ ค๋ฉด ๋ถ์ ๊ฐ ํ์ ๊ณผ ์ง์์ ์ธ ํ์ต์ ๋ง์๊ฐ์ง์ด ํ์ํ๋ฉฐ, ๊ฐ๋ ฅํ ๋ฆฌ๋์ญ์ ์ง์๊ณผ ๋ช ํํ ์ปค๋ฎค๋์ผ์ด์ ์์ด๋ ์ ํญ์ ๋ถ๋ชํ ์ ์์ต๋๋ค. ๋ฌธํ์ ๋ณํ ์ธ์๋ ๋ฐ๋ธ์ต์ค ํ์ดํ๋ผ์ธ์๋ ์ผ๋ฐ์ ์ผ๋ก CI/CD, ํ ์คํธ ๋ฐ ๋ชจ๋ํฐ๋ง์ ์ํ ์ฌ๋ฌ ๋๊ตฌ๊ฐ ํฌํจ๋๋ฏ๋ก ๋๊ตฌ ๊ณผ๋ถํ๋ก ์ธํ ๋ฌธ์ ๋ ์ข ์ข ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ฅผ ์ํํ๊ฒ ํตํฉํ๋ ๊ฒ์ ๋ณต์กํด์ง ์ ์์ผ๋ฉฐ, ์ ์คํ๊ฒ ๊ด๋ฆฌํ์ง ์์ผ๋ฉด ์ค๋ณต ๋๋ ์ํฌํ๋ก์ฐ ๋นํจ์จ๋ก ์ด์ด์ง ์ ์์ต๋๋ค.
๊ธฐ์ ๊ฒฉ์ฐจ
๋ฐ๋ธ์ต์ค์๋ ์ฝ๋ฉ, ์ธํ๋ผ, ์๋ํ, ํ ์คํธ ๋ฐ ๋ณด์์ ๋ํ ๋ค์ํ ๊ธฐ์ ๊ณผ ์ง์์ด ํ์ํฉ๋๋ค. ์ด๋ฌํ ๊ด๋ฒ์ํ ๊ธฐ์ ์ ํ ํ์์ ๋ชจ๋ ๊ฐ์ถ๊ธฐ๋ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ ์ธ ์ ๋ฌธ์ฑ ๊ฒฉ์ฐจ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ํ์ ํน์ ๊ธฐ์ ์ด ๋ถ์กฑํ๋ฉด ์๋ํ ์์ ์ ์ฐจ์ง์ด ์๊ธฐ๊ณ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ด ์ ํ๋๋ฉฐ ์๋ก์ด ๋๊ตฌ๋ ๊ดํ์ ๋์ ์ด ๋ฆ์ด์ง ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ์ ๊ฒฉ์ฐจ๋ฅผ ํด์ํ๋ ค๋ฉด ์ง์์ ์ธ ๊ต์ก๊ณผ ์๋ จ๋๋ฅผ ๋์ด๊ณ ํ์๋ค์ด ์ง์์ ๊ณต์ ํ๊ณ DevOps ํ์ดํ๋ผ์ธ์ ์ฃผ์ ์์ญ์ ์ ๋ฌธ์ฑ์ ๊ฐ์ถ ์ ์๋ ๋ฌธํ๋ฅผ ์กฐ์ฑํด์ผ ํฉ๋๋ค.
ํ ์คํธ ๋ฐ ํ์ง ๋ณด์ฆ ์๋ํ
๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ํฌ๊ด์ ์ธ ์๋ํ ํ ์คํธ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ ์ด๋ ต๊ณ ์๋นํ ์๊ฐ๊ณผ ๋ฆฌ์์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํ ์คํธ ์ค์ํธ๊ฐ ๋ถ์์ ํ๊ฑฐ๋ ์ ๋๋ก ์ ์ง ๊ด๋ฆฌ๋์ง ์์ผ๋ฉด ๊ฒฐํจ์ด ๋ฐ๊ฒฌ๋์ง ์์ ํ๋ก๋์ ์์ ํ์ง ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์ผ์ชฝ์ผ๋ก ์ด๋ํ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ๋ฉด ๋จ์, ํตํฉ ๋ฐ ๊ธฐ๋ฅ ํ ์คํธ์ ๊ฐ์ด ๊ฐ์น๊ฐ ๋์ ํ ์คํธ์ ์ง์คํ์ฌ ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ์ด๊ธฐ ๋จ๊ณ๋ก ํ ์คํธ๋ฅผ ์ฎ๊ธธ ์ ์์ผ๋ฏ๋ก ๋์์ด ๋ฉ๋๋ค. ํ ์คํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ๊ณ ์ ๋ฐ์ดํธํ๋ฉด ํ์ฌ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ ์ง๋๋ฏ๋ก ๋ณ๋ชฉ ํ์์ ์ต์ํํ๊ณ ํจ์จ์ ์ด๊ณ ์์ ์ ์ธ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ฃผ์ ๋ด์ฉ ๋ฐ DevOps ๋ฆฌ์์ค
๋ฐ๋ธ์ต์ค์ ํต์ฌ ์์น๊ณผ ๊ณํ, ๊ฐ๋ฐ, ํ ์คํธ, ๋ฐฐํฌ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ๋ฐ๋ธ์ต์ค ์๋ช ์ฃผ๊ธฐ ๋ด์ ๋ค์ํ ๋จ๊ณ๋ฅผ ํฌํจํ ๋ฐ๋ธ์ต์ค์ ๊ธฐ๋ณธ ์ฌํญ์ ๋ํด ์ดํด๋ดค์ต๋๋ค. ๋ํ ๊ต๋ ์ข์ธก ํ ์คํธ, ๊ฐ๋ ฅํ ๋ชจ๋ํฐ๋ง ๋ฐ ํตํฉ ๊ฐ์์ฑ, ํ์ ๊ณผ ํจ์จ์ฑ ํฅ์์ ์ํ ๋ณด์์ ์ฝ๋๋ก ํตํฉํ๋ ๋ฑ์ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํด์๋ ๋ ผ์ํ์ต๋๋ค. ๋ํ ๋ฌธํ์ ์ ํญ, ๋๊ตฌ ๊ณผ๋ถํ, ๋ฐ์ดํฐ ํ์ง ์ ์ง ๋ฑ ๋ฐ๋ธ์ต์ค๋ฅผ ๊ตฌํํ ๋ ์ง๋ฉดํ๋ ์ด๋ ค์์ ๋ํด์๋ ์ดํด๋ดค์ต๋๋ค. ์ด๋ฌํ ์์๋ฅผ ์ดํดํจ์ผ๋ก์จ ํ์ ๋ฐ๋ธ์ต์ค์ ๋ณต์ก์ฑ์ ๋ ์ ํ์ํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ํ์ ์ ์ฃผ๋ํ๊ณ ์ํํธ์จ์ด ์ ๊ณต ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์ ๋ฆฌ์์ค๋ฅผ ์ฐธ์กฐํ์ธ์:
- ๊ฐ๋ฐ ํ๊ฒฝ ๊ฐ์
- ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ(๋จ๊ณ ๋ฐ ๊ด๋ฆฌ ๋ชจ๋ธ)
- ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ด๋ ๋ฌด์์ธ๊ฐ์? ๊ฐ์ด๋
์ ํฌ์ blog ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ํ๋ธ ๋ฅผ ์ฐธ์กฐํ์ฌ Couchbase์ DevOps์ ๋ํด ์์ธํ ์์๋ณด์ธ์.