์นด๋๋ฆฌ์๋ ๋์์์ด ๋ ธ๋ํ๋ ์์ ์์ ๋๋ค. ์ด ์๋ค์ ๋ฉํ๊ณผ ์ผ์ฐํํ์์ ๋ฏผ๊ฐํฉ๋๋ค. ๊ณต๊ธฐ ์ค์ ๊ณผ๋ํ ๊ฐ์ค๊ฐ ์กฐ๊ธ๋ง ๋๋๋์ด๋ ์์์ ์๊ฑฐ๋ ์ฃฝ์ ์ ์์ต๋๋ค. ๊ธ๊ด ํ์ฌ์๋ค๊ณผ ๊ด๋ถ๋ค์ ์๋ค์ ๋ฐ๋ฆฌ๊ณ ์ฑ๊ตด์ ํ์ต๋๋ค. ์นด๋๋ฆฌ์๊ฐ ๋ ธ๋ํ๋ ๋์ ๊ทธ๋ค์ ์ผํ ์ ์์์ต๋๋ค. ๋ง์ฝ ๊ทธ๋ค์ด ์กฐ์ฉํด์ง๋ค๋ฉด ๊ด์ฐ์ ๊ฐ์ค๊ฐ ์๋ค๋ ๋ป์ด๊ณ , ๋ ๋์ผ ํ ๋๋ผ๋ ๋ป์ ๋๋ค. ๊ด๋ถ๋ค์ ๊ด์ฐ์์ ์ด์ ๋์ค๊ธฐ ์ํด ์์ ์๋ฅผ ํฌ์ํ์ต๋๋ค.

์ด์ ๋น์ทํ ๊ดํ์ด IT ๋ถ์ผ์๋ ์ ์ฉ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ์ ํ
์คํธ๋ฅผ ๊ฑฐ์ณ ์๋ก์ด ๋ฒ์ ์ ์๋น์ค๋ ์ ํ๋ฆฌ์ผ์ด์
์ ํ๋ก๋์
์ ๋ฐฐํฌํ๋ ํ์ค ์์
์ด ์์ต๋๋ค. ํ
์คํธ ํ๊ฒฝ์ด ๋๋ฌด ๋น์ ์ ์๊ณ , ์๋ํ๋ ํ
์คํธ๋ก๋ ์ํ๋ ๋ชจ๋ ๊ฒ์ ๋ค๋ฃฐ ์ ์์ผ๋ฉฐ, ํ
์คํธ๋ฅผ ํ์ง ์๊ณ ํ์ง์ ํฌ์ํ๋ ๊ฒ์ ์ํํฉ๋๋ค. ์ฌ๊ธฐ์ Canary ๋ฐฐํฌ ๋ฐฉ์์ด ์ ์ฉํฉ๋๋ค. ์ค์ ํ๋ก๋์
ํธ๋ํฝ์ ์ผ๋ถ๋ฅผ ์ ๋ฒ์ ์ผ๋ก ์ ์กํ๋ ๋ฐฉ์์
๋๋ค. ์ ๊ทผ ๋ฐฉ์์ด ๋์์ด ๋ฉ๋๋ค ์์ ํ๊ฒ ์ ๋ฒ์ ํ์ธ ์์ฐ์ ์ํด, ํฐ ๋ชฉํ๋ฅผ ์ํด ์์ ๊ฒ์ ํฌ์ํ๋ ๊ฒ. ๋ ์์ธํ ๋งํ๋ฉด ์ ๊ทผ ๋ฐฉ์์ด ์ด๋ป๊ฒ ์๋ํ๋์ง, ๋ฌด์์ด ์ ์ฉํ์ง, ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. ์๋๋ ์ด ๋ง๋ฅด์ผ๋กํ (), Infobip ํ์ฌ์ ๊ตฌํ ์ฌ๋ก๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์๋๋ ์ด ๋ง๋ฅด์ผ๋กํ โ Infobip์ ์์ ์ํํธ์จ์ด ์์ง๋์ด๋ก 11๋ ๊ฐ ๊ธ์ต ๋ฐ ํต์ ๋ถ์ผ์์ Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ์์ต๋๋ค. ์คํ ์์ค ์ ํ์ ๊ฐ๋ฐํ๊ณ , Atlassian ์ปค๋ฎค๋ํฐ์ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ๋ฉฐ, Atlassian ์ ํ์ฉ ํ๋ฌ๊ทธ์ธ์ ์์ฑํฉ๋๋ค. ํ๋ก๋ฉํ ์ฐ์ค, ๋์ปค, ๋ ๋์ค ์ ๋์ฌ.
์ธํฌ๋น ์๊ฐ
์ํ, ์๋งค์ ์ฒด, ์จ๋ผ์ธ ์์ , ์ด์ก ํ์ฌ๊ฐ SMS, ํธ์, ์ด๋ฉ์ผ, ์์ฑ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ๊ฐ์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์๋๋ก ํ๋ ๊ธ๋ก๋ฒ ํต์ ํ๋ซํผ์ ๋๋ค. ์ด๋ฌํ ์ฌ์ ์์๋ ๊ณ ๊ฐ์ด ์ ๋ ๋ฉ์์ง๋ฅผ ๋ฐ์ ์ ์๋๋ก ์์ ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ด ์ค์ํฉ๋๋ค.
Infobip IT ์ธํ๋ผ๋ฅผ ์์น๋ก ํํํ ๋ด์ฉ:
- ์ ์ธ๊ณ์ 15๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ
- 500๊ฐ์ ๊ณ ์ ํ ์๋น์ค๊ฐ ์ด์ ์ค์ ๋๋ค.
- 2500๊ฐ์ ์๋น์ค ์ธ์คํด์ค๋ ๋ช ๋ น๋ณด๋ค ํจ์ฌ ๋ง์ต๋๋ค.
- ์๊ฐ ํธ๋ํฝ 4,5TB
- 4,5์ต ๊ฐ์ ์ ํ๋ฒํธ
์ฌ์ ์ด ์ฑ์ฅํ๋ฉด์ ์ถ์๋๋ ์ ํ ์๋ ๋์ด๋ฌ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์งํํ๊ณ ์์ต๋๋ค ํ๋ฃจ 60๊ฐ ๋ฆด๋ฆฌ์ค๊ณ ๊ฐ๋ค์ ๋ ๋ง์ ์ ํ๊ถ๊ณผ ์ฑ๋ฅ์ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์ด๋ ค์ด ์ ์ ์๋น์ค๋ ๋ง์๋ฐ ํ์ ์ ๋ค๋ ๊ฒ์ ๋๋ค. ์ค๋ฅ ์์ด ์ด์ ํ๊ฒฝ์์ ์๋ํ ์ ์๋ ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์์ฑํด์ผ ํฉ๋๋ค.
๋ฆด๋ฆฌ์ค
์ฐ๋ฆฌ์ ์ผ๋ฐ์ ์ธ ๋ฆด๋ฆฌ์ค๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๋น์ค A, B, C, D, E๊ฐ ์์ผ๋ฉฐ, ๊ฐ ์๋น์ค๋ ๋ณ๋์ ํ์์ ๊ฐ๋ฐ๋์์ต๋๋ค.

