๐ฅ ์ค๋์ ์ฃผ์ ์์
Spark 4.2 has a feature that could retire your vector database
Apache Spark 4.2๊ฐ ์ง๋์ฃผ ์ถ์๋๋ฉฐ ์ํฐํ๋ผ์ด์ฆ ๋ฐ์ดํฐ ์ํฌ๋ก๋ ์ค์ฌ์ผ๋ก์ 10๋ ๋๊ฒ ์ด์ด์จ Spark์ ์ญํ ์ ํ์ธต ํ์ฅํ๋ค. ์ด๋ฒ ๋ฒ์ ์ ํต์ฌ์ ๋ค์ดํฐ๋ธ ๋ฒกํฐ ๊ฒ์(vector search) ๊ธฐ๋ฅ ์ถ๊ฐ๋ก, ๋ณ๋์ ์ ์ฉ ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ด๋ Spark ์์์ ์๋ฒ ๋ฉ ๊ฒ์์ ์ํํ ์ ์๊ฒ ๋๋ค. ๊ฑฐ๋ฒ๋์ค ๊ด์ ์์๋ '๊ด๋ฆฌํ ์งํ(governed metrics)' ๊ธฐ๋ฅ์ด ์๋ก ๋ค์ด๊ฐ ์กฐ์ง ์ ๋ฐ์์ ์งํ ์ ์๋ฅผ ์ผ๊ด๋๊ฒ ๊ด๋ฆฌํ ์ ์๋๋ก ์ง์ํ๋ค. ์คํธ๋ฆฌ๋ฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ๋ ๊ฐ์ ๋์ด ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋๋ฆฌ์ค์์์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ด ๊ฐํ๋๋ค. Python ์ง์์ด ๋ ๊น์ด์ง๋ฉด์ PySpark ๊ธฐ๋ฐ AI/ML ์ํฌํ๋ก ๊ฐ๋ฐ์ด ํ์ธต ์์ํด์ก๋ค. ์ ์ Amanda Caswell์ ์ด๋ฐ ๋ณํ๋ค์ด Spark๋ฅผ ๋จ์ ๋ฐฐ์น ์ฒ๋ฆฌ ์์ง์์ AI ์๋น ๋ ์ด์ด๋ก ํฌ์ง์ ๋ํ๋ ํ๋ฆ์ด๋ผ๊ณ ์ง๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ธฐ์ ๋ค์ ๋ฒกํฐ ๊ฒ์์ ์ํด ๋ณ๋ ์ธํ๋ผ๋ฅผ ๋์ ํ๋ ๋์ ๊ธฐ์กด Spark ํด๋ฌ์คํฐ๋ฅผ ํ์ฅํ๋ ์ ํ์ง๋ฅผ ๊ฒํ ํ ์ ์๊ฒ ๋๋ค.
๐ก ์ ์ค์ํ๊ฐ: ๋ฒกํฐ ๊ฒ์์ ์ด๋ฏธ ์ฐ๋ Spark ํด๋ฌ์คํฐ ์์ผ๋ก ํก์ํ๋ฉด ๋ณ๋ ๋ฒกํฐ DB ๋์ ยท์ด์ ๋น์ฉ๊ณผ ๋ฐ์ดํฐ ์ด์คํ๋ฅผ ์ค์ผ ์ ์์ง๋ง, ๊ธฐ์กด ๋ฒกํฐ DB ๋๋น ์ง์ฐ์๊ฐยท์ธ๋ฑ์ฑ ์ฑ๋ฅ์ ๊ฒ์ฆ์ด ํ์ํ๋ค.
๐ ์๋ฌธ ๋ณด๊ธฐ ยท The New Stack
DevOps & ์ธํ๋ผ
Move code review before the code
The New Stack
์ ์ Ankit Jain๊ณผ Vanitha Kumar๋ ์ฐ๋ฆฌ๊ฐ ์๊ณ ์๋ 'ํ ๋ฆฌํ์คํธ(PR)' ๋ฐฉ์์ ์ฝ๋ ๋ฆฌ๋ทฐ๊ฐ ์ฝ 20๋ ์ ์ ์ ๋ฆฝ๋ ํ๋ก์ธ์ค๋ผ๊ณ ์ง๋๋ค. AI ์ฝ๋ฉ ๋๊ตฌ๊ฐ ์ฝ๋ ์์ฑ ์๋๋ฅผ ํฌ๊ฒ ๋์ด๋ฉด์, ์์ฑ๋ ์ฝ๋ diff๋ฅผ ์ฌํ์ ๊ฒํ ํ๋ ์ ํต์ PR ๋ฆฌ๋ทฐ ๋ฐฉ์์ด ๋ณ๋ชฉ์ด ๋๊ณ ์๋ค๊ณ ์ฃผ์ฅํ๋ค. ์ด๋ค์ ๋ฆฌ๋ทฐ ์์ ์ ์ฝ๋๊ฐ ๋ค ์์ฑ๋ ์ดํ๊ฐ ์๋๋ผ ๊ฐ๋ฐ์์ ์๋(intent)๋ฅผ ์ ์ํ๋ ๋ ์ด๋ฅธ ๋จ๊ณ๋ก ์ฎ๊ธธ ๊ฒ์ ์ ์ํ๋ค. ์ฆ ์๊ตฌ์ฌํญ์ด๋ ์ค๊ณ ์๋๋ฅผ ๋จผ์ ๋ช ํํ ๊ฒํ ยทํฉ์ํ ๋ค AI๊ฐ ๊ทธ ์๋์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์์ฑํ๋๋ก ํ๋ ํ๋ฆ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฆฌ๋ทฐ์ด๊ฐ ๋ฐฉ๋ํ diff๋ฅผ ํ ์ค์ฉ ํ๋ ๋์ ๋ฐฉํฅ์ฑ๊ณผ ์ค๊ณ ๊ฒฐ์ ์ ์ง์คํ ์ ์์ด ๋ฆฌ๋ทฐ ๋ณ๋ชฉ์ด ์ค์ด๋ ๋ค๋ ์ค๋ช ์ด๋ค. ๊ธ์ ์ด๋ฐ '์๋ฅ(upstream) ๋ฆฌ๋ทฐ' ์ ํ์ด ์์ง๋์ด๋ง ์กฐ์ง์ ํ์ฅ์ฑ๊ณผ ์๊ฐ ์ ์ฝ์ ๋์์ด ๋๋ค๊ณ ๊ฐ์กฐํ๋ค. ๊ฒฐ๊ตญ AI ์๋์ ์ฝ๋ ๋ฆฌ๋ทฐ๋ '๋ฌด์์ด ๋ง๋ค์ด์ก๋๊ฐ'๊ฐ ์๋๋ผ '์, ์ด๋ป๊ฒ ๋ง๋ค ๊ฒ์ธ๊ฐ'๋ฅผ ๊ฒํ ํ๋ ๋ฐฉํฅ์ผ๋ก ์ฌ์ค๊ณ๋ผ์ผ ํ๋ค๋ ๊ฒ์ด ํต์ฌ ์ฃผ์ฅ์ด๋ค.
๐ก PR ์ดํ ๊ฒํ ์์ ์๋ ๋จ๊ณ ๊ฒํ ๋ก ์ฎ๊ธฐ๋ฉด AI๊ฐ ๋๋ ์์ฑํ ์ฝ๋์ ๋ฆฌ๋ทฐ์ด๊ฐ ์๋๋๋ ์ํฉ์ ๋ง์ ์ ์์ง๋ง, ํ ํ๋ก์ธ์ค์ ๋๊ตฌ ์ฒด์ธ์ ํจ๊ป ๋ฐ๊ฟ์ผ ํ๋ ์กฐ์ง์ ๋น์ฉ์ด ๋ฐ๋ฅธ๋ค.
Self-healing GPU nodes in Kubernetes: What we learned building the EKS node monitoring agent
The New Stack
์ ์ Sajjan Gundapuneedi๋ Amazon EKS ๊ท๋ชจ๋ก Kubernetes๋ฅผ ์ด์ํ๋ฉด ๋ ธ๋ ์ฅ์ ๊ฐ ๋์์์ด ๋ฐ์ํ๋ค๊ณ ๋งํ๋ค. ํนํ GPU๊ฐ PCIe ๋ฒ์ค์์ ๋จ์ด์ ธ ๋๊ฐ๋ ๋ฑ GPU ๊ด๋ จ ํ๋์จ์ด ์ด์์ด ์ฆ์ ์ฅ์ ์ ํ์ผ๋ก ๊ผฝํ๋ค. ์ด๋ฐ ๋ฌธ์ ์ ๋์ํ๊ธฐ ์ํด ํ์ 'EKS ๋ ธ๋ ๋ชจ๋ํฐ๋ง ์์ด์ ํธ'๋ฅผ ์ง์ ๊ตฌ์ถํด GPU ๋ ธ๋์ ์ด์์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ๋ณต๊ตฌ(self-healing)ํ๋ ์ฒด๊ณ๋ฅผ ๋ง๋ค์๋ค. ๊ธ์ ์ด ์์ด์ ํธ๋ฅผ ๋ง๋ค๋ฉด์ ์ป์ 6๊ฐ์ง ํต์ฌ ์ํคํ ์ฒ ๊ตํ์ ๋ค๋ฃฌ๋ค. ๋๊ท๋ชจ GPU ํด๋ฌ์คํฐ์์๋ ์ฌ๋์ด ์์์ ์ผ๋ก ์ฅ์ ๋ ธ๋๋ฅผ ์ฐพ์ ๊ฒฉ๋ฆฌยท๊ต์ฒดํ๋ ๋ฐฉ์์ด ํ์ฅ์ฑ ํ๊ณ์ ๋ถ๋ชํ๋ค๋ ๋ฌธ์ ์์์ด ๋ฐํ์ ๊น๋ ค ์๋ค. ๋ฐ๋ผ์ ๋ ธ๋ ์ํ๋ฅผ ์ง์์ ์ผ๋ก ๊ฐ์ํ๊ณ , ์ด์์ด ๊ฐ์ง๋๋ฉด ์๋์ผ๋ก ๊ฒฉ๋ฆฌยท์ฌ๋ถํ ยท๊ต์ฒด๊น์ง ์ด์ด์ง๋ ํ์ดํ๋ผ์ธ ์ค๊ณ๊ฐ ํต์ฌ ์ฃผ์ ๋ค. GPU ์ธํ๋ผ๋ฅผ ๋๊ท๋ชจ๋ก ์ด์ํ๋ ์กฐ์ง์ด๋ผ๋ฉด ์ด ์ํคํ ์ฒ ๊ตํ์ ์ฐธ๊ณ ํด ์์ฒด ๋ ธ๋ ์๋ ๋ณต๊ตฌ ์ฒด๊ณ๋ฅผ ์ค๊ณํ๋ ๋ฐ ํ์ฉํ ์ ์๋ค.
๐ก GPU ๋ ธ๋ ์ฅ์ ๋ฅผ ์ฌ๋์ด ์๋์ผ๋ก ๋์ํ๋ ๋์ ์๋ ๊ฐ์งยท๊ฒฉ๋ฆฌยท๋ณต๊ตฌ ํ์ดํ๋ผ์ธ์ผ๋ก ์ ํํ๋ฉด ๋๊ท๋ชจ GPU ํด๋ฌ์คํฐ์ ๊ฐ๋๋ฅ ๊ณผ ์จ์ฝ ๋ถ๋ด์ ๋์์ ๊ฐ์ ํ ์ ์๋ค.
์ด ๋ค์ด์ ์คํธ๋ RSS ํผ๋์์ ์์งํ ๋ค AI(Claude)๊ฐ ์์ฝยท์ ๋ฆฌํ์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์๋ฌธ ๋งํฌ๋ฅผ ํ์ธํ์ธ์.