๋ฉ๋ชจ. ๋ฒ์ญ: Medium์์ ์ธ๊ธฐ๋ฅผ ๋์๋ ์ด ๊ธฐ์ฌ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ธ๊ณ ๋ฐ ๊ด๋ จ ๊ธฐ์ ์ํ๊ณ(Docker ๋ฐ Kubernetes์ ํนํ ์ด์ ์ ๋ง์ถฐ)์ ์ฃผ์ ๋ณํ(2010~2019)์ ๋ํ ๊ฐ์์ ๋๋ค. ์์ ์๋ ๊ฐ๋ฐ์ ๋๊ตฌ ๋ฐ ๋ถ์ฐ ์์คํ ์ ์ ๋ฌธ์ผ๋ก ํ๋ Cindy Sridharan์ ๋๋ค. ํนํ ๊ทธ๋ ๋ "Distributed Systems Observability"๋ผ๋ ์ฑ ์ ์งํํ์ผ๋ฉฐ, ํนํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ฃผ์ ์ ๊ด์ฌ์ด ์๋ IT ์ ๋ฌธ๊ฐ๋ค ์ฌ์ด์์ ์ธํฐ๋ท ๊ณต๊ฐ์์ ๊ฝค ์ธ๊ธฐ๊ฐ ์์ต๋๋ค.
2019๋
์ด ๋๋๊ฐ๋ฉด์ ์ ๋ ์ง๋ XNUMX๋
๊ฐ ๊ฐ์ฅ ์ค์ํ ๊ธฐ์ ๋ฐ์ ๊ณผ ํ์ ์ ๋ํ ์ ์๊ฐ์ ๊ณต์ ํ๊ณ ์ถ์์ต๋๋ค. ๋ํ ์ ๋ ๋ฏธ๋๋ฅผ ์ข ๋ ๋ด๋ค๋ณด๊ณ ํฅํ XNUMX๋
์ ์ฃผ์ ๋ฌธ์ ์ ๊ธฐํ์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํ๋ ค๊ณ ๋
ธ๋ ฅํ ๊ฒ์
๋๋ค.
์ด ๊ธ์์๋ ๋ฐ์ดํฐ ๊ณผํ๊ณผ ๊ฐ์ ๋ถ์ผ์ ๋ณํ๋ฅผ ๋ค๋ฃจ์ง ์๋๋ค๋ ์ ์ ๋ถ๋ช
ํ ํ๊ณ ์ถ์ต๋๋ค. (๋ฐ์ดํฐ ๊ณผํ), ์ธ๊ณต ์ง๋ฅ, ํ๋ก ํธ ์๋ ์์ง๋์ด๋ง ๋ฑ์ ๊ฐ์ธ์ ์ผ๋ก ์ถฉ๋ถํ ๊ฒฝํ์ด ์๊ธฐ ๋๋ฌธ์
๋๋ค.
์ ํํ์ ์ญ์ต
2010๋ ๋์ ๊ฐ์ฅ ๊ธ์ ์ ์ธ ์ถ์ธ ์ค ํ๋๋ ์ ์ ์ผ๋ก ์ ๋ ฅ๋ ์ธ์ด์ ๋ถํ์ด์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์ธ์ด๋ ๊ฒฐ์ฝ ์ฌ๋ผ์ง์ง ์์์ง๋ง(C++์ Java๋ ์ค๋๋ ์์๊ฐ ๋ง์ผ๋ฉฐ 2005๋ ์ ์๋ ์ง๋ฐฐ์ ์ด์์ต๋๋ค), 2009๋ Ruby on Rails ์ด๋์ด ๋ฑ์ฅํ ์ดํ ๋์ ์ ํ ์ธ์ด(๋์ )์ ์ธ๊ธฐ๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ์ต๋๋ค. . ์ด๋ฌํ ์ฑ์ฅ์ XNUMX๋ Node.js์ ์คํ ์์ค๋ก ์ต๊ณ ์กฐ์ ์ด๋ฅด๋ ๊ณ , ์ด๋ฅผ ํตํด ์๋ฒ์์ Javascript๋ฅผ ํ์คํํ์ต๋๋ค.
์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋์ ์ธ์ด๋ ์๋ฒ ์ํํธ์จ์ด ์ ์ ๋ถ์ผ์์ ๋งค๋ ฅ์ ์์์ต๋๋ค. ์ปจํ
์ด๋ ํ๋ช
์ค์ ๋์คํ๋ Go ์ธ์ด๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ํตํด ๋ฆฌ์์ค ํจ์จ์ ์ธ ๊ณ ์ฑ๋ฅ ์๋ฒ๋ฅผ ๋ง๋๋ ๋ฐ ๋ ์ ํฉํด ๋ณด์์ต๋๋ค.
2010๋
์ ์๊ฐ๋ Rust์๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ด ํฅ์๋์์ต๋๋ค.
๋์ ์ธ์ด์๋ ๋ค์๊ณผ ๊ฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
SQL์ NoSQL๋ก ๋ฐํ
NoSQL์ XNUMX๋ ๋ ๋ง๋ณด๋ค XNUMX๋ ๋ ์ด๋ฐ์ ํจ์ฌ ๋ ์ธ๊ธฐ๋ฅผ ๋์๋ ๋ ๋ค๋ฅธ ๊ธฐ์ ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ ๊ฐ์ง ์ด์ ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ฒซ์งธ, ์คํค๋ง, ํธ๋์ญ์
์ด ๋ถ์กฑํ๊ณ ์ผ๊ด์ฑ ๋ณด์ฅ์ด ์ฝํ NoSQL ๋ชจ๋ธ์ SQL ๋ชจ๋ธ๋ณด๋ค ๊ตฌํํ๊ธฐ๊ฐ ๋ ์ด๋ ค์ด ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์์
Google์์ ๋ฐฐ์ด ๊ฒ ์ค ํ๋๋ ์์ง๋์ด๊ฐ ๊ธฐ์กด ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์กํ ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ์ ์งํ ์ ์์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๊ฐ ๋ ๊ฐ๋จํด์ง๊ณ ๊ฐ๋ฐ ์๊ฐ์ด ๋จ์ถ๋๋ค๋ ๊ฒ์ ๋๋ค. ์๋ณธ Spanner ๋ฌธ์๋ฅผ ์ธ์ฉํ๋ฉด "์ฐ๋ฆฌ๋ ํ๋ก๊ทธ๋๋จธ๊ฐ ํธ๋์ญ์ ๋ถ์ฌ๋ฅผ ์ผ๋์ ๋๋ ๊ฒ๋ณด๋ค ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ ๋ ํธ๋์ญ์ ๋จ์ฉ์ผ๋ก ์ธํ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๋ ๋ซ๋ค๊ณ ๋ฏฟ์ต๋๋ค."
๋ ๋ฒ์งธ ์ด์ ๋ "์ค์ผ์ผ ์์" ๋ถ์ฐ SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค(์:
์ฌ๋ฌ ๋ฌธ์(ํ๋ ์ด์์ ์ปฌ๋ ์ )์ ๊ฑธ์ณ ์์์ฑ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ๊ฐ ํ์ํ ์ํฉ์ ๊ฒฝ์ฐ MongoDB๋ ๋ค์ค ๋ฌธ์ ํธ๋์ญ์ ์ ์ง์ํฉ๋๋ค. ๋ถ์ฐ ํธ๋์ญ์ ์ ๊ฒฝ์ฐ ํธ๋์ญ์ ์ ์ฌ๋ฌ ์์ , ์ปฌ๋ ์ , ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฌธ์ ๋ฐ ์ค๋์์ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
์ ์ฒด ์คํธ๋ฆฌ๋ฐ
Apache Kafka๋ ์์ฌํ ์ฌ์ง์์ด ์ง๋ 2011๋ ๊ฐ ๊ฐ์ฅ ์ค์ํ ๋ฐ๋ช ํ ์ค ํ๋์ ๋๋ค. Kafka์ ์์ค ์ฝ๋๋ XNUMX๋ XNUMX์์ ๊ณต๊ฐ๋์์ผ๋ฉฐ ์๋ ์ ๊ฑธ์ณ Kafka๋ ๊ธฐ์ ์ ๋ฐ์ดํฐ ์์ ๋ฐฉ์์ ํ๋ช ์ ์ผ์ผ์ผฐ์ต๋๋ค. Kafka๋ ์คํํธ์ ๋ถํฐ ๋๊ธฐ์ ๊น์ง ์ ๊ฐ ์ผํ๋ ๋ชจ๋ ํ์ฌ์์ ์ฌ์ฉ๋์์ต๋๋ค. ์ ๊ณตํ๋ ๋ณด์ฆ ๋ฐ ์ฌ์ฉ ์ฌ๋ก(pub-sub, ์คํธ๋ฆผ, ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ)๋ ๋ฐ์ดํฐ ์ ์ฅ๋ถํฐ ๋ชจ๋ํฐ๋ง ๋ฐ ์คํธ๋ฆฌ๋ฐ ๋ถ์์ ์ด๋ฅด๊ธฐ๊น์ง ๊ธ์ต, ์๋ฃ, ๊ณต๊ณต ๋ถ๋ฌธ, ์๋งค์ ๋ฑ
์ง์์ ์ธ ํตํฉ(๋ฐ ๊ทธ ์ดํ์ ์ง์์ ์ธ ๋ฐฐํฌ)
์ง์์ ์ธ ํตํฉ์ ์ง๋ 10๋
๊ฐ ๋ํ๋์ง ์์์ง๋ง ์ง๋ XNUMX๋
๋์ ์ด ์ ๋๋ก ํผ์ก๋ค, ์ด๋ ํ์ค ์ํฌํ๋ก์ ์ผ๋ถ๊ฐ ๋์์ต๋๋ค(๋ชจ๋ ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ํด ํ
์คํธ ์คํ). ์ฝ๋๋ฅผ ๊ฐ๋ฐํ๊ณ ์ ์ฅํ๊ธฐ ์ํ ํ๋ซํผ์ผ๋ก GitHub๋ฅผ ๊ตฌ์ถํ๊ณ , ๋ ์ค์ํ๊ฒ๋ GitHub๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ํฌํ๋ก๋ฅผ ๊ฐ๋ฐํฉ๋๋ค.
์ง์์ ์ธ ๋ฐฐํฌ(๊ฐ ์ปค๋ฐ์ด ๋ง์คํฐ์ ๋๋ฌํ ๋๋ง๋ค ๋ฐฐํฌ)๋ ์ง์์ ์ธ ํตํฉ๋งํผ ๊ด๋ฒ์ํ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฐฐํฌ๋ฅผ ์ํ ๋ค์ํ ํด๋ผ์ฐ๋ API, Kubernetes(๋ฐฐํฌ๋ฅผ ์ํ ํ์คํ๋ API ์ ๊ณต)์ ๊ฐ์ ํ๋ซํผ์ ์ธ๊ธฐ ์ฆ๊ฐ, ๊ทธ๋ฆฌ๊ณ Spinnaker(ํ์คํ๋ API๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋จ)์ ๊ฐ์ ๋ค์ค ํ๋ซํผ, ๋ค์ค ํด๋ผ์ฐ๋ ๋๊ตฌ์ ์ถํ์ผ๋ก ์ธํด API), ๋ฐฐํฌ ํ๋ก์ธ์ค๊ฐ ๋์ฑ ์๋ํ๋๊ณ ๊ฐ์ํ๋์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋์ฑ ์์ ํด์ก์ต๋๋ค.
์ปจํ ์ด๋
์ปจํ ์ด๋๋ ์๋ง๋ 2010๋ ๋ ๊ฐ์ฅ ๊ณผ์ฅ๋๊ณ , ๋ ผ์๋๊ณ , ๊ด๊ณ ๋๊ณ , ์คํด๋ฐ๋ ๊ธฐ์ ์ผ ๊ฒ์ ๋๋ค. ๋ฐ๋ฉด์ ์ด๋ ์ง๋ XNUMX๋ ๊ฐ ๊ฐ์ฅ ์ค์ํ ํ์ ์ค ํ๋์ ๋๋ค. ์ด ๋ชจ๋ ๋ถํํ์์ ์์ธ ์ค ํ๋๋ ์ฐ๋ฆฌ๊ฐ ๊ฑฐ์ ๋ชจ๋ ๊ณณ์์ ์์ ํ๊ณ ์๋ ํผํฉ ์ ํธ์ ์์ต๋๋ค. ์ด์ ๊ณผ๋๊ด๊ณ ๊ฐ ๋ค์ ์ฌ๊ทธ๋ผ๋ค์๊ณ , ๋ช ๊ฐ์ง ์ฌํญ์ด ๋์ฑ ๋ช ํํด์ก์ต๋๋ค.
์ปจํ ์ด๋๊ฐ ์ธ๊ธฐ๋ฅผ ์ป์ ๊ฒ์ ๊ธ๋ก๋ฒ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ด๊ธฐ ๋๋ฌธ์ด ์๋๋๋ค. ์ปจํ ์ด๋๋ ์์ ํ ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ํน์ ๋๊ตฌ์ ๋ํ ๋ง์ผํ ์์ฒญ์ ์ฑ๊ณต์ ์ผ๋ก ๋ถํฉํ๊ธฐ ๋๋ฌธ์ ์ธ๊ธฐ๋ฅผ ์ป์์ต๋๋ค. Docker๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฐํ์ก์ต๋๋ค. ํ์์ ์ธ ๊ธด๊ธํ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฐ๋ฐ ๋๊ตฌ์ ๋๋ค("๋ด ์ปดํจํฐ์์ ์๋").
๋ ์ ํํ๊ฒ๋ ํ๋ช ์ด ์ด๋ฃจ์ด์ก๋ค. ๋์ปค ์ด๋ฏธ์ง, ํ๊ฒฝ ๊ฐ์ ํจ๋ฆฌํฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ํ์ผ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์ํํธ์จ์ด ๋ฐ ์ด์ ์ข ์์ฑ์ ๋ํ ์ง์ ํ ์ด์์ฑ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ๋๊ตฌ๊ฐ ๋ณธ์ง์ ์ผ๋ก ๋งค์ฐ ๋ฎ์ ์์ค์ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ธ "์ปจํ ์ด๋"์ ์ธ๊ธฐ๋ฅผ ๋ถ๋ฌ์ผ์ผ์ผฐ๋ค๋ ์ฌ์ค์ ์๋ง๋ ์ง๋ XNUMX๋ ๋์์ ์ฃผ์ ๋ฏธ์คํฐ๋ฆฌ๋ก ๋จ์ ์์ต๋๋ค.
์๋ฒ๋ฆฌ์ค
"์๋ฒ๋ฆฌ์ค" ์ปดํจํ
์ ์ถํ์ ์จ๋๋งจ๋ ์ปดํจํ
์ ๊ฟ์ ํ์ค๋ก ๋ง๋ค๊ธฐ ๋๋ฌธ์ ์ปจํ
์ด๋๋ณด๋ค ํจ์ฌ ๋ ์ค์ํ๋ค๊ณ ์ฅ๋ดํฉ๋๋ค. (์จ ๋๋งจ๋). ์ง๋ XNUMX๋
๋์ ์ ๋ ์๋ก์ด ์ธ์ด์ ๋ฐํ์์ ๋ํ ์ง์์ ์ถ๊ฐํ์ฌ ์๋ฒ๋ฆฌ์ค ์ ๊ทผ ๋ฐฉ์์ ๋ฒ์๊ฐ ์ ์ฐจ ํ์ฅ๋๋ ๊ฒ์ ๋ณด์์ต๋๋ค. Azure ๋ด๊ตฌ์ฑ ํจ์์ ๊ฐ์ ์ ํ์ ์ถํ์ ์ํ ์ ์ฅ ๊ธฐ๋ฅ ๊ตฌํ์ ํฅํ ์ฌ๋ฐ๋ฅธ ๋จ๊ณ์ธ ๊ฒ ๊ฐ์ต๋๋ค(๋์์ ๊ฒฐ์ ์ ์ธ
์คํ ๋ฉ์ด์
์๋ง๋ ์ด๋ฌํ ์ถ์ธ์ ๊ฐ์ฅ ํฐ ์ํ์๋ ์ด์ ์์ง๋์ด๋ง ์ปค๋ฎค๋ํฐ์ผ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ํตํด IaC(Infrastructure as Code)์ ๊ฐ์ ๊ฐ๋ ์ด ํ์คํ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ํ ์๋ํ์ ๋ํ ์ด์ ์ ๋ณด๋ค ์ํํธ์จ์ด ์ค์ฌ์ ์ธ ์ด์ ์ ๊ทผ ๋ฐฉ์์ ์ทจํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ "SRE ๋ฌธํ"์ ๋ถ์๊ณผ ๋์์ ๋ฐ์ํ์ต๋๋ค.
๋ฒ์ฉ APIํ
์ง๋ XNUMX๋ ๊ฐ์ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ํน์ง์ ๋ค์ํ ๊ฐ๋ฐ ์์ ์ APIํ์์ต๋๋ค. ํ๋ฅญํ๊ณ ์ ์ฐํ API๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ํ์ ์ ์ธ ์ํฌํ๋ก์ ๋๊ตฌ๋ฅผ ๋ง๋ค ์ ์์ผ๋ฉฐ, ์ด๋ ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌ์ ๋์์ด ๋๊ณ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
๋ํ APIํ๋ ์ผ๋ถ ๊ธฐ๋ฅ์ด๋ ๋๊ตฌ์ SaaSํ๋ฅผ ํฅํ ์ฒซ ๋ฒ์งธ ๋จ๊ณ์ ๋๋ค. ์ด๋ฌํ ์ถ์ธ๋ ๋ง์ดํฌ๋ก์๋น์ค์ ์ธ๊ธฐ ์ฆ๊ฐ์๋ ์ผ์นํฉ๋๋ค. SaaS๋ API๋ฅผ ํตํด ์ก์ธ์คํ ์ ์๋ ๋ ๋ค๋ฅธ ์๋น์ค๊ฐ ๋์์ต๋๋ค. ์ด์ ๋ชจ๋ํฐ๋ง, ๊ฒฐ์ , ๋ก๋ ๋ฐธ๋ฐ์ฑ, ์ง์์ ์ธ ํตํฉ, ๊ฒฝ๊ณ , ๊ธฐ๋ฅ ์ ํ๊ณผ ๊ฐ์ ์์ญ์์ ์ฌ์ฉํ ์ ์๋ SaaS ๋ฐ FOSS ๋๊ตฌ๊ฐ ๋ง์ด ์์ต๋๋ค. (๊ธฐ๋ฅ ์ ๊ณ ), CDN, ํธ๋ํฝ ์์ง๋์ด๋ง(์: DNS) ๋ฑ์ด ์ง๋ XNUMX๋ ๋์ ๋ฒ์ฑํ์ต๋๋ค.
๊ด์ฐฐ ๊ฐ๋ฅ์ฑ
์ค๋๋ ์ฐ๋ฆฌ๊ฐ ์ก์ธ์คํ ์ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ํจ์ฌ ๋ ๋ฐ์ ๋ ๊ทธ ์ด๋ ๋๋ณด๋ค ์ ํ๋ฆฌ์ผ์ด์ ๋์์ ๋ชจ๋ํฐ๋งํ๊ณ ์ง๋จํ๋ ๋๊ตฌ์ ๋๋ค. 2015๋ ์ ์คํ์์ค๋ก ์ธ์ ๋ฐ์ ํ๋ก๋ฉํ ์ฐ์ค ๋ชจ๋ํฐ๋ง ์์คํ ์ ์๋ง๋ 'ํ๋ก๋ฉํ ์ฐ์ค ๋ชจ๋ํฐ๋ง ์์คํ '์ด๋ผ๊ณ ๋ถ๋ฅผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ต๊ณ ๋ด๊ฐ ํจ๊ป ์ผํ๋ ์ฌ๋๋ค์ ๋ชจ๋ํฐ๋ง ์์คํ . ์๋ฒฝํ์ง๋ ์์ง๋ง ์๋น์๊ฐ ์ ํํ๊ฒ ์ฌ๋ฐ๋ฅธ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ฉ๋๋ค(์: ์ธก์ ์ง์). [์ฐจ์์ฑ] ์ธก์ ํญ๋ชฉ์ ๊ฒฝ์ฐ).
๋ถ์ฐ ์ถ์ ์ OpenTracing(๋ฐ ํ์ OpenTelemetry)๊ณผ ๊ฐ์ ์ด๋์
ํฐ๋ธ ๋๋ถ์ 2010๋
๋์ ์ฃผ๋ฅ๋ก ํธ์
๋ ๋ ๋ค๋ฅธ ๊ธฐ์ ์ด์์ต๋๋ค. ์ถ์ ์ ์ฌ์ ํ โโ์ ์ฉํ๊ธฐ ๋งค์ฐ ์ด๋ ต์ง๋ง ์ต์ ๊ฐ๋ฐ ์ค ์ผ๋ถ๋ 2020๋
๋์ ์ถ์ ์ ์ง์ ํ ์ ์ฌ๋ ฅ์ ๋ฐํํ ์ ์๋ค๋ ํฌ๋ง์ ์ค๋๋ค. (์ฐธ๊ณ : ์ ํฌ ๋ธ๋ก๊ทธ์์ "๋ผ๋ ๊ธฐ์ฌ ๋ฒ์ญ๋ ์ฝ์ด๋ณด์ธ์.
๋ฏธ๋๋ฅผ ๋ฐ๋ผ๋ณด๋ฉฐ
๋ถํํ๊ฒ๋ ์์ผ๋ก XNUMX๋ ๋์ ํด๊ฒฐ์ ๊ธฐ๋ค๋ฆฌ๋ ๋ฌธ์ ์ ์ด ๋ง์ด ์์ต๋๋ค. ๋ค์์ ๊ทธ๊ฒ๋ค์ ๋ํ ๋์ ์๊ฐ๊ณผ ๊ทธ๊ฒ๋ค์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ์์ด๋์ด์ ๋๋ค.
๋ฌด์ด์ ๋ฒ์น ๋ฌธ์ ํด๊ฒฐ
Dennard์ ์ค์ผ์ผ๋ง ๋ฒ์น์ด ๋๋๊ณ ๋ฌด์ด์ ๋ฒ์น์ด ๋ค์ฒ์ง๋ ํ์์๋ ์๋ก์ด ํ์ ์ด ํ์ํฉ๋๋ค. ์กด ํค๋ค์
์ปดํ์ผ๋ฌ๋ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ๊ณ , ์๋ก์ด ํ๋์จ์ด๋ก ์ฝ๊ฒ ์ด์๋์ด์ผ ํ๋ฉฐ, ๋์ ๊ด๋ฆฌ ์ธ์ด๋ถํฐ ๋ฒกํฐ ๊ฐ์๊ธฐ ๋ฐ ์ํํธ์จ์ด ์ ์ด ์ ์ฅ ์ฅ์น์ ์ด๋ฅด๊ธฐ๊น์ง ์ฌ๋ฌ ์ถ์ํ ๊ณ์ธต์ ์ฐ๊ฒฐํ๋ ๋์์ ์๋ ์กฐ์ ์ ์ํ ๊ณ ๊ธ ์ค์์น๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๊ธฐ๋ฅ ์ธก๋ฉด์์๋ ์๊ฐ, ์ง๋จ, ์คํ ์ ๋ฐ์ ๊ฑธ์ณ ์์คํ ์ ๊ธฐ๋ฅ ๋ฐ ์ฑ๋ฅ์ ๋ํ ๋๋ฒ๊น ์ ๋ณด ๋ฐฐํฌ๋ฅผ ์ํํ๋ฉฐ ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์๋์ผ๋ก ์์ฑํ ์ด์ ๋ธ๋ฌ์ ๊ฐ๊น์ด ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ปดํ์ผ ์ธํ๋ผ์ ๊ฐ๋ฐ ๋ฐ ๊ณต๊ฐ ๊ฐ์ฉ์ฑ์ ๋ํ ๋น์ , ์งํ ์ํฉ ๋ฐ ๊ณํ์ ๊ณต์ ํ ๊ณํ์ ๋๋ค.
CI / CD
CI์ ๋ถ์์ด 2010๋ ๋ ๊ฐ์ฅ ํฐ ํธ๋ ๋ ์ค ํ๋๊ฐ ๋์์ง๋ง Jenkins๋ ์ฌ์ ํ CI์ ํ์ค์ ๋๋ค.
์ด ๊ณต๊ฐ์ ๋ค์ ์์ญ์์ ํ์ ์ด ์ ์คํ ํ์ํฉ๋๋ค.
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค(์ธ์ฝ๋ฉ ํ ์คํธ ์ฌ์์ ์ํ DSL)
- ์ง์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์๋ ๊ตฌํ ์ธ๋ถ ์ฌํญ
- ๋ณด๋ค ๋ฐ์ ๋ ํํ์ ํ ์คํธ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด ๋ค์ํ ํ๊ฒฝ(์คํ ์ด์ง, ํ๋ก๋์ ๋ฑ)๊ณผ ํตํฉํฉ๋๋ค.
- ์ง์์ ์ธ ํ ์คํธ ๋ฐ ๋ฐฐํฌ.
๊ฐ๋ฐ์ ๋๊ตฌ
์ ๊ณ๋ก์ ์ฐ๋ฆฌ๋ ์ ์ ๋ ๋ณต์กํ๊ณ ์ธ์์ ์ธ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์์ฒด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ํฉ์ด ํจ์ฌ ๋ ์ข์์ง ์ ์์ต๋๋ค.
ํ์ ๋ฐ ์๊ฒฉ(ssh๋ฅผ ํตํ) ํธ์ง์ ์ด๋ ์ ๋ ์ธ๊ธฐ๋ฅผ ์ป์์ง๋ง ์๋ก์ด ํ์ค ๊ฐ๋ฐ ๋ฐฉ์์ด ๋์ง๋ ๋ชปํ์ต๋๋ค. ๋ง์ฝ ๋น์ ์ด ๋์ฒ๋ผ ๊ทธ ์๊ฐ ์์ฒด๋ฅผ ๊ฑฐ๋ถํ๋ค๋ฉด ํ์ ๋จ์ง ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ ์ํด ์ธํฐ๋ท์ ์๊ตฌ์ ์ผ๋ก ์ฐ๊ฒฐํด์ผ ํ๋ค๋ฉด, ์๊ฒฉ ์์คํ ์์ SSH๋ฅผ ํตํด ์์ ํ๋ ๊ฒ์ ์ ํฉํ์ง ์์ ๊ฒ์ ๋๋ค.
ํนํ ๋๊ท๋ชจ ์๋น์ค ์งํฅ ์ํคํ ์ฒ๋ฅผ ์์ ํ๋ ์์ง๋์ด์๊ฒ๋ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์ด ์ฌ์ ํ ์ด๋ ค์ด ๋ฌธ์ ์ ๋๋ค. ์ผ๋ถ ํ๋ก์ ํธ์์๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ณ ์์ผ๋ฉฐ, ์ฃผ์ด์ง ์ฌ์ฉ ์ฌ๋ก์์ ๊ฐ์ฅ ์ธ์ฒด๊ณตํ์ ์ธ UX๊ฐ ์ด๋ค ๋ชจ์ต์ผ์ง ์๊ณ ์ถ์ต๋๋ค.
๋ํ "์ด์ ๊ฐ๋ฅํ ํ๊ฒฝ" ๊ฐ๋
์ ๋ฒ๊ทธ ์ฌํ(๋๋
๋ํ ์๋ฏธ๋ก ์ ๋ฐ ์ํฉ์ ๋ง๋ ์ฝ๋ ๊ฒ์, ์์ฐ ์ฌ๊ณ ๋ฅผ ์ฝ๋๋ฒ ์ด์ค์ ํน์ ๋ถ๋ถ๊ณผ ์ฐ๊ด์ํค๋ ๋๊ตฌ ๋ฑ๊ณผ ๊ฐ์ ์์ญ์์ ๋ ๋ง์ ํ์ ์ ๋ณด๊ณ ์ถ์ต๋๋ค.
์ปดํจํ (PaaS์ ๋ฏธ๋)
2010๋ ๋ ์ปจํ ์ด๋์ ์๋ฒ๋ฆฌ์ค์ ๋ํ ๊ณผ๋๊ด๊ณ ์ ์ด์ด ์ง๋ ๋ช ๋ ๋์ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ๊ณต๊ฐ์ ์๋ฃจ์ ๋ฒ์๊ฐ ํฌ๊ฒ ํ์ฅ๋์์ต๋๋ค.
์ด๊ฒ์ ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ์ง๋ฌธ์ ์ ๊ธฐํฉ๋๋ค. ์ฐ์ , ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ต์
๋ชฉ๋ก์ด ์ง์์ ์ผ๋ก ๋์ด๋๊ณ ์์ต๋๋ค. ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์
์ฒด๋ ์คํ ์์ค ์ธ๊ณ์ ์ต์ ๊ฐ๋ฐ ์ํฉ์ ์ฝ๊ฒ ๋ฐ๋ผ์ก์ ์ ์๋ ์ง์๊ณผ ๋ฆฌ์์ค๋ฅผ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ "์๋ฒ๋ฆฌ์ค ํฌ๋"(๋จ์ํ ์์ฒด FaaS ๋ฐํ์์ OCI ํธํ์ผ๋ก ๋ง๋๋ ๊ฒ์ผ๋ก ์์ฌ๋จ) ๋๋ ๊ธฐํ ์ด์ ์ ์ฌํ ์ ํ์ ์ถ์ํฉ๋๋ค.
์ด๋ฌํ ํด๋ผ์ฐ๋ ์๋ฃจ์ ์ ์ฌ์ฉํ๋ ์ฌ๋๋ค์ ๋ถ๋ฌ์ํ ์๋ฐ์ ์์ต๋๋ค. ์ด๋ก ์ ์ผ๋ก Kubernetes ํด๋ผ์ฐ๋ ์ ํ(GKE, EKS, Fargate์ EKS ๋ฑ)์ ์ํฌ๋ก๋ ์คํ์ ์ํด ํด๋ผ์ฐ๋ ๊ณต๊ธ์ ๋ ๋ฆฝ์ ์ธ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ ์ฌํ ์ ํ(ECS, Fargate, Google Cloud Run ๋ฑ)์ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด ์๋น์ค ์ ๊ณต์ ์ฒด๊ฐ ์ ๊ณตํ๋ ๊ฐ์ฅ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ์ ์ด๋ฏธ ์ต๋ํ ํ์ฉํ๊ณ ์์ ๊ฒ์ ๋๋ค. ๋ํ ์๋ก์ด ์ ํ์ด๋ ์ปดํจํ ํจ๋ฌ๋ค์์ด ๋ฑ์ฅํ๋ฉด ๋ง์ด๊ทธ๋ ์ด์ ์ด ๊ฐ๋จํ๊ณ ์คํธ๋ ์ค ์์ด ์งํ๋ ์ ์์ต๋๋ค.
์ด๋ฌํ ์๋ฃจ์ ์ ๋ฒ์๊ฐ ์ผ๋ง๋ ๋นจ๋ฆฌ ์งํํ๊ณ ์๋์ง๋ฅผ ๊ณ ๋ คํ๋ฉด(๊ฐ๊น์ด ๋ฏธ๋์ ๋ช ๊ฐ์ง ์๋ก์ด ์ต์ ์ด ๋ํ๋์ง ์์ผ๋ฉด ๋งค์ฐ ๋๋ ๊ฒ์ ๋๋ค), ์๊ท๋ชจ "ํ๋ซํผ" ํ(์ธํ๋ผ์ ๊ด๋ จ๋๊ณ ์จํ๋ ๋ฏธ์ค ํ๋ซํผ์ ๋ง๋๋ ์ฑ ์์ ๋งก์ ํ) ์ํฌ๋ก๋๋ฅผ ์ด์ํ๋ ๊ธฐ์ )์ ๊ธฐ๋ฅ, ์ฌ์ฉ ์ฉ์ด์ฑ ๋ฐ ์ ๋ฐ์ ์ธ ์์ ์ฑ ์ธก๋ฉด์์ ๊ฒฝ์ํ๊ธฐ๊ฐ ๋งค์ฐ ์ด๋ ค์ธ ๊ฒ์ ๋๋ค. 2010๋ ๋์๋ Kubernetes๋ฅผ PaaS(Platform-as-a-Service) ๊ตฌ์ถ์ ์ํ ๋๊ตฌ๋ก ๋ณด์๊ธฐ ๋๋ฌธ์ ๋์ค์๊ฒ ์ ๊ณต๋๋ ๊ฒ๊ณผ ๋์ผํ ์ ํ, ๋จ์์ฑ ๋ฐ ์์ ๋ฅผ ์ ๊ณตํ๋ Kubernetes ์์ ๋ด๋ถ ํ๋ซํผ์ ๊ตฌ์ถํ๋ ๊ฒ์ด ์ ํ ๋ฌด์๋ฏธํด ๋ณด์ ๋๋ค. ํด๋ผ์ฐ๋ ๊ณต๊ฐ. ์ปจํ ์ด๋ ๊ธฐ๋ฐ PaaS๋ฅผ "Kubernetes ์ ๋ต"์ผ๋ก ๊ตฌ์ฑํ๋ ๊ฒ์ ํด๋ผ์ฐ๋์ ๊ฐ์ฅ ํ์ ์ ์ธ ๊ธฐ๋ฅ์ ์๋์ ์ผ๋ก ํผํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ์ ๋ณด๋ฉด ์ค๋ ์ปดํจํ ๊ธฐ๋ฅ์ ๊ฐ์ถ๋ค๋ฉด Kubernetes๋ง์ ๊ธฐ๋ฐ์ผ๋ก ํ ์์ ๋ง์ PaaS๋ฅผ ๋ง๋๋ ๊ฒ์ ์์ ์ ๊ถ์ง๋ก ๋ชฐ๊ณ ๊ฐ๋ ๊ฒ๊ณผ ๋ค๋ฆ์๋ค๋ ๊ฒ์ด ๋ถ๋ช ํด์ก์ต๋๋ค(์์ฃผ ๋ฏธ๋ ์งํฅ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์๋์ฃ ?). ์ง๊ธ ๋๊ตฐ๊ฐ๊ฐ Kubernetes์ ์ปจํ ์ด๋ํ๋ PaaS๋ฅผ ๊ตฌ์ถํ๊ธฐ๋ก ๊ฒฐ์ ํ๋๋ผ๋ ๋ช ๋ ํ์๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฅ์ ๋นํด ๋ก์ ๋ณด์ผ ๊ฒ์ ๋๋ค. Kubernetes๋ ์คํ์์ค ํ๋ก์ ํธ๋ก ์์๋์์ง๋ง ๊ทธ ์กฐ์์ด์ ์๊ฐ์ ๋ด๋ถ Google ๋๊ตฌ์ ๋๋ค. ๊ทธ๋ฌ๋ ์๋ ์ปดํจํ ํ๊ฒฝ์ด ์์ ํ ๋ค๋ฅธ 2000๋ ๋ ์ด์ค๋ฐ์ ๊ฐ๋ฐ๋์์ต๋๋ค.
๋ํ ๋งค์ฐ ๋์ ์๋ฏธ์์ ๊ธฐ์ ์ Kubernetes ํด๋ฌ์คํฐ ์ด์ ์ ๋ฌธ๊ฐ๊ฐ ๋ ํ์๋ ์๊ณ ์์ฒด ๋ฐ์ดํฐ ์ผํฐ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํ ํ์๋ ์์ต๋๋ค. ์์ ์ ์ธ ์ปดํจํ ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ ๊ฒ์ด ํต์ฌ ๊ณผ์ ์ ๋๋ค. ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์ ์ฒด.
๋ง์ง๋ง์ผ๋ก, ์ฐ๋ฆฌ๋ ์
๊ณ ์ธก๋ฉด์์ ์ฝ๊ฐ ํด๋ณดํ ๊ฒ ๊ฐ์ต๋๋ค. ์ํธ์์ฉ ๊ฒฝํ (
์ด ๋ชจ๋ ๊ฒ์ด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๋ก ์ ์ด๋ฅด๊ฒ ํฉ๋๋ค: ์๋ํ๋ ค๋ฉด ๋ ๋์, ๋ ๋์ ์์ค์ ์ถ์ํ๊ฐ ํ์ํฉ๋๋ค(ํนํ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ํด๋น๋ฉ๋๋ค). ์ต๊ณ ์์ค์ ์ถ์ํ).
์ต๊ณ ์์ค์ ์ฌ๋ฐ๋ฅธ API
Docker๋ ๋์์ ์ฐ๋ ค ์ฌํญ์ ๋ ํจ๊ณผ์ ์ผ๋ก ๋ถ๋ฆฌํด์ผ ํ๋ ํ์์ฑ์ ๋ณด์ฌ์ฃผ๋ ์ข์ ์์ ๋๋ค. ์ต๊ณ ์์ค API์ ์ฌ๋ฐ๋ฅธ ๊ตฌํ.
Docker์ ๋ฌธ์ ๋ (์ ์ด๋) ์ฒ์์๋ ํ๋ก์ ํธ์ ๋ชฉํ๊ฐ ๋๋ฌด ๊ด๋ฒ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ ๊ฒ์ ์ปจํ ์ด๋ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ํธํ์ฑ ๋ฌธ์ (โ๋ด ์ปดํจํฐ์์ ์๋โ)๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๊ฒ์ด์์ต๋๋ค. Docker๋ ์ด๋ฏธ์ง ํ์, ์์ฒด ๊ฐ์ ๋คํธ์ํฌ๊ฐ ์๋ ๋ฐํ์, CLI ๋๊ตฌ, ๋ฃจํธ๋ก ์คํ๋๋ ๋ฐ๋ชฌ ๋ฑ์ด์์ต๋๋ค. ์ด์จ๋ ๋ฉ์์ง ๊ตํ์ ๋ "๊ฒฝ๋ VM", cgroup, ๋ค์์คํ์ด์ค, ์๋ง์ ๋ณด์ ๋ฌธ์ ๋ฐ ๊ธฐ๋ฅ์ ๋งํ ๊ฒ๋ ์๊ณ "์ด๋์๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ, ์ ๊ณต, ์คํ"ํ๋ผ๋ ๋ง์ผํ ์๊ตฌ์ ํผํฉ๋์ด ํผ๋์ค๋ฝ์ต๋๋ค.
๋ชจ๋ ์ข์ ์ถ์ํ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ค์ํ ๋ฌธ์ ๋ฅผ ์๋ก ๊ฒฐํฉํ ์ ์๋ ๋
ผ๋ฆฌ์ ๊ณ์ธต์ผ๋ก ๋๋๋ ๋ฐ๋ ์๊ฐ(๊ทธ๋ฆฌ๊ณ ๊ฒฝํ๊ณผ ๊ณ ํต)์ด ํ์ํฉ๋๋ค. ๋ถํํ๊ฒ๋ Docker๊ฐ ๋น์ทํ ์ฑ์๋์ ๋๋ฌํ๊ธฐ ์ ์ Kubernetes๊ฐ ๊ฒฝ์์ ๋ฐ์ด๋ค์์ต๋๋ค. ๊ณผ๋๊ด๊ณ ์ฃผ๊ธฐ๋ฅผ ๋๋ฌด ๋
์ ํ๊ธฐ ๋๋ฌธ์ ์ด์ ๋ชจ๋๊ฐ Kubernetes ์ํ๊ณ์ ๋ณํ๋ฅผ ๋ฐ๋ผ์ก์ผ๋ ค๊ณ ๋
ธ๋ ฅํ๊ณ , ์ปจํ
์ด๋ ์ํ๊ณ๋ ๋ถ์ฐจ์ ์ธ ์ง์๋ฅผ ์ฐจ์งํ์ต๋๋ค.
Kubernetes๋ Docker์ ๋์ผํ ๋ฌธ์ ๋ฅผ ๋ง์ด ๊ณต์ ํฉ๋๋ค. ๋ฉ์ง๊ณ ๊ตฌ์ฑ ๊ฐ๋ฅํ ์ถ์ํ์ ๋ํ ๋ชจ๋ ์ด์ผ๊ธฐ์ ๋ํด์๋ ๋ค์ํ ์์ ์ ๋ ์ด์ด๋ก ๋ถ๋ฆฌ ์ ์บก์ํ๋์ง ์์์ต๋๋ค. ํต์ฌ์ ๋ค์ํ ๋จธ์ ์ ํด๋ฌ์คํฐ์์ ์ปจํ ์ด๋๋ฅผ ์คํํ๋ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ดํฐ์ ๋๋ค. ์ด๋ ํด๋ฌ์คํฐ๋ฅผ ์ด์ํ๋ ์์ง๋์ด์๊ฒ๋ง ์ ์ฉ๋๋ ์๋นํ ๋ฎ์ ์์ค์ ์์ ์ ๋๋ค. ๋ฐ๋ฉด ์ฟ ๋ฒ๋คํฐ์ค๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ต๊ณ ์์ค์ ์ถ์ํ, ์ฌ์ฉ์๊ฐ YAML์ ํตํด ์ํธ ์์ฉํ๋ CLI ๋๊ตฌ์ ๋๋ค.
Docker๋ ๊ณผ๊ฑฐ์๋ ๊ทธ๋ฌ๊ณ ์ง๊ธ๋ ๊ทธ๋ ์ต๋๋ค. ์์ํ ๋ชจ๋ ๋จ์ ์๋ ๋ถ๊ตฌํ๊ณ ๊ฐ๋ฐ ๋๊ตฌ์ ๋๋ค. ๋ชจ๋ "ํ ๋ผ"๋ฅผ ํ ๋ฒ์ ๋ฐ๋ผ์ก๊ธฐ ์ํด ๊ฐ๋ฐ์๋ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌํํ์ต๋๋ค. ์ต๊ณ ์์ค์ ์ถ์ํ. ๊ฐ์ฅ ๋์ ์์ค์ ์ถ์ํ๋ ๋ด ๋ง์ ๋ถ๋ถ ์งํฉ ๋์ ์ฌ์ฉ์(์ด ๊ฒฝ์ฐ ๋๋ถ๋ถ์ ์๊ฐ์ ๋ก์ปฌ ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋ณด๋ธ ๊ฐ๋ฐ์)๊ฐ ์ค์ ๋ก ๊ด์ฌ์ ๊ฐ๊ณ ์ฆ์ ํ๋ฅญํ๊ฒ ์๋ํ๋ ๊ธฐ๋ฅ.
Dockerfile ๋ฐ CLI ์ ํธ๋ฆฌํฐ docker
์ข์ "์ต๊ณ ์์ค์ ์ฌ์ฉ์ ๊ฒฝํ"์ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ์๊ฐ ๋์ด์ผ ํฉ๋๋ค. ์ผ๋ฐ ๊ฐ๋ฐ์๋ ๋ณต์กํ ์ฌํญ์ ๋ํด ์ ํ ๋ชจ๋ฅด๋๋ผ๋ Docker ์์
์ ์์ํ ์ ์์ต๋๋ค. ์ด์ ๊ฒฝํ์ ๊ธฐ์ฌํ๋ ๊ตฌํ๋ค์์คํ์ด์ค, cgroup, ๋ฉ๋ชจ๋ฆฌ ๋ฐ CPU ์ ํ ๋ฑ ๊ถ๊ทน์ ์ผ๋ก Dockerfile์ ์์ฑํ๋ ๊ฒ์ ์
ธ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ ๊ฒ๊ณผ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ต๋๋ค.
Kubernetes๋ ๋ค์ํ ๋์ ๊ทธ๋ฃน์ ๋์์ผ๋ก ํฉ๋๋ค.
- ํด๋ฌ์คํฐ ๊ด๋ฆฌ์;
- ์ธํ๋ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ Kubernetes์ ๊ธฐ๋ฅ์ ํ์ฅํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ซํผ์ ๋ง๋๋ ์ํํธ์จ์ด ์์ง๋์ด
- ์ต์ข
์ฌ์ฉ์๋ ๋ค์์ ํตํด Kubernetes์ ์ํธ์์ฉํฉ๋๋ค.
kubectl
.
Kubernetes์ "๋ชจ๋ ๊ฒ์ ์ ํฉํ ํ๋์ API" ์ ๊ทผ ๋ฐฉ์์ ํ์ฅ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ ์์ด ์บก์ํ๋์ง ์์ "๋ณต์ก์ฑ์ ์ฐ"์ ๋ํ๋
๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ์ ๋นํ๋ ์ ์์ ์ ๋๋ก ์ฅ๊ธฐ๊ฐ์ ํ์ต ๊ถค์ ์ ์ด๋ํฉ๋๋ค. ์ด๋ป๊ฒ docker run
. ๋๋ต์ '์'์
๋๋ค.":
๋๋ ์ค๋๋ ๋๋ถ๋ถ์ ์ธํ๋ผ ๊ธฐ์ ์ด ๋๋ฌด ๋ฎ์ ์์ค(๋ฐ๋ผ์ "๋๋ฌด ๋ณต์ก"ํ๋ค๊ณ ๊ฐ์ฃผ๋จ)์ด๋ผ๊ณ ์ฃผ์ฅํ๊ณ ์ถ์ต๋๋ค. Kubernetes๋ ์๋นํ ๋ฎ์ ์์ค์์ ๊ตฌํ๋ฉ๋๋ค. ๋ถ์ฐ ์ถ์
ํ์ฌ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํ๊ณ๋ ๋ฎ์ ์์ค์ ์ง์ค์ผ๋ก ์ธํด ํผ๋์ ๊ฒช๊ณ ์์ต๋๋ค. ์ ๊ณ๋ก์ ์ฐ๋ฆฌ๋ ์ฌ๋ฐ๋ฅธ ์์ค์ "์ต๋, ์ต๊ณ ์ถ์ํ"๊ฐ ์ด๋ค ๊ฒ์ธ์ง ํ์ ํ๊ณ ์คํํ๊ณ ๊ต์กํด์ผ ํฉ๋๋ค.
์๋งค
2010๋ ๋์๋ ๋์งํธ ์๋งค ๊ฒฝํ์ ํฌ๊ฒ ๋ณํ์ง ์์์ต๋๋ค. ํํธ์ผ๋ก๋ ์จ๋ผ์ธ ์ผํ์ ์ฉ์ด์ฑ์ด ๊ธฐ์กด ์๋งค์ ์ ๊ฐํํ์ด์ผ ํ์ง๋ง, ๋ค๋ฅธ ํํธ์ผ๋ก๋ ์จ๋ผ์ธ ์ผํ์ ๊ทผ๋ณธ์ ์ผ๋ก ์ง๋ XNUMX๋ ๋์ ๊ฑฐ์ ๋ณํ์ง ์์์ต๋๋ค.
์ ๋ ์ด ์ฐ์ ์ด ํฅํ 2030๋ ๋์ ์ด๋ป๊ฒ ๋ฐ์ ํ ๊ฒ์ธ์ง์ ๋ํด ๊ตฌ์ฒด์ ์ผ๋ก ์๊ฐํ์ง ์์ง๋ง, 2020๋ ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก XNUMX๋ ์๋ ์ผํํ๋ค๋ฉด ๋งค์ฐ ์ค๋ง์ค๋ฌ์ธ ๊ฒ์ ๋๋ค.
์ ๋๋ฆฌ์ฆ
๋๋ ๊ธ๋ก๋ฒ ์ ๋๋ฆฌ์ฆ์ ์ํฉ์ ์ ์ ๋ ํ๋ฉธ์ ๋๋ผ๊ณ ์์ต๋๋ค. ๊ฐ๊ด์ ์ด๊ณ ์ธ์ฌํ๊ฒ ๋ณด๋ํ๋ ํธ๊ฒฌ ์๋ ๋ด์ค ๋งค์ฒด๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ ์ ๋ ์ด๋ ค์์ง๊ณ ์์ต๋๋ค. ๋ด์ค ์์ฒด์ ๋ด์ค์ ๋ํ ์๊ฒฌ ์ฌ์ด์ ๊ฒฝ๊ณ๊ฐ ๋ชจํธํด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ๋ณด๋ ํธํฅ๋ ๋ฐฉ์์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ์ด๋ ์ญ์ฌ์ ์ผ๋ก ๋ด์ค์ ์๊ฒฌ์ด ๋ถ๋ฆฌ๋์ง ์์๋ ์ผ๋ถ ๊ตญ๊ฐ์์ ํนํ ๊ทธ๋ ์ต๋๋ค. ์ง๋ ์๊ตญ ์ด์ ์ดํ ๋ฐํ๋ ์ต๊ทผ ๊ธฐ์ฌ์์ ๊ฐ๋์ธ(The Guardian)์ ์ ํธ์ง์ฅ์ธ ์จ๋ฐ ๋ฃจ์ค๋ธ๋ฆฌ์ (Alan Rusbridger)๋ ๋ค์๊ณผ ๊ฐ์ด ๋งํ์ต๋๋ค.
์์ ์ ์๋ ๋์ ๋ฏธ๊ตญ ์ ๋ฌธ์ ๋ณด๋ฉด์ ๋ด์ค์ ์ ์ ์ผ๋ก ์ฑ ์์ด ์๊ณ ๋ ผํ์ ์์ ํ ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ ๋งก๊ธฐ๋ ๊ทธ๊ณณ์ ๋๋ฃ๋ค์ ๋ํด ์ํ๊น์์ ๋๊ผ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์๊ฐ์ด ์ง๋๋ฉด์ ๋์ ์ฌ์ ์๊ธฐ์ฌ์ผ๋ก ๋ฐ๋์์ต๋๋ค. ๋๋ ์ด์ ๋ชจ๋ ์๊ตญ ์ ๊ตญ ์ ๋ฌธ์ด ๋ด์ค์ ๋ํ ์ฑ ์๊ณผ ๋ ผํ์ ๋ํ ์ฑ ์์ ๋ถ๋ฆฌํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ถํํ๊ฒ๋ ์ผ๋ฐ ๋ ์, ํนํ ์จ๋ผ์ธ ๋ ์๊ฐ ๊ทธ ์ฐจ์ด๋ฅผ ๊ตฌ๋ณํ๋ ๊ฒ์ ๋๋ฌด ์ด๋ ต์ต๋๋ค.
์ค๋ฆฌ์ ๊ด๋ จํ์ฌ ์ค๋ฆฌ์ฝ ๋ฐธ๋ฆฌ์ ๋ค์ ๋ชจํธํ ํํ์ ๊ฐ์ํ ๋ ์ ๋ ๊ธฐ์ ์ด ์ ๋๋ฆฌ์ฆ์ "ํ๋ช "์ํฌ ๊ฒ์ด๋ผ๊ณ ๊ฒฐ์ฝ ๋ฏฟ์ง ์์ ๊ฒ์ ๋๋ค. ์ฆ, ๊ณต์ ํ๊ณ , ์ฌ์ฌ ์๊ณ , ์ ๋ขฐํ ์ ์๋ ๋ด์ค ์์ค๊ฐ ์๋ค๋ฉด ์ (๊ทธ๋ฆฌ๊ณ ์ ๋ง์ ์น๊ตฌ๋ค)๋ ๊ธฐ๋ปํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌํ ํ๋ซํผ์ด ์ด๋ค ๋ชจ์ต์ผ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์ง์ค์ ์๋ณํ๊ธฐ๊ฐ ์ ์ ๋ ์ด๋ ค์์ง๋ ์๋์ ์ ์งํ ์ ๋๋ฆฌ์ฆ์ ํ์์ฑ์ด ๊ทธ ์ด๋ ๋๋ณด๋ค ํฌ๋ค๊ณ ํ์ ํฉ๋๋ค.
ะกะพัะธะฐะปัะฝัะต ัะตัะธ
์์ ๋ฏธ๋์ด์ ์ปค๋ฎค๋ํฐ ๋ด์ค ํ๋ซํผ์ ์ ์ธ๊ณ ๋ง์ ์ฌ๋๋ค์ ์ฃผ์ ์ ๋ณด ์์ค์ด๋ฉฐ, ์ผ๋ถ ํ๋ซํผ์ ์ ํ์ฑ์ด ๋ถ์กฑํ๊ณ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ค ํ์ธ์กฐ์ฐจ ๊บผ๋ฆฌ๋ฏ๋ก ๋๋ ํ์ด, ์ ๊ฑฐ ๊ฐ์ญ ๋ฑ๊ณผ ๊ฐ์ ์ฌ์์ ์ธ ๊ฒฐ๊ณผ๊ฐ ์ด๋๋์์ต๋๋ค. .
์์ ๋ฏธ๋์ด๋ ๋ํ ์ง๊ธ๊น์ง ์กด์ฌํ๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋ฏธ๋์ด ๋๊ตฌ์ด๊ธฐ๋ ํฉ๋๋ค. ๊ทธ๋ค์ ์ ์น์ ๊ดํ์ ๊ทผ๋ณธ์ ์ผ๋ก ๋ณํ์์ผฐ์ต๋๋ค. ๊ทธ๋ค์ ๊ด๊ณ ๋ฅผ ๋ฐ๊ฟจ์ต๋๋ค. ๊ทธ๋ค์ ๋์ค ๋ฌธํ๋ฅผ ๋ณํ์์ผฐ์ต๋๋ค(์๋ฅผ ๋ค์ด, ์์ ์ทจ์ ๋ฌธํ ๋ฐ์ ์ ์ฃผ์ํ ๊ธฐ์ฌ๋ฅผ ํ์ต๋๋ค) [๋ฐฐ์ฒ์ ๋ฌธํ - ๋๋ต. ๋ฒ์ญ] ์์ ๋คํธ์ํฌ๊ฐ ๊ธฐ์ฌํฉ๋๋ค). ๋นํ๊ฐ๋ค์ ์์ ๋ฏธ๋์ด๊ฐ ๋๋์ ๊ฐ์น์ ๋น ๋ฅด๊ณ ๋ณ๋์ค๋ฌ์ด ๋ณํ๋ฅผ ์ํ ๋น์ฅํ ๊ธฐ๋ฐ์์ด ์ ์ฆ๋์์ง๋ง, ์์ธ๋ ์ง๋จ์ ๊ตฌ์ฑ์๋ค์๊ฒ ์ด์ ์๋ ๊ฒฐ์ฝ ๊ฐ์ง ๋ชปํ๋ ๋ฐฉ์์ผ๋ก ์กฐ์งํํ ์ ์๋ ๊ธฐํ๋ ์ ๊ณตํ๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ์์ ๋ฏธ๋์ด๋ XNUMX์ธ๊ธฐ ์ฌ๋๋ค์ด ์์ฌ์ํตํ๊ณ ์์ ์ ํํํ๋ ๋ฐฉ์์ ๋ณํ์์ผฐ์ต๋๋ค.
๊ทธ๋ฌ๋ ๋๋ ๋ํ ์์ ๋ฏธ๋์ด๊ฐ ์ต์ ์ ์ธ๊ฐ ์ถฉ๋์ ๊ฐ์ ธ์จ๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๋์ค์ฑ์ ์ํด ๋ฐฐ๋ ค์ ์ฌ๋ ค ๊น์์ ๋ฑํ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ผ๋ฉฐ, ํน์ ์๊ฒฌ๊ณผ ์ ์ฅ์ ๋ํด ์ด์ฑ์ ์ธ ๋ถ์ผ์น๋ฅผ ํํํ๋ ๊ฒ์ด ๊ฑฐ์ ๋ถ๊ฐ๋ฅํด์ง๋๋ค. ์๊ทนํ๋ ์ข ์ข ํต์ ํ ์ ์๊ฒ ๋์ด ๋์ค์ด ๋จ์ํ ๊ฐ์ธ์ ์๊ฒฌ์ ๋ฃ์ง ๋ชปํ๋ ๋ฐ๋ฉด ์ ๋์ฃผ์์๋ค์ ์จ๋ผ์ธ ์์ ๊ณผ ์์ฉ์ฑ ๋ฌธ์ ๋ฅผ ํต์ ํ๊ฒ ๋ฉ๋๋ค.
๋ ๋์ ํ์ง์ ํ ๋ก ์ ์ด์งํ๋ "๋ ๋์" ํ๋ซํผ์ ๋ง๋๋ ๊ฒ์ด ๊ฐ๋ฅํ์ง ๊ถ๊ธํฉ๋๋ค. ๊ฒฐ๊ตญ, ์ด๋ฌํ ํ๋ซํผ์ ์ฃผ์ ์ด์ต์ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋ฐ๋ก "์ฐธ์ฌ"๋ฅผ ์ฃผ๋ํ๋ ๊ฒ์
๋๋ค. ์ด๋ป๊ฒ
์ฆ์ค์ ํธํํจ์ ์ ๋ฐํ์ง ์๊ณ ๋์งํธ ์ํธ์์ฉ์ ๋ฐ์ ์ํค๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ๋๋ถ๋ถ์ ์์ ๋ฏธ๋์ด ์ฌ์ดํธ๊ฐ ์ ๋ ํด ๋ณด์ด๋ ์ด์ ๋ ์ฝํ ์ธ ์ ์ ํ์ฑ๋ณด๋ค๋ ์๋, ์ ์๋ฌธ, ๊ด์ฌ์ ์ํด ๊ตฌ์ถ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์์ญ ๋ ์์ ์์ ๋ฏธ๋์ด์ ์ ์ผํ ์ ์ฐ์ด ๊ณต๊ฐ ๋ด๋ก ์ ๋์์ค์ ์ ์ ์ฑ์ ์นจ์์ด๋ผ๋ฉด ์ ๋ง ๋ถํํ ์ผ์ด ๋ ๊ฒ์ ๋๋ค.
๋ฒ์ญ๊ฐ์ ์ถ์
๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
Docker ๋ณํ: Docker Enterprise๋ฅผ Mirantis๋ก ํ๋งค ๋ฐ ์ ๋ฐ์ดํธ๋ ๊ฒฝ๋ก "; - ยซ
Kubernetes์ Docker ๋ฐ ๊ธฐํ ์ปจํ ์ด๋ ๋ฐํ์์ ๊ณผ๊ฑฐ, ํ์ฌ, ๋ฏธ๋ "; - ยซ
์ปจํ ์ด๋, ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐ Kubernetes์ ๋ํ ์๋ก์ด CNCF ํต๊ณ "; - ยซ
์ง์์ ์ธ ํตํฉ์ด ํ์ํ์ง ์๋ค๊ณ ์๊ฐํ๋ ๊ฐ๋ฐ์๋ ๋ช ๋ช ์ ๋๊น? ".
์ถ์ฒ : habr.com