์ด๋ ์์ ์์ ์๋น์ค A์ ํ์ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๊ธฐ๋ก ๊ฒฐ์ ํ์ง๋ง ์๋น์ค B, C, D, E์ ํ์ ๊ทธ ์ฌ์ค์ ๋ชจ๋ฆ
๋๋ค. ์๋น์ค Aํ์ด ์งํํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง ์ต์
์ด ์์ต๋๋ค.
์ํํ ๊ฒ์ ๋๋ค ์ฆ๋ถ ๋ฆด๋ฆฌ์ค: ๋จผ์ ํ ๋ฒ์ ์ ๊ต์ฒดํ ๋ค์ ๋ ๋ฒ์งธ ๋ฒ์ ์ ๊ต์ฒดํฉ๋๋ค.

ํ์ง๋ง ๋ ๋ฒ์งธ ์ต์
์ด ์์ต๋๋ค: ํ ์ถ๊ฐ ์ฉ๋๊ณผ ๊ธฐ๊ณ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค, ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ ๋ค์ ๋ผ์ฐํฐ๋ฅผ ์ ํํ๋ฉด ํด๋น ๋ฒ์ ์ด ํ๋ก๋์
์์ ์๋ํ๊ฒ ๋ฉ๋๋ค.

์ด๋ค ๊ฒฝ์ฐ๋ ๋ฐฐํฌ ํ์๋ ๋ฒ์ ์ ํ
์คํธํ๋๋ผ๋ ๊ฑฐ์ ํญ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์๋์ผ๋ก ํ
์คํธํ ์๋ ์๊ณ , ์๋์ผ๋ก ํ
์คํธํ ์๋ ์๊ณ , ํ
์คํธํ์ง ์์๋ ๋ฉ๋๋ค. ์ด๋ค ๊ฒฝ์ฐ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฐ์ฅ ์ฝ๊ณ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ ์๋ํ๋ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ๋ ๊ฒ์
๋๋ค. ์ค์ง ๊ทธ๋์์ผ ์ฐ๋ฆฌ๋ ํผํด์ ์์ธ์ ๋ค๋ฃจ๊ณ ๋ฐ๋ก์ก์ ์ ์์ต๋๋ค.
๊ทธ๋ผ ์ฐ๋ฆฌ๋ ๋ฌด์์ ์ํ๋๊ฐ?
์ฐ๋ฆฌ๋ ๋ฌธ์ ๋ฅผ ์ํ์ง ์์์. ๋ง์ฝ ๊ณ ๊ฐ์ด ์ฐ๋ฆฌ๋ณด๋ค ๋จผ์ ์ด๋ฅผ ๋ฐ๊ฒฌํ๋ค๋ฉด, ์ฐ๋ฆฌ ํ์ฌ์ ํํ์ด ์์๋ ๊ฒ์ ๋๋ค. ๊ทธ๋์ ์ฐ๋ฆฌ๋ํด์ผํฉ๋๋ค ๊ณ ๊ฐ๋ณด๋ค ๋ ๋น ๋ฅด๊ฒ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ค. ์ฌ์ ์ ์ ๊ทน์ ์ผ๋ก ๋์ํจ์ผ๋ก์จ ํผํด๋ฅผ ์ต์ํํฉ๋๋ค.
๋์์ ์ฐ๋ฆฌ๋ ์ํ๋ค ๋ฐฐํฌ ์๋๋ฅผ ๋์ด๋ค๊ทธ๋์ ์ด ์ผ์ด ํ์ ์คํธ๋ ์ค ์์ด ๋น ๋ฅด๊ณ , ์ฝ๊ณ , ์์ฐ์ค๋ฝ๊ฒ ์ผ์ด๋ ์ ์์ต๋๋ค. ์์ง๋์ด, DevOps ์์ง๋์ด ๋ฐ ํ๋ก๊ทธ๋๋จธ๋ ๋ณดํธ๋ฐ์์ผ ํฉ๋๋ค. ์๋ก์ด ๋ฒ์ ์ ์ถ์ํ๋ ๊ฒ์ ์คํธ๋ ์ค๊ฐ ๋ฉ๋๋ค. ํ์ ์๋ชจํ์ด ์๋๋๋ค. ์ฐ๋ฆฌ๋ ๋ ธ๋ ฅํฉ๋๋ค. ์ธ์ ์์์ ํฉ๋ฆฌ์ ์ผ๋ก ํ์ฉํ๋ค.
๋ฐฐํฌ ๋ฌธ์
๊ณ ๊ฐ ํธ๋ํฝ์ ์์ธกํ ์ ์์ต๋๋ค. ๊ณ ๊ฐ ํธ๋ํฝ์ด ๊ฐ์ฅ ๋ฎ์ ์์ ์ด ์ธ์ ์ธ์ง ์์ธกํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๊ณ ๊ฐ์ด ์ธ์ ์ด๋์ ์บ ํ์ธ์ ์์ํ ์ง๋ ์ ์ ์์ต๋๋ค. ์ค๋ ๋ฐค ์ธ๋์์ ์์๋ ์๋ ์๊ณ , ๋ด์ผ์ ํ์ฝฉ์์ ์์๋ ์๋ ์์ต๋๋ค. ์์ฐจ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ ์ค์ 2์์ ๋ฐฐํฌํ๋๋ผ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ํฅ์ ๋ฐ์ง ์์ ๊ฒ์ด๋ผ๋ ๋ณด์ฅ์ ์์ต๋๋ค.
์ ๊ณต์์ ๋ฌธ์ . ๋ฉ์ ์ ์ ๊ณต๊ธ์ ์ฒด๋ ์ฐ๋ฆฌ์ ํํธ๋์ ๋๋ค. ๋๋ก๋ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ ๋ ์ค๋ฅ๋ฅผ ์ผ์ผํค๋ ๊ฒฐํจ์ด ์์ต๋๋ค.
๋ถ์ฐ ํ. ํด๋ผ์ด์ธํธ์ ๋ฐฑ์๋๋ฅผ ๊ฐ๋ฐํ๋ ํ์ ์๋ก ๋ค๋ฅธ ์๊ฐ๋์ ์์นํด ์์ต๋๋ค. ์ด ๋๋ฌธ์ ๊ทธ๋ค์ ์ข ์ข ์๋ก ํฉ์์ ๋๋ฌํ์ง ๋ชปํฉ๋๋ค.
๋ฐ์ดํฐ ์ผํฐ๋ ์คํ ์ด์ง์์ ๋ณต์ ๋ ์ ์์ต๋๋ค.. ํ ๋ฐ์ดํฐ ์ผํฐ์๋ 200๊ฐ์ ๋์ด ์๋๋ฐ, ์๋๋ฐ์ค์์ ์ด๋ฅผ ์ถ์ ํ๋ ๊ฒ์กฐ์ฐจ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
๋ค์ดํ์์ฉ๋ฉํ ์ ์๋ค! ์๋ฅผ ๋ค์ด, 99,99%์ ์๊ฐ ๋์ ์์ ํ๋ค๋ฉด ํ์ฉ ๊ฐ๋ฅํ ๊ฐ์ฉ์ฑ ์์ค(์ค๋ฅ ์์ฐ)์ ๊ฐ๊ฒ ๋๊ณ , ๋๋จธ์ง ๋น์จ์ "์ค์ํ ๊ถ๋ฆฌ"์ ๋๋ค. 100%์ ์์ ์ฑ์ ๋ฌ์ฑํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ์ง๋ง, ์ถฉ๋๊ณผ ๊ฐ๋ ์ค์ง๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
ํด๋์ ์๋ฃจ์
๋ฒ๊ทธ ์์ด ์ฝ๋๋ฅผ ์์ฑํ์ธ์. ์ ๊ฐ ์ ์ ๊ฐ๋ฐ์์์ ๋๋ ๊ด๋ฆฌ์๊ฐ ์ฐพ์์ ๋ฒ๊ทธ ์์ด ์ถ์ํด ๋ฌ๋ผ๊ณ ๋ถํํ๊ณค ํ์ง๋ง, ํญ์ ๊ทธ๋ ๊ฒ ํ ์ ์๋ ๊ฒ์ ์๋์์ต๋๋ค.
ํ ์คํธ ์์ฑ. ํ ์คํธ๋ ํจ๊ณผ๊ฐ ์์ง๋ง ๋๋ก๋ ํ์ฌ๊ฐ ์ํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง์ง ์์ ์๋ ์์ต๋๋ค. ํ ์คํธ์ ๋ชฉ์ ์ ๋์ ๋ฒ๋ ๊ฒ์ด ์๋๋๋ค.
๋ฌด๋ ํ ์คํธ. Infobip์์ 3,5๋ ๋ฐ ๋์ ์ผํ๋ฉด์ ๋ฌด๋์ ์ํ๊ฐ ์ ์๊ณผ ์ผ๋ถ๋ผ๋ ์ผ์นํ๋ ๊ฒ์ ๋ณธ ์ ์ด ์์ต๋๋ค.

