๐ 90DaysOfDevOps - MichaelCade๋ฅผ ๊ณต๋ถํ ๋ด์ฉ
๐ Coding Tech - How Netflix Thinks of DevOps๋ฅผ ๊ณต๋ถํ๊ณ ์ ๋ฆฌ
๋ทํ๋ฆญ์ค๋ ์ ์ธ๊ณ์์ ๋ฐ์ํ๋ ์์ฒญ๋ ํธ๋ํฝ์ ์์์ ์์ ์ ์ผ๋ก ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค.
๋ทํ๋ฆญ์ค๋ OCA ์๋น์ค๋ฅผ ์ด์ฉํ๋ค. ์ด๋ ๋ทํ๋ฆญ์ค๊ฐ ๊ฐ๋ฐํ ์์ฒด CDN์ด๋ค. ๋ทํ๋ฆญ์ค๋ ์์ฌ์ ๋ชจ๋ ์์คํ ์ AWS ํด๋ผ์ฐ๋๋ก ์ด๊ดํ์์๋ ๋ถ๊ตฌํ๊ณ CDN ์๋น์ค ๋งํผ์ ์์ฒด์ ์ผ๋ก ์ด์ํ๊ณ ์๋ค.
Q. CDN์ด๋?
A. CDN(Content Delivery Network)์ ์ง๋ฆฌ์ ์ ์ฝ ์์ด ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ์ฝํ ์ธ ๋ฅผ ์ ์กํ ์ ์๋ ์ฝํ ์ธ ์ ์ก ๊ธฐ์ ์ ์๋ฏธํ๋ค.
CDN์ ์๋ฒ์ ์ฌ์ฉ์ ์ฌ์ด์ ๋ฌผ๋ฆฌ์ ์ธ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ฌ ์ฝํ ์ธ ๋ก๋ฉ์ ์์๋๋ ์๊ฐ์ ์ต์ํํ๋ค. CDN์ ๊ฐ ์ง์ญ์ ์บ์ ์๋ฒ(PoP, Points of Presence)๋ฅผ ๋ถ์ฐ ๋ฐฐ์นํด, ๊ทผ์ ํ ์ฌ์ฉ์์ ์์ฒญ์ ์๋ณธ ์๋ฒ๊ฐ ์๋ ์บ์ ์๋ฒ๊ฐ ์ฝํ ์ธ ๋ฅผ ์ ๋ฌํ๋ค.
์ถ์ฒ - ๊ฐ๋น์
๐ ๋ทํ๋ฆญ์ค์ ๋
ธ๋ ฅ์ ์ฐ๋ฌผ๋ค... ๋ทํ๋ฆญ์ค๋ 1000์ฌ๊ฐ์ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๋ทํ๋ฆญ์ค๋ ๊ฐ๋ฐ์์ ์์ง๋์ด๋ค์๊ฒ "NO"๋ผ๊ณ ๋งํ์ง ์๋๋ค. ๊ทธ๋ค์๊ฒ ์์ ๋ฅผ ์ค๋ค.
๋ทํ๋ฆญ์ค๋ ์์คํ
์ด๋ ์ ์ฑ
๋๋ ์ ์ฐจ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์๊ฐ์ ํ ์ ํ์ง ์๋๋ค.
Netflix์ ๋ชฉํ ์ค ํ๋: ์์ ์ ์ผ์ ์ ํ๋ ๋๋ํ ์ฌ๋์ ๊ณ ์ฉํ๋ค
๊ทธ๋ค์ ๊ทธ๋ค์ด ํ๋ ์ผ์ ์ ํ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์์ ๊ฐ ํ์ํ๋ค.
๋ง์ ์ธ์์ ์ธ ์ ์ฝ๊ฐ ๊ฐ์ด๋๋ผ์ธ์ด ๋ง๋ค์ด์ ธ ์๋ค๋ฉด ๋๋ํ ์ฌ๋์ ๊ณ ์ฉํด๋ ์์ฉ์ด ์๋ค.
๋ทํ๋ฆญ์ค๋ ๊ณ ์ฉํ ๋๋ํ ์์ง๋์ด๋ค์ด ๊ทธ๋ค์ ์์ ๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ๊ธฐ๋ฅ, ์์คํ
์ ์คํํ๋ ์๋ก์ด ๋ฐฉ๋ฒ๊ณผ ๊ณ ๊ฐ์ ๊ธฐ์๊ฒ ํ๋ ์๋ก์ด ๋ฐฉ๋ฒ์ ๊ฐ๋ฐํ๊ธธ ์ํ๋ค.
๋๊ตฐ๊ฐ ํฅ๋ฏธ๋ก์ด ๋ฌธ์ ๋ ์์ ์ด ์ ํ๋ ์ผ์ ํ๋ ค๊ณ ํ ๋ ๊ฒฐ์ ์์ ์์ ์ ์์ ํ๊ฒ ๋ณดํธํ๋๋ฐ ํ์ํ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ์๊ฐํ ์ ์๋ค.
์ด๊ฒ์ ๊ด๋ฃ์ ์ธ ์ฌ๊ณ ๋ฐฉ์์ด๋ค. ๊ด๋ฃ์ฃผ์์ ์ฃผ์ ๊ธฐ๋ฅ์ ๊ด๋ฃ์ ๊ธฐ๊ณ๋ฅผ ๊ฑฐ์ ๋ชจ๋ ํฑ๋์ ์ฐ๊ฒฐํ์ฌ ๊ด๋ฃ๊ฐ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, ํน์ ์์
๋ง ์ํํ ์ ์๊ณ ๋งค์ฐ ๊ท๋ฒ์ ์ด๋ค. ๋ง์ ๊ฐ์ด๋ ๋ผ์ธ๊ณผ ๋ง์ ์ ์ฐจ ๋๋ฌธ์ ์ด๋ค ํฑ๋๋ผ๋ ๋ค์ด๊ฐ ์ ์๊ณ ์์
์ ์๋ฃํ ์ ์๋ค.
๋ทํ๋ฆญ์ค๋ ๊ด๋ฃ ์กฐ์ง ๊ตฌ์ฑ์์ด ์๋ ์ ์์๋ฅผ ์ฐพ๋๋ค. ๊ทธ๋ค์ด ์๋ก์ด ์์ด๋์ด๋ฅผ ๊ฐ์ง๊ณ ํ์ฌ ์ฐ๋ฆฌ๊ฐ ํ๊ณ ์๋ ์ผ(๊ณ ๊ฐ๋ค์๊ฒ ํฅ๋ฏธ๋กญ๊ณ ์ฆ๊ฑฐ์ด ๋ฌด์ธ๊ฐ๋ฅผ ์ ๊ณตํ๋ ์ผ)์ ๋์ ํ๊ธฐ๋ฅผ ์ํ๋ค.
๋ณดํต ํ์ฌ์์ ๊ด๋ฆฌ์์ ์
๋ฌด๋ ์ํํด์ผ ํ ์์
์ ๊ฒฐ์ ํ๊ณ ๋ฐฐ์นํ๊ณ ํฑ๋๋ฐํด๋ฅผ ์๋์ํค๋ ๊ฒ์ด๋ค.
๋ฐ๋ฉด์, ๋ทํ๋ฆญ์ค์์ ๊ด๋ฆฌ์์ ์ฃผ์ ์
๋ฌด๋ ํจ๊ป ์ผํ๋ ์ฌ๋๋ค์ด ๋น์ฆ๋์ค์ ๋ํด ๋์ ํ์ง์ ์ง์์ ์ธ ์ํฉ ํ๋ฆ์ ๊ฐ๋๋ก ํ๋ ๊ฒ์ด๋ค. ๋ทํ๋ฆญ์ค์์ ํจ๊ป ์ผํ๋ ์ฌ๋๋ค์ ์ถฉ๋ถํ ์ ๋ณด์ ์
๊ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๊ณ ์์ ๋ฅผ ์ ํ์ฌํ๊ณ ๊ณ์ ์์ง์ด๊ณ ์ผ์ ํ ์ ์์ผ๋ฏ๋ก ๋ทํ๋ฆญ์ค๋ ๊ทธ๋ค์ 'ํต์ 'ํ๊ธฐ๋ณด๋ค ๊ทธ๋ค์๊ฒ '์ํฉ'์ ์ ๋ฌํ๊ธฐ๋ฅผ ์ ํธํ๋ค.
๋ทํ๋ฆญ์ค์๋ ํ์ค์ด ๋ง์ด ์๋ค. ๋ทํ๋ฆญ์ค์๋ JVM, Ruby, Go, Rust, Python, Node.js๊ฐ ์คํ๋๊ณ ์๋ค. ์ด๋ ํ ๊ธฐ์ ์ ๋ค๋ฅธ ๊ธฐ์ ์ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์๋ก์ด ๋จ์ ๊ณผ ์ด์ ์ ์ป๊ฒ ๋๋ค. ๋ทํ๋ฆญ์ค์ ์์ง๋์ด๋ค์ ํ์ฌ๋ฅผ ์ํ ์ต์ ์ ์ผ์ธ์ง ํ์ผ๋ก์ ๊ฒฐ์ ํ๊ณ ๊ทธ๋ค์ ์๊ฐ์ ๊ตฌํํด๋ธ๋ค. ๋ทํ๋ฆญ์ค๋ ๊ฐ๋ฐ์๋ค์ด ์๊ธฐ๊ฐ ์ ํํ ํ ์ ์๋ ์ผ์ ๋งก๊ธด๋ค.
๋ทํ๋ฆญ์ค๋ ์์ ๊ถ์ ์ฝ๊ฒ ๋ง๋๋ ๋ฐ ์ง์คํ๋ค. ์์๋ก ๋ฑ์ฅํ spectator tool์ด๋ค. spectator๋ ํ ์คํธ๋ฅผ ํตํด ์ฝ๋๊ฐ ๋ฐฐํฌ๋๊ธฐ๊น์ง์ ๊ณผ์ ์ ์ค์ฌ์ค๋ค. (์ด ๋ง์ด ์๋ ์๋ ์๋ค. ์์ด ํด์.. ์ด๋ ต๋ค;;)
๋ทํ๋ฆญ์ค๋ ๋ฐ์ดํฐ์ ์ง์คํ๋ค. ๋ทํ๋ฆญ์ค๊ฐ ๋ด๋ฆฌ๋ ๊ฒฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
๋ทํ๋ฆญ์ค๋ 2008๋
๋ฐ์ดํฐ ์ผํฐ์ ํ์ฌ๋ฅผ ๊ฒฝํํ๊ณ ํด๋ผ์ฐ๋๋ก ์ด์ ํ๊ธฐ๋ฅผ ๊ฒฐ์ ํ๋ค. ๊ทธ๋ฆฌ๊ณ 2015๋
ํ๋ฐ์ ๋ง์นจ๋ด ์ด์ ์ ์๋ฃํ๋ค.
๋ทํ๋ฆญ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์๊ณ ๋ฆฌ์ฆ์ ํฌ์ํ๊ณ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์ฐ ๋น ๋ฅด๊ฒ ๊ฒ์ฌํ์ฌ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ ๋ ์๋ ค์ฃผ๋ ์์คํ
์ ํฌ์ํ๋ค.
๋ทํ๋ฆญ์ค๋ DevOps๋ฅผ ํ์ง ์๋๋ค. ๋ทํ๋ฆญ์ค๋ ๋ทํ๋ฆญ์ค ๋ฌธํ์ ์ด์ ์ ๋ง์ถ๋ค.
๋ทํ๋ฆญ์ค ๋ฌธํ์ ๊ฒฐ๊ณผ๊ฐ DevOps์ฒ๋ผ ๋ณด์ผ ๋ฟ์ด๋ค.
'์ฐ๋ฆฌ๊ฐ ๊ณ ์ฉํ ๋๋ํ ์ฌ๋๋ค์ด๋๊น ์ ๋ขฐํ๊ณ ๊ทธ๋ค์๊ฒ ์์ ๋ฅผ ์ ๊ณตํ๋ค'๋ ๋ทํ๋ฆญ์ค์ ๋ฌธํ๊ฐ ์ธ์์ ์ด๋ค. ๋ ์์ ์ธ ์ฝํ ์ธ ๋ฅผ ์ ๊ณตํ๋ ํ์ฌ ๋ต๊ฒ ๋ ์์ ์ธ ๊ธฐ์ ๋ฌธํ๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ ๊ฐ๋ค. ๋ค๋ฅธ ํ์ฌ๋ค๊ณผ๋ ์ฐจ๋ณํ๋ ๋ทํ๋ฆญ์ค๋ง์ ์ ๋ ๋๋ถ์, ๊ธฐ์ ๋ฉด์์๋ ์ปจํ ์ธ ๋ฉด์์๋ ์ ์ธ๊ณ์์ ์ฐ์๋ฅผ ์ฐจ์ง ํ ์ ์์๊ตฌ๋! ๊ณ ๊ฐ๊ฐ ์ ๋ก ๋๋์ฌ์ง๋ค.
์ค๋ ๋ ๊ธ๋ก๋ฆฌ ์์ฆ2๊ฐ ๊ณต๊ฐ๋๊ณ ๋ทํ๋ฆญ์ค์์ ์ ์ ์๋ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๊ณ ํ๋ค. ์์ ์ ์ธ ์๋น์ค๋ฅผ ์ํด 1000์ฌ๊ฐ์ ๋ง์ดํฌ๋ก ์๋น์ค๋ก ์ชผ๊ฐ๋ ๋ทํ๋ฆญ์ค์ธ๋ฐ.. ๋ทํ๋ฆญ์ค์์๋ ์๋ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๋...!! ์ ์๋ฒ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒ์ธ์ง ์์ธ์ด ๊ถ๊ธํ๋ค!
์ฌ๋ฏธ์๋๋ด์ฉ์ด๋ค์. ๋ทํ๋ฆญ์ค๊ฐ ๋ง๋ , ๋ฐ๋ธ์ต์ค ๊ฐ์ง๋ง ์ค์ค๋ก ๊ฐ์ฒํ ๊ธธ, ์ธ์๊น์ ๋ด์ฉ์ด์์ต๋๋ค! ํ ๊ฐ๋ฐ์๋ก์จ ๊ฐ๋ฐ์๋ฅผ ์ํ๋ ๋ฌธํ๋ ์ ๋ง ์ข์๊ฒ ๊ฐ์์. ์ ๋ ๊ทธ์ ๋ง๋ ๊ฐ๋ฐ์๊ฐ ๋๋๋ก ๋ ธ๋ ฅํด์ผํ ๊ฒ๊ฐ๋ค์. ๊ธ ์๋ดค์ต๋๋คโจ
๋ทํ๋ฆญ์ค์ ์ด์ ์ ์ฑ ์ ๋ํด ํ๊ตฌ ํ์๊ณ , ์๋ก์ด ๋๋ผ๋ง์ ๊ณต๊ฐ์ ํจ๊ป ์๊ธด ์ฅ์ ์ ๋ํด ๊ณ ๋ฏผํด๋ณด์๋ ๋ถ๋ถ์ด ์ฒ์ ๊ฐ๋ฐ์ ๊ฐ์ผ์ญ๋๋ค !
์์ฌ์ด ๋ถ๋ถ์ ๋ทํ๋ฆญ์ค์ ๋ ธ๋ ฅ์ ์ฐ๋ฌผ์ ์๋ง์ด ์ฝํ์๋ msa ๋ผ๊ณ ํ์ ๊ฒ ๊ฐ์๋ฐ, ์ด๋ ํ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ๊น์ง๋ ๊ฐ๋ตํ ์กฐ์ฌํ์ จ์ผ๋ฉด ์ข์ง ์์๊น ํฉ๋๋ค.
์์ปจ๋ ์ ๊ฐ ์๊ธฐ๋ก Spring Cloud Netflix Eureka ๋ผ๋๊ฐ ๋ทํ๋ฆญ์ค์ธก์์ msa ๋์ ์ ์ํด ๊ณต๊ฐํ ์คํ์์ค ๋ ๋ง์๊ฑธ๋ก ์๊ณ ์์ต๋๋ค!