์ฐ๋ฆฌ๋ ์ฌ์ง์ด ์ด ์์ด๋์ด๋ฅผ ๋ฐ์ ์ํค๋ ค๊ณ ๋
ธ๋ ฅํ์ต๋๋ค. ๋จผ์ ๋ฌด๋๋ฅผ ๋ง๋ค๊ณ , ๊ทธ๋ค์ ์ฌ์ ์ ์์ ํ๊ณ , ๊ทธ๋ค์ ์ฌ์ ์ ์์ ์ฌ์ ์ ์์ ํ์ต๋๋ค. ํ์ง๋ง ๊ทธ๊ฒ๋ ๋์์ด ๋์ง ์์์ต๋๋ค. ๊ทธ๋ค์ ํ์์๋ ์๋๊ฐ ๋์ง ๋ชปํ์ต๋๋ค. ์คํ
์ด์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ์ ์ธ ๊ธฐ๋ฅ์ ๋ณด์ฅํ ์ ์์ง๋ง, ๋ถํ๊ฐ ๊ฑธ๋ฆด ๋ ์ด๋ป๊ฒ ์๋ํ ์ง ์ ์ ์์ต๋๋ค.
ํด๋น ๋ฆด๋ฆฌ์ค๋ ํด๋น ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฐ๋ฐํ ์ฌ๋์ ์ํด ์คํ๋ฉ๋๋ค. ์ข์ ๊ดํ์ ๋๋ค. ๋๊ตฐ๊ฐ ๋๊ธ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋๋ผ๋ ํ๋ก๋์ ์ ์ฆ์ ์ถ๊ฐ๋ฉ๋๋ค. ์ด๋ ์ฑ ์๊ฐ์ ํค์ฐ๊ณ ๋ฐ์ํ ๋ณํ๋ฅผ ๊ธฐ์ตํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ถ๊ฐ์ ์ธ ํฉ๋ณ์ฆ๋ ์์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋ชจ๋ ๊ฒ์ ์๋์ผ๋ก ํ์ธํ๋ ๋ฐ ๋ง์ ์๊ฐ์ ๋ค์ด๋ ๊ฒ์ ์คํธ๋ ์ค๊ฐ ๋ฉ๋๋ค.
์กฐ์ ๋ ๋ฆด๋ฆฌ์ค. ์ด ์ต์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ฒฝ์์ง์ด ์ ์ํฉ๋๋ค. "๋งค์ผ ์๋ก์ด ๋ฒ์ ์ ํ ์คํธํ๊ณ ์ถ๊ฐํ๋ ๋ฐ ๋์ํฉ์๋ค." ์ด ๋ฐฉ๋ฒ์ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ํญ์ ๋ค๋ฅธ ์ฌ๋์ ๊ธฐ๋ค๋ฆฌ๋ ํ์ด ์๊ฑฐ๋, ๊ทธ ๋ฐ๋์ ๊ฒฝ์ฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค.
์ฐ๊ธฐ ํ ์คํธ
๋ฐฐํฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๋๋ค. ํ A๊ฐ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๋ ค๊ณ ํ ๋์ ์ด์ ์๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ชจํฌ ํ ์คํธ๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ , ํ์ ํ๋์ ์ธ์คํด์ค๋ฅผ ํ๋ก๋์ ์ ๋ฐฐํฌํฉ๋๋ค. ๋ชจ์ ์ธ์คํด์ค์ ๋ํ ๋ฉ์์ง ์ค์ ๊ตํต ์ํฉ์ ์๋ฎฌ๋ ์ด์ ํฉ๋๋ค์ผ์์ ์ธ ๊ตํต๊ณผ ์ผ์นํ๋๋ก ํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ํํ๊ฒ ์งํ๋๋ค๋ฉด, ํ์ ์๋ก์ด ๋ฒ์ ์ ์ฌ์ฉ์ ํธ๋ํฝ์ผ๋ก ์ ํํ ๊ฒ์ ๋๋ค.

๋ ๋ฒ์งธ ์ต์
์ ๋ฐฐํฌํ๋ ๊ฒ์
๋๋ค ์ถ๊ฐ ์ฒ ๋ถ ํจ์ . ํ์ ์ด๋ฅผ ํ๋ก๋์
ํ๊ฒฝ์์ ํ
์คํธํ ํ, ๋ค์ ์ ํํ์ฌ ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํฉ๋๋ค.

์ฐ๊ธฐ ํ
์คํธ์ ๋จ์ :
- ํ ์คํธ๋ ์ ๋ขฐํ ์ ์์ต๋๋ค. ํ๋ก๋์ ๊ณผ ๋์ผํ ํธ๋ํฝ์ ์ด๋์ ์ป์ ์ ์๋์? ์ด์ ๋ ์ผ์ฃผ์ผ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ํญ์ ํ์ฌ ๋ฐ์ดํฐ์ ์ผ์นํ๋ ๊ฒ์ ์๋๋๋ค.
- ์ ์งํ๊ธฐ ์ด๋ ต๋ค. ํ ์คํธ ๊ณ์ ์ ์ ์ง ๊ด๋ฆฌํ๊ณ , ํ์ฑ ๋ ์ฝ๋๊ฐ ์ ์ฅ์๋ก ์ ์ก๋ ๋๋ง๋ค ๋ฐฐํฌ ์ ์ ๊ณ์ ์ ์ง์์ ์ผ๋ก ์ฌ์ค์ ํด์ผ ํฉ๋๋ค. ์๋๋ฐ์ค์์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๊ฒ๋ณด๋ค ๋ ์ด๋ ต์ต๋๋ค.
์ฌ๊ธฐ์ ์ ์ผํ ๋ณด๋์ค๋ ์ฑ๋ฅ์ ํ์ธํ ์ ์์ต๋๋ค.
์นด๋๋ฆฌ์ ๋ฆด๋ฆฌ์ค
์ค๋ชจํฌ ํ ์คํธ์ ๋จ์ ์ผ๋ก ์ธํด ์ฐ๋ฆฌ๋ ์นด๋๋ฆฌ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค.
๊ด๋ถ๋ค์ด ์นด๋๋ฆฌ์๋ฅผ ์ด์ฉํด ๊ฐ์ค ์์น๋ฅผ ์ธก์ ํ๋ ๊ฒ๊ณผ ๋น์ทํ ๊ดํ์ด IT ๋ถ์ผ์๋ ๋์ ๋์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์ฌ๋ณด๋ด๊ณ ์์ต๋๋ค ์ ๋ฒ์ ์ ๋ํ ์ค์ ํ๋ก๋์ ํธ๋ํฝSLA(์๋น์ค ์์ค ๊ณ์ฝ)๋ฅผ ์ถฉ์กฑํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ ๋์. SLA๋ ์ฐ๋ฆฌ๊ฐ 1๋ ์ ํ ๋ฒ(๋๋ ๋ค๋ฅธ ๊ธฐ๊ฐ ๋์) ์ฌ์ฉํ ์ ์๋ "์ค์๋ฅผ ํ ๊ถ๋ฆฌ"์ ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ ์งํ๋๋ค๋ฉด, ๋ ๋ง์ ํธ๋ํฝ์ ์ถ๊ฐํ ๊ฒ์ ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ด์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ๋๋ค.

๊ตฌํ ๋ฐ ๋์์ค
์นด๋๋ฆฌ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ๋์? ์๋ฅผ ๋ค์ด, ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๋ฆฌ ์๋น์ค๋ฅผ ํตํด ๋ฉ์์ง๋ฅผ ๋ณด๋ ๋๋ค.

๋ฐฐํฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋ฐธ๋ฐ์์์ ํ๋์ ๋
ธ๋๋ฅผ ์ ๊ฑฐํ๊ณ (1), ๋ฒ์ ์ ๋ณ๊ฒฝํ๊ณ (2) ๋ณ๋๋ก ์ฝ๊ฐ์ ํธ๋ํฝ์ ์์ํฉ๋๋ค(3).

์ ๋ฐ์ ์ผ๋ก, ์ฌ์ฉ์ ํ ๋ช
์ด ๋ถ๋ง์กฑ์ค๋ฌ์ํ๋๋ผ๋ ๊ทธ๋ฃน ๋ด ๋ชจ๋ ๊ตฌ์ฑ์์ด ํ๋ณตํ ๊ฒ์
๋๋ค. ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ๋ค๋ฉด, ์ฐ๋ฆฌ๋ ๋ชจ๋ ๋ฒ์ ์ ๋ฐ๊ฟ๋๋ค.

๋๋ถ๋ถ์ ๊ฒฝ์ฐ ๋ง์ดํฌ๋ก์๋น์ค์์ ์ด๊ฒ์ด ์ด๋ป๊ฒ ๋ํ๋๋์ง ๊ฐ๋ต์ ์ผ๋ก ๋ณด์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
์๋น์ค ๊ฒ์๊ณผ S1N1, S2๋ผ๋ ๋ ๊ฐ์ง ์๋น์ค๊ฐ ๋ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์๋น์ค(S1N1)๋ ์์ ์ Service Discovery์ ์๋ฆฌ๊ณ , Service Discovery๋ ์ด๋ฅผ ๊ธฐ์ตํฉ๋๋ค. ๋ ๊ฐ์ ๋ ธ๋(S2N1 ๋ฐ S2N2)๊ฐ ์๋ ๋ ๋ฒ์งธ ์๋น์ค๋ ์์ ์ ์๋น์ค ๊ฒ์์ ์๋ฆฝ๋๋ค.

๋ ๋ฒ์งธ ์๋น์ค๋ ์ฒซ ๋ฒ์งธ ์๋น์ค์ ์๋ฒ ์ญํ ์ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์๋น์ค ๊ฒ์์์ ์๋ฒ์ ๋ํ ์ ๋ณด๋ฅผ ์์ฒญํ๊ณ , ์ ๋ณด๋ฅผ ๋ฐ์ผ๋ฉด ์๋ฒ๋ฅผ ๊ฒ์ํ์ฌ ์ ๊ฒํฉ๋๋ค("์ํ ์ ๊ฒ"). ๊ทธ๊ฐ ํ์ธํ๋ฉด ๊ทธ๋ค์๊ฒ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๊ฒ์ด๋ค.
๋๊ตฐ๊ฐ๊ฐ ๋ ๋ฒ์งธ ์๋น์ค์ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๊ณ ์ถ์ ๋, Service Discovery์ ๋ ๋ฒ์งธ ๋ ธ๋๊ฐ ์นด๋๋ฆฌ์ ๋ ธ๋๊ฐ ๋ ๊ฒ์ด๋ผ๊ณ ์๋ ค์ค๋๋ค. ๋ฐฐํฌ๊ฐ ๊ณง ์์๋๊ธฐ ๋๋ฌธ์ ํธ๋ํฝ์ด ์ค์ด๋ญ๋๋ค. ๋ฐธ๋ฐ์ ์๋์์ ์นด๋๋ฆฌ์ ๋ ธ๋๋ฅผ ์ ๊ฑฐํ๋ฉด ์ฒซ ๋ฒ์งธ ์๋น์ค๋ ํด๋น ๋ ธ๋๋ก ํธ๋ํฝ์ ์ ์กํ์ง ์์ต๋๋ค.

๋ฒ์ ์ ๋ณ๊ฒฝํ๋ฉด Service Discovery์์ ๋ ๋ฒ์งธ ๋
ธ๋๊ฐ ์ด์ ์นด๋๋ฆฌ์๋ผ๋ ๊ฒ์ ์๊ฒ ๋๋ฏ๋ก ๋ถํ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค(5%). ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ๋ค๋ฉด ๋ฒ์ ์ ๋ณ๊ฒฝํ๊ณ , ๋ก๋๋ฅผ ๋ฐํํ๊ณ ์์
์ ๊ณ์ํฉ๋๋ค.
์ด ๋ชจ๋ ๊ฒ์ ๊ตฌํํ๋ ค๋ฉด ๋ค์์ด ํ์ํฉ๋๋ค.
- ๊ท ํ;
- ๋ชจ๋ํฐ๋ง๊ฐ ์ฌ์ฉ์๊ฐ ๋ฌด์์ ๊ธฐ๋ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ ์๋น์ค๊ฐ ์ด๋ป๊ฒ ์์ธํ ์๋ํ๋์ง ์๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
- ๋ฒ์ ๋ถ์, ์๋ก์ด ๋ฒ์ ์ด ์ค์ ์ด์ ํ๊ฒฝ์์ ์ผ๋ง๋ ์ ์๋ํ ์ง ํ์ ํฉ๋๋ค.
- ์คํ ๋ฉ์ด์ โ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ์์ฑํฉ๋๋ค.

๊ท ํ
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ๋จผ์ ์๊ฐํด์ผ ํ ์ ์ ๋๋ค. ๊ท ํ ์ก๋ ์ ๋ต์ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค.
๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ ๋ ธ๋๋ ํญ์ ์นด๋๋ฆฌ์์ ๋๋ค. ์ด ๋ ธ๋๋ ํญ์ ํธ๋ํฝ์ด ์ ๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ์๋ถํฐ ๋ฐฐํฌ๋ฅผ ์์ํฉ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐฐํฌ ์ ๊ณผ ๋ฐฐํฌ ์ค์ ์๋์ ๋น๊ตํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ค๋ฅ์ ์๊ฐ ๋ ๋ฐฐ๋ก ๋์ด๋๋ฉด ํผํด๋ ๋ ๋ฐฐ๋ก ๋์ด๋ฉ๋๋ค.
Canary ๋ ธ๋๋ ๋ฐฐํฌ ์ค์ ์ค์ ๋ฉ๋๋ค.. ๋ฐฐํฌ๊ฐ ์๋ฃ๋๊ณ ์บ๋๋ฆฌ ๋ ธ๋ ์ํ๋ฅผ ํด์ ํ๋ฉด ํธ๋ํฝ ๊ท ํ์ด ๋ณต์๋ฉ๋๋ค. ์๋์ฐจ๊ฐ ์ ์ผ๋ฉด ๊ณตํํ ๋ถ๋ฐฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
๋ชจ๋ํฐ๋ง
์นด๋๋ฆฌ์ ๋ฐฉ์ถ์ ์ด์. ์ฐ๋ฆฌ๋ ์ ์ด๋ฐ ์ผ์ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ธก์ ํญ๋ชฉ์ ์์งํ๊ณ ์ถ์์ง ์ ํํ ์ดํดํด์ผ ํฉ๋๋ค.
๋น์ฌ์ ์๋น์ค๋ฅผ ํตํด ์์งํ ์งํ์ ์์ ๋๋ค.
- ์ค๋ฅ ์๋ก๊ทธ์ ๊ธฐ๋ก๋ฉ๋๋ค. ์ด๋ ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํ๊ณ ์๋ค๋ ๋ถ๋ช ํ ํ์์ ๋๋ค. ์ ๋ฐ์ ์ผ๋ก ์ด๋ ์ข์ ์งํ์ ๋๋ค.
- ์ฟผ๋ฆฌ ์คํ ์๊ฐ (์จ์ด ์์). ๋ชจ๋๊ฐ ๋น ๋ฅด๊ฒ ์ผํ๊ณ ์ถ์ดํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์ฌ๋์ด ์ด ์งํ๋ฅผ ๋ชจ๋ํฐ๋งํฉ๋๋ค.
- ๋๊ธฐ์ด ํฌ๊ธฐ (์ฒ๋ฆฌ๋).
- ์ด๋น ์ฑ๊ณต์ ์ธ ์๋ต ์.
- ๋ชจ๋ ์์ฒญ์ 95%์ ๋ํ ์คํ ์๊ฐ์ ๋๋ค.
- ์ฌ์ ์งํ: ํน์ ๊ธฐ๊ฐ ๋์ ๊ธฐ์ ์ด ์ผ๋ง๋ ๋ง์ ์์ต์ ์ฐฝ์ถํ๋์ง ๋๋ ์ฌ์ฉ์ ์ดํ๋ฅ . ์ด๋ฐ ์ธก์ ํญ๋ชฉ์ ์์ง๋์ด๊ฐ ์ถ๊ฐํ ์ธก์ ํญ๋ชฉ๋ณด๋ค ์๋ก์ด ๋ฒ์ ์ ๋ ์ค์ํ ์ ์์ต๋๋ค.
๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ชจ๋ํฐ๋ง ์์คํ ์ ์ธก์ ํญ๋ชฉ ์์ ๋๋ค.
์นด์ดํฐ. ์๋ฅผ ๋ค์ด, ์ค๋ฅ์ ์๊ฐ ์ฆ๊ฐํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฐ์ ๋๋ค. ์ด ์งํ๋ ๋ณด๊ฐํ๊ธฐ ์ฝ๊ณ ๊ทธ๋ํ๋ฅผ ์ฐ๊ตฌํ๊ธฐ ์ฝ์ต๋๋ค. ์ด์ ๋ ์ค๋ฅ๊ฐ 2๊ฐ์๊ณ , ์ค๋์ 500๊ฐ์๋๋ฐ, ์ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ ์๋ฏธํฉ๋๋ค.
๋ถ๋น ๋๋ ์ด๋น ์ค๋ฅ ์๋ Counter๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐํ ์ ์๋ ๊ฐ์ฅ ์ค์ํ ์งํ์ ๋๋ค. ์ด ๋ฐ์ดํฐ๋ ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ์์คํ ์ฑ๋ฅ์ ๋ํ ๋ช ํํ ๊ทธ๋ฆผ์ ์ ๊ณตํฉ๋๋ค. ๋ ๊ฐ์ง ๋ฒ์ ์ ํ๋ก๋์ ์์คํ ์ ๋ํ ์ด๋น ์ค๋ฅ ์๋ฅผ ๋ํ๋ธ ๊ทธ๋ํ์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.

์ฒซ ๋ฒ์งธ ๋ฒ์ ์๋ ๋ฒ๊ทธ๊ฐ ๊ฑฐ์ ์์๋๋ฐ, ์๋ง๋ ๊ฐ์ฌ๊ฐ ์ ๋๋ก ์๋ํ์ง ์์์ ๊ฒ์
๋๋ค. ๋ ๋ฒ์งธ ๋ฒ์ ์์๋ ๋ชจ๋ ๊ฒ์ด ํจ์ฌ ๋ ๋์ฉ๋๋ค. ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋ถ๋ช
ํ๋ฏ๋ก ์ด ๋ฒ์ ์ ๋กค๋ฐฑํด์ผ ํฉ๋๋ค.
๊ณ๋๊ธฐ. ๋ฉํธ๋ฆญ์ ์นด์ดํฐ์ ์ ์ฌํ์ง๋ง ์ฆ๊ฐํ๊ฑฐ๋ ๊ฐ์ํ ์ ์๋ ๊ฐ์ ๊ธฐ๋กํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฟผ๋ฆฌ ์คํ ์๊ฐ์ด๋ ๋๊ธฐ์ด ํฌ๊ธฐ์ ๋๋ค.
๊ทธ๋ํ๋ ์๋ต ์๊ฐ(๋๊ธฐ ์๊ฐ)์ ์๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด ๋ ๋ฒ์ ์ด ๋น์ทํ๊ณ ์์ ํ ์ ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ํ์ง๋ง ์์ธํ ์ดํด๋ณด๋ฉด ํฌ๊ธฐ๊ฐ ์ด๋ป๊ฒ ๋ณํ๋์ง ๋ณผ ์ ์์ต๋๋ค. ์ฌ์ฉ์๋ฅผ ์ถ๊ฐํ ๋ ์ฟผ๋ฆฌ ์คํ ์๊ฐ์ด ์ฆ๊ฐํ๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฐ๋ก ์ ์ ์์ต๋๋ค. ์ด๋ฐ ์ผ์ ์ด์ ์ ์ผ์ด๋ ์ ์ด ์์ต๋๋ค.

์์ฝ. ์ฌ์
์ ์์ด์ ๊ฐ์ฅ ์ค์ํ ์งํ ์ค ํ๋๊ฐ ๋ฐฑ๋ถ์์์
๋๋ค. ์ด ์งํ๋ ๋ค์์ ๋ณด์ฌ์ค๋๋ค. 95%์ ๊ฒฝ์ฐ ์ฐ๋ฆฌ์ ์์คํ
์ ์ฐ๋ฆฌ๊ฐ ์ํ๋ ๋๋ก ์๋ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ชจ๋ ๊ฒ์ด ์ผ๋ง๋ ์ข๊ณ ๋์์ง์ ๋ํ ์ผ๋ฐ์ ์ธ ์ถ์ธ๋ฅผ ์ดํดํ๊ธฐ ๋๋ฌธ์ ์ด๋๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฐ์๋ค์ผ ์ ์์ต๋๋ค.
๋๊ตฌ
ELK ์คํ. Elasticsearch๋ฅผ ์ฌ์ฉํ์ฌ ์นด๋๋ฆฌ์๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ์นด๋๋ฆฌ์์ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ๊ฐ๋จํ API ํธ์ถ์ ํตํด ํน์ ์์ ์ ์ค๋ฅ ์๋ฅผ ์์๋ด๊ณ ์ด์ ๊ธฐ๊ฐ๊ณผ ๋น๊ตํ ์ ์์ต๋๋ค. GET /applg/_cunt?q=level:errr.
ํ๋ก ๋ฉํ ์ฐ์ค. Infobip์์ ์ข์ ์ฑ๊ณผ๋ฅผ ๊ฑฐ๋์์ต๋๋ค. ๋ ์ด๋ธ์ ์ฌ์ฉํ๋ฏ๋ก ๋ค์ฐจ์ ์ธก์ ํญ๋ชฉ์ ๊ตฌํํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค level, instance, service, ์ด๋ค์ ํ๋์ ์์คํ
์ผ๋ก ๊ฒฐํฉํฉ๋๋ค. ์ ๋์์ผ๋ก offset ์๋ฅผ ๋ค์ด, ๋จ ํ๋์ ๋ช
๋ น์ผ๋ก ์ผ์ฃผ์ผ ์ ์๋์ ๊ฐ์ ๋ณผ ์ ์์ต๋๋ค. GET /api/v1/query?query={query}์ด๋์์ {query}:
rate(logback_appender_total{
level="error",
instance=~"$instance"
}[5m] offset $offset_value)
๋ฒ์ ๋ถ์
๋ฒ์ ๋ถ์์๋ ์ฌ๋ฌ ๊ฐ์ง ์ ๋ต์ด ์์ต๋๋ค.
์นด๋๋ฆฌ์ ๋ ธ๋์ ๋ํ ๋ฉํธ๋ฆญ๋ง ๋ด ๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ์ต์ ์ค ํ๋๋ ์๋ก์ด ๋ฒ์ ์ ๋ฐฐํฌํ๊ณ ์๋ ๋ฐฉ์์ ์ฐ๊ตฌํ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง ์ด๋ ์์ง๋์ด๊ฐ ๋ก๊ทธ๋ฅผ ์ฐ๊ตฌํ๊ณ , ๋์์์ด ๋ถ์ํ๊ฒ ํ์ด์ง๋ฅผ ๋ค์ ๋ก๋ํ๊ธฐ ์์ํ๋ค๋ฉด, ์ด ์๋ฃจ์ ์ ๋ค๋ฅธ ์๋ฃจ์ ๊ณผ ๋ค๋ฅด์ง ์์ต๋๋ค.
์บ๋๋ฆฌ ๋ ธ๋๋ ๋ค๋ฅธ ๋ ธ๋์ ๋น๊ต๋ฉ๋๋ค.. ์ด๋ ์ต๋ ํธ๋ํฝ์ผ๋ก ์คํ ์ค์ธ ๋ค๋ฅธ ์ธ์คํด์ค์ ๋น๊ตํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํธ๋ํฝ์ด ์ ์ ๋ ์ํฉ์ด ์ค์ ์ธ์คํด์ค๋ณด๋ค ๋ ๋์๊ฑฐ๋ ๋์์ง์ง ์๋๋ค๋ฉด ๋ญ๊ฐ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ๋๋ค.
์นด๋๋ฆฌ์ ๋ ธ๋๋ ๊ณผ๊ฑฐ์ ์์ ๊ณผ ๋น๊ต๋ฉ๋๋ค. ์นด๋๋ฆฌ์์ ํ ๋น๋ ๋ ธ๋๋ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ์ ๋น๊ตํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ์ฃผ์ผ ์ ๊น์ง๋ง ํด๋ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์๋ค๋ฉด ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฌ ์ํฉ์ ํ์ ํ ์ ์์ต๋๋ค.
์คํ ๋ฉ์ด์
์์ง๋์ด๊ฐ ์๋ ๋น๊ต์ ์ฝ๋งค์ด์ง ์๋๋ก ํ๊ธฐ ์ํด ์๋ํ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์์ํ์;
- ๋ฐธ๋ฐ์ ์๋์์ ๋ ธ๋๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- ์นด๋๋ฆฌ์ ๋ ธ๋๋ฅผ ์ค์นํฉ๋๋ค.
- ์ฐ๋ฆฌ๋ ์ ํ๋ ์์ ๊ตํต๋์ผ๋ก ๋ฐธ๋ฐ์๋ฅผ ์ผญ๋๋ค.
- ๋น๊ต.

์ด ๋จ๊ณ์์ ์ฐ๋ฆฌ๋ ๋ค์์ ๊ตฌํํฉ๋๋ค. ์๋ ๋น๊ต. Jenkins์ ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ ํ์ ํ์ธํ๋ ๊ฒ๋ณด๋ค ์ด๋ค ๋ชจ์ต์ผ์ง, ๊ทธ๋ฆฌ๊ณ ์ ๋ ๋์์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ด๊ฒ์ Groovy๋ก ๊ฐ๋ ํ์ดํ๋ผ์ธ์ ๋๋ค.
while (System.currentTimeMillis() < endCanaryTs) {
def isOk = compare(srv, canary, time, base, offset, metrics)
if (isOk) {
sleep DEFAULT SLEEP
} else {
echo "Canary failed, need to revert"
return false
}
}
์ฌ๊ธฐ ์ฌ์ดํด์์ ์ฐ๋ฆฌ๋ ํ ์๊ฐ ๋ด์ ์๋ก์ด ๋
ธ๋๋ฅผ ๋น๊ตํ ๊ฒ์ด๋ผ๊ณ ์ง์ ํฉ๋๋ค. ์นด๋๋ฆฌ์ ํ๋ก์ธ์ค๊ฐ ์์ง ์๋ฃ๋์ง ์์๋ค๋ฉด ํจ์๋ฅผ ํธ์ถํฉ๋๋ค. ๊ทธ๋
๋ ๋ชจ๋ ๊ฒ์ด ์ข์์ง ๋์์ง ๋งํด์ค๋๋ค. def isOk = compare(srv, canary, time, base, offset, metrics).
๋ชจ๋ ๊ฒ์ด ์ข๋ค๋ฉด - sleep DEFAULT SLEEP์๋ฅผ ๋ค์ด, ์ ๊น ๋ฉ์ถ๊ณ ๊ณ์ํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ข
๋ฃํฉ๋๋ค. ๋ฐฐํฌ๊ฐ ์คํจํ์ต๋๋ค.
์งํ์ ๋ํ ์ค๋ช
์
๋๋ค. ํจ์๊ฐ ์ด๋ป๊ฒ ์๊ฒผ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. compare DSL์ ์๋ก ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
metric(
'errorCounts',
'rate(errorCounts{node=~"$canaryInst"}[5m] offset $offset)',
{ baseValue, canaryValue ->
if (canaryValue > baseValue * 1.3) return false
return true
}
)
์ค๋ฅ ์๋ฅผ ๋น๊ตํ๊ณ ์ง๋ 5๋ถ ๋์ ์ด๋น ์ค๋ฅ ์๋ฅผ ์๊ณ ์ถ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
๋ ๊ฐ์ง ๊ฐ์ด ์์ต๋๋ค. ๊ธฐ๋ณธ ๋
ธ๋์ ์นด๋๋ฆฌ์ ๋
ธ๋์
๋๋ค. ์นด๋๋ฆฌ์ ๋
ธ๋์ ๊ฐ์ ํ์ฌ์
๋๋ค. ๊ธฐ์ด์ ์ธ - baseValue โ ์ด๋ ๋ค๋ฅธ ๋ชจ๋ ๋น ์นด๋๋ฆฌ ๋
ธ๋์ ๊ฐ์
๋๋ค. ์ฐ๋ฆฌ๋ ๊ฒฝํ๊ณผ ๊ด์ฐฐ์ ๋ฐํ์ผ๋ก ์ ํ ๊ณต์์ ์ฌ์ฉํด ๊ฐ์ ์๋ก ๋น๊ตํฉ๋๋ค. ๊ฐ์ด canaryValue ๋์๋ฉด ๋ฐฐํฌ์ ์คํจํ๊ณ ๋กค๋ฐฑํฉ๋๋ค.
์ ์ด ๋ชจ๋ ๊ฒ์ด ํ์ํ๊ฐ์?
์ฌ๋์ ์๋ฐฑ, ์์ฒ ๊ฐ์ ์งํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.ํนํ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด์์. ์๋ ๋น๊ต๋ฅผ ํตํด ๋ชจ๋ ์งํ๋ฅผ ํ์ธํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ํ๊ฒ ์๋ฆผ์ ๋ฐ์ ์ ์์ต๋๋ค. ์๋ฆผ ์๊ฐ์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ง๋ 2์ด ๋์ ๋ฌด์จ ์ผ์ด ๋ฐ์ํ๋๋ผ๋ 15๋ถ ์ ์ ๋ฐ์ํ ์ผ๋ณด๋ค ํผํด๊ฐ ํฌ์ง ์์ ๊ฒ์ ๋๋ค. ๋๊ตฐ๊ฐ ๋ฌธ์ ๋ฅผ ์์์ฐจ๋ฆฌ๊ณ ์ง์ํ์ ๊ธ์ ์ฐ๊ณ ์ง์ํ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ ๋์ฏค์ด๋ฉด ๊ณ ๊ฐ์ ์์ ์๋ ์์ต๋๋ค.
ํ๋ก์ธ์ค๊ฐ ์ฑ๊ณต์ ์ด๊ณ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ผ๋ฉด ๋ค๋ฅธ ๋ชจ๋ ๋ ธ๋๋ฅผ ์๋์ผ๋ก ๋ฐฐํฌํฉ๋๋ค. ์ด ๊ธฐ๊ฐ ๋์ ์์ง๋์ด๋ ์๋ฌด๊ฒ๋ ํ์ง ์์ต๋๋ค. ์นด๋๋ฆฌ์๋ฅผ ์ถ์ํ ํ์์ผ ์ด๋ค ์งํ๋ฅผ ์ฌ์ฉํ ์ง, ๋น๊ต์ ์ผ๋ง๋ ์ค๋ ์๊ฐ์ ํ ์ ํ ์ง, ์ด๋ค ์ ๋ต์ ์ฌ์ฉํ ์ง ๊ฒฐ์ ํฉ๋๋ค.

๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์๋์ผ๋ก ์นด๋๋ฆฌ์ ๋
ธ๋๋ฅผ ๋กค๋ฐฑํ๊ณ , ์ด์ ๋ฒ์ ์์ ์์
ํ๊ณ ๋ฐ๊ฒฌ๋ ์ค๋ฅ๋ฅผ ์์ ํฉ๋๋ค. ์งํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๊ฒ ์ฐพ์ ์ ์๊ณ , ์ ๋ฒ์ ์ผ๋ก ์ธํ ํผํด๋ ํ์ธํ ์ ์์ต๋๋ค.
์ฅ์ ๋ฌผ
๋ฌผ๋ก , ์ด๋ฅผ ๊ตฌํํ๋ ๊ฒ์ ์ฝ์ง ์์ต๋๋ค. ์ฐ์ ์ ์ผ๋ก ํ์ํ ๊ฒ์ ์ผ๋ฐ ๋ชจ๋ํฐ๋ง ์์คํ . ์์ง๋์ด๋ ์์ฒด ์งํ๋ฅผ ๊ฐ๊ณ , ์ง์ ๋ฐ ๋ถ์๊ฐ๋ ๋ค๋ฅธ ์งํ๋ฅผ ๊ฐ๊ณ , ๊ธฐ์ ์ ์ธ ๋ฒ์งธ ์งํ๋ฅผ ๊ฐ์ต๋๋ค. ๊ณตํต ์์คํ ์ ๊ธฐ์ ๊ณผ ๊ฐ๋ฐ ๋ถ์ผ์์ ์ฌ์ฉํ๋ ๊ณตํต ์ธ์ด์ ๋๋ค.
์ค์ ๋ก ํ ์คํธํด๋ด์ผ๊ฒ ๋ค ์งํ์ ์์ ์ฑ. ํ์ธํ๋ฉด ์ดํดํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ํ์ง์ ๋ณด์ฅํ๋ ๋ฐ ํ์ํ ์ต์ํ์ ์ธก์ ํญ๋ชฉ์ ๋ฌด์์ ๋๊น?.
์ด๊ฒ์ ๋ฌ์ฑํ๋ ๋ฐฉ๋ฒ? ๋ฐฐํฌ ์์ ์ ์นด๋๋ฆฌ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ์ง ๋ง์ญ์์ค.. ์ฐ๋ฆฌ๋ ์ธ์ ๋ ์ง ์ ์ฉ ๋ ธ๋๋ฅผ ์ด์ฉํ ์ ์๊ณ ๋ฐฐํฌ ์์ด๋ ํธ๋ํฝ์ ์ค์ผ ์ ์๋ ์๋น์ค๋ฅผ ์ด์ ๋ฒ์ ์ ์ถ๊ฐํ์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฐ๋ฆฌ๋ ๋น๊ตํฉ๋๋ค. ์ค์๋ฅผ ์ฐ๊ตฌํ๊ณ ํ์ง์ ๋ฌ์ฑํ ์ ์๋ ์ง์ ์ ์ฐพ์ต๋๋ค.

์นด๋๋ฆฌ์ ๋ฆด๋ฆฌ์ค๋ก ์ป์ ์ด์
๋ฒ๋ ๋ก ์ธํ ํผํด ๋น์จ์ ์ต์ํํ์ต๋๋ค. ๋๋ถ๋ถ์ ๋ฐฐํฌ ์ค๋ฅ๋ ์ผ๋ถ ๋ฐ์ดํฐ ๋๋ ์ฐ์ ์์ ๋ถ์ผ์น๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ด๋ฐ ์ค๋ฅ๋ ์ฒ์ ๋ช ์ด ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ ํจ์ฌ ์ ์ต๋๋ค.
ํ์ ์ ๋ฌด๋ฅผ ์ต์ ํํ์ต๋๋ค. ์ด๋ณด์๋ "์ค์๋ฅผ ํ ๊ถ๋ฆฌ"๋ฅผ ๊ฐ์ต๋๋ค. ์ค์๋ฅผ ๋๋ ค์ํ์ง ์๊ณ ํ๋ก๋์ ์ ๋ฐฐํฌํ ์ ์์ผ๋ฉฐ, ์์ ์ ๋ํ ์ฃผ๋์ฑ๊ณผ ์ธ์ผํฐ๋ธ๊ฐ ์ถ๊ฐ๋ก ์ ๊ณต๋ฉ๋๋ค. ๋ญ๊ฐ๋ฅผ ๋ง๊ฐ๋จ๋ฆฐ๋ค๊ณ ํด๋ ์ค์ํ ๋ฌธ์ ๋ ์๋ ๊ฒ์ด๊ณ , ์ค์๋ฅผ ์ ์ง๋ฅธ ์ฌ๋์ด ํด๊ณ ๋์ง๋ ์์ ๊ฒ์ ๋๋ค.
์๋ํ๋ ๋ฐฐํฌ. ์ด๋ ์ด์ ์ฒ๋ผ ์๋์ ์ธ ๊ณผ์ ์ด ์๋๋ผ ์์ ํ ์๋ํ๋ ๊ณผ์ ์ ๋๋ค. ํ์ง๋ง ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฝ๋๋ค.
์ค์ํ ์งํ ๊ฐ์กฐ. ์ฌ์ ๋ถํฐ ์์ง๋์ด๋ง๊น์ง ํ์ฌ ์ ์ฒด๊ฐ ์ฐ๋ฆฌ ์ ํ์์ ๋ฌด์์ด ์ ๋ง ์ค์ํ์ง, ์๋ฅผ ๋ค์ด ์ฌ์ฉ์ ์ดํ๊ณผ ์ ์ ๊ณผ ๊ฐ์ ์ธก์ ํญ๋ชฉ์ด ๋ฌด์์ธ์ง ์๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ก์ธ์ค๋ฅผ ์ ์ดํฉ๋๋ค. ์ธก์ ํญ๋ชฉ์ ํ ์คํธํ๊ณ , ์๋ก์ด ์ธก์ ํญ๋ชฉ์ ๋์ ํ๊ณ , ๊ธฐ์กด ์ธก์ ํญ๋ชฉ์ด ์ด๋ป๊ฒ ์๋ํ๋์ง ํ์ธํ์ฌ ๋ ํจ์จ์ ์ผ๋ก ์์ต์ ์ฐฝ์ถํ ์ ์๋ ์์คํ ์ ๊ตฌ์ถํฉ๋๋ค.
์ฐ๋ฆฌ์๊ฒ๋ ๋์์ด ๋๋ ํ๋ฅญํ ๊ดํ๊ณผ ์์คํ ์ด ๋ง์ด ์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ , ์ฐ๋ฆฌ๋ ์ฐ๋ฆฌ์๊ฒ ๋์์ด ๋ ์์คํ ์ด ์๋์ง ์๋์ง์ ๊ด๊ณ ์์ด ์ ๋ฌธ๊ฐ๋ก์ ์ต์ ์ ๋คํ๊ณ ์ ๋ฌด๋ฅผ ์ ์ํํ๊ธฐ ์ํด ๋ ธ๋ ฅํฉ๋๋ค.
์์ง๋์ด๋ง ์ ๊ทผ ๋ฐฉ์ ๋ฐ ๊ดํ - . ๊ธฐ์ ์ ์ฐ์์ฑ์ ํฅํ ๊ธธ์์ ์ฑ๊ณต์ ์ด๋ฃจ์๊ณ ์ด๋ฅผ ๋ฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ ์ฌํญ์ ์๋ ค์ฃผ์ค ์ค๋น๊ฐ ๋์ จ๋ค๋ฉด, .
์ฐ๋ฆฌ๋ ๊ฐ์ตํ ๊ณํ์ ๋๋ค 8์ XNUMX์ผ. ์ฐ๋ฆฌ๋ ์ง๊ธ ๋น์ฅ ์ปจํผ๋ฐ์ค ์ฐธ์ฌ์ ๋ํ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ํ์ง๋ง ๋์์ ์ฐ๋ฆฌ๋ ๊ฒฉ๋ฆฌ๊ฐ ์ ๋ฌธ์ ์ธ ์์ฌ์ํต๊ณผ ๊ฐ๋ฐ์ ๋ฉ์ถ๋ ์ด์ ๊ฐ ๋์ด์๋ ์ ๋๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ค ๊ฒฝ์ฐ๋ ์ฐ๋ฆฌ๋ ๊ธฐ์ ์ฑ ์์์ ์ ๋ฌด์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ๊ทผ ๋ฐฉ์์ ๋ ผ์ํ ๋ฐฉ๋ฒ์ ์ฐพ์ ๊ฒ์ ๋๋ค. ํ์ํ๋ค๋ฉด ์จ๋ผ์ธ์ ์ ์ํ์ฌ ๋คํธ์ํน์ ๊ตฌ์ถํ ๊ฒ์ ๋๋ค!
์ถ์ฒ : habr.com
