EC2 ๋ฐ S3 ๊ธฐ๋ฐ ์๊ตฌ ์คํ ๋ฆฌ์ง๋ฅผ ํ์ฉํ Kubernetes ์ Milvus ์คํ ์ค์ผ์ผ๋ง
๊ธ์ฆํ๋ ๋ฒกํฐ ๋ฐ์ดํฐ(๊ฒ์, ์ถ์ฒ ๋ฐ RAG์ฉ ์๋ฒ ๋ฉ)๋ฅผ ์ฒ๋ฆฌํ๋ AI ํ๋ซํผ์ ์ฟผ๋ฆฌ ๋ก๋ ๋ฐ ๋ฐ์ดํฐ ๋ณผ๋ฅจ์ ๋ฐ๋ผ Milvus ๋ฒกํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์๋์ผ๋ก ํ์ฅ๋๊ธฐ๋ฅผ ์ํ์ต๋๋ค. ์ด๋ Pod๊ฐ ๋ค์ ์์๋๊ฑฐ๋ ๋ ธ๋๊ฐ ๊ต์ฒด๋์ด๋ ์์ค๋์ง ์๋ ๋ด๊ตฌ์ฑ ์๊ณ ๋น์ฉ ํจ์จ์ ์ธ ์คํ ๋ฆฌ์ง๋ฅผ ํ์๋ก ํ์ต๋๋ค.
ํ๋ก์ ํธ ์๋ดํ๊ธฐ
๊ณผ์
ํ๋ก๋์ ํ๊ฒฝ์์ Milvus๋ฅผ ๋๊ท๋ชจ๋ก ์ด์ํ๋ ๊ฒ์ ๋ช ๊ฐ์ง ์ธํ๋ผ ๊ณผ์ ๋ฅผ ์๊ณ ์์์ต๋๋ค:
- ๊ณ ์ ์ฉ๋ โ ์ ์ Milvus ๋ฐฐํฌ๋ ํผํฌ ์๊ฐ ๋์ 10๋ฐฐ์ ๋ฌํ๋ ์ฟผ๋ฆฌ ๋ก๋ ๊ธ์ฆ์ ์ฒ๋ฆฌํ ์ ์์์ต๋๋ค.
- ๋ฐ์ดํฐ ์์ค ์ํ โ ์์ ์คํ ๋ฆฌ์ง์์ Pod๊ฐ ๋ค์ ์์๋๋ฉด ๋๊ท๋ชจ ์ปฌ๋ ์ ์์ ์ธ๋ฑ์ค ์ฌ๊ตฌ์ถ์ ๋ช ์๊ฐ์ด ์์๋์์ต๋๋ค.
- ๋น์ฉ ๋นํจ์จ์ฑ โ ํผํฌ ๋ก๋๋ฅผ ์ํ ๊ณผ๋ํ ํ๋ก๋น์ ๋์ ์ ํด ์ปดํจํ ๋น์ฉ์ 70% ์๊ฐ ๋์ ์ง๋ถํด์ผ ํจ์ ์๋ฏธํ์ต๋๋ค.
- ์คํ ๋ฆฌ์ง ๋น์ฉ โ ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋ ๋ธ๋ก ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ์ ์ ํ ๋ผ๋ฐ์ดํธ ๊ท๋ชจ์ ๋ฒกํฐ ๋ฐ์ดํฐ์ ์ ๋ํด ๋น์ฉ์ด ๋ง์ด ๋ค์์ต๋๋ค.
- ์ธ๋ฑ์ค ์ฌ๊ตฌ์ถ โ ๋ ธ๋ ๊ต์ฒด ํ ์๋ฐฑ๋ง ๊ฐ์ ๋ฒกํฐ๋ฅผ ์ฌ์ธ๋ฑ์ฑํ๋ ๋ฐ ๋ช ์๊ฐ์ ๋ค์ดํ์์ด ์์๋์์ต๋๋ค.
- ๋ค์ค AZ ๋ด๊ตฌ์ฑ โ ๋จ์ผ AZ ์คํ ๋ฆฌ์ง๋ ๊ฐ์ฉ ์์ญ ์ฅ์ ์์ ์ด์๋จ์ ์ ์์์ต๋๋ค.
์ฐ๋ฆฌ์ ์๋ฃจ์
์ฟผ๋ฆฌ ๋ ธ๋๋ฅผ ์ํ Horizontal Pod Autoscaling, ์ปดํจํ ์ ์ํ Cluster Autoscaler, ๊ทธ๋ฆฌ๊ณ ์๊ตฌ ์คํ ๋ฆฌ์ง ๋ฐฑ์๋๋ก Amazon S3๋ฅผ ์ฌ์ฉํ์ฌ Kubernetes (EKS)์ Milvus๋ฅผ ๋ฐฐํฌํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์์ค ์ํ์ ์์ ๊ณ ์คํ ๋ฆฌ์ง ๋น์ฉ์ ์ฝ 80% ์ ๊ฐํ์ต๋๋ค.
์ํคํ ์ฒ
- ์ค์ผ์คํธ๋ ์ด์ : Amazon EKS (Elastic Kubernetes Service)
- ์ปดํจํ : Cluster Autoscaler๊ฐ ๊ด๋ฆฌํ๋ EC2 ์ธ์คํด์ค (ํผํฉ ์ธ์คํด์ค ์ ํ)
- ๋ฒกํฐ DB: ๋ถ์ฐ ๋ชจ๋๋ก Helm ์ฐจํธ๋ฅผ ํตํด ๋ฐฐํฌ๋ Milvus
- ๊ฐ์ฒด ์คํ ๋ฆฌ์ง: ์ธ๊ทธ๋จผํธ ํ์ผ, ์ธ๋ฑ์ค ํ์ผ, ๋น๋ก๊ทธ ์๊ตฌ ์ ์ฅ์ ์ํ Amazon S3
- ๋ฉํ๋ฐ์ดํฐ: Milvus ์กฐ์ ๋ฐ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํ etcd ํด๋ฌ์คํฐ
- ๋ฉ์์ง ํ: Milvus ๋ก๊ทธ ํ์ดํ๋ผ์ธ์ ์ํ ๋ฉ์์ง ์คํธ๋ฆฌ๋ฐ
- ๋ชจ๋ํฐ๋ง: Milvus ๋ฉํธ๋ฆญ ๋ฐ ์คํ ์ค์ผ์ผ๋ง ์ ํธ๋ฅผ ์ํ Prometheus + Grafana
Kubernetes ์ Milvus ๋ถ์ฐ ์ํคํ ์ฒ
์ปดํฌ๋ํธ ๋ฐฐํฌ
Milvus๋ ์ ์ฉ ๋ ธ๋ ์ ํ์ ๊ฐ์ง ๋ถ์ฐ ๋ชจ๋๋ก ์คํ๋๋ฉฐ, ๊ฐ ๋ ธ๋๋ ๋ ๋ฆฝ์ ์ธ ์ค์ผ์ผ๋ง์ด ๊ฐ๋ฅํ Kubernetes ์ํฌ๋ก๋๋ก ๋ฐฐํฌ๋ฉ๋๋ค:
- ํ๋ก์ ๋ ธ๋ โ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ๋ฐ ์์ฒญ ๋ผ์ฐํ ์ฒ๋ฆฌ
- ์ฟผ๋ฆฌ ๋ ธ๋ โ ๋ฒกํฐ ๊ฒ์ ์คํ ๋ฐ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋
- ๋ฐ์ดํฐ ๋ ธ๋ โ ์ฐ๊ธฐ ๊ฒฝ๋ก ์ฒ๋ฆฌ ๋ฐ ์ธ๊ทธ๋จผํธ๋ฅผ S3๋ก ํ๋ฌ์
- ์ธ๋ฑ์ค ๋ ธ๋ โ ๋ฒกํฐ ์ธ๋ฑ์ค ๊ตฌ์ถ ๋ฐ S3์ ์ฐ๊ธฐ
- ์ฝ๋๋ค์ดํฐ โ ํด๋ฌ์คํฐ ์กฐ์ ๋ฐ ํ์์คํฌํ ํ ๋น
- etcd โ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ ๋ฐ ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ
- ๋ฉ์์ง ํ โ ๋ก๊ทธ ์คํธ๋ฆฌ๋ฐ ๋ฐ ์ ํ ์ฐ๊ธฐ ๋ก๊ทธ
Horizontal Pod Autoscaling (HPA)
์ฟผ๋ฆฌ ๋ ธ๋ ์คํ ์ค์ผ์ผ๋ง
์ฟผ๋ฆฌ ๋ ธ๋๋ ์ฃผ์ ์ค์ผ์ผ๋ง ๋์์ ๋๋ค. ์ด๋ค์ ๋ฒกํฐ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋ํ๊ณ ๊ฒ์์ ์คํํฉ๋๋ค. ์ค์ผ์ผ๋ง์ CPU ํ์ฉ๋ฅ , ๋ฉ๋ชจ๋ฆฌ ํ์ฉ๋ฅ , ์ฟผ๋ฆฌ ํ ๊น์ด, P99 ์ฟผ๋ฆฌ ์ง์ฐ ์๊ฐ ๋ฑ ์ฌ๋ฌ ๋ฉํธ๋ฆญ์ ์ํด ๊ตฌ๋๋ฉ๋๋ค. HPA๋ ์ ์ ํ ์ต์/์ต๋ ๋ณต์ ๋ณธ, ์คํ์ดํฌ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋น ๋ฅธ ์ค์ผ์ผ์ , ํ๋ํ์ ํผํ๊ธฐ ์ํ ์ ์ง์ ์ธ ์ค์ผ์ผ๋ค์ด์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์ธ๋ฑ์ค ๋ ธ๋ ์คํ ์ค์ผ์ผ๋ง
์ธ๋ฑ์ค ๋ ธ๋๋ ๋ณด๋ฅ ์ค์ธ ์ธ๋ฑ์ค ๋น๋ ์์ ์ ๋ฐ๋ผ ํ์ฅ๋ฉ๋๋ค. ๋น๋ ํ์ ๋ณด๋ฅ ์ค์ธ ํญ๋ชฉ์ด ์์ ๋ ์ค์ผ์ผ์ ํ๊ณ ์ ํด ์ํ์ผ ๋ ์ค์ผ์ผ๋ค์ดํฉ๋๋ค.
EC2 Cluster Autoscaler
์ธ์คํด์ค ์ ๋ต
- ๋ ธ๋ ๊ทธ๋ฃน: ๋น์ฉ ์ต์ ํ๋ฅผ ์ํ ๋ค์ํ ์ธ์คํด์ค ์ ํ์ ๊ฐ์ง ์ฌ๋ฌ ๋ ธ๋ ๊ทธ๋ฃน
- ์ฟผ๋ฆฌ ์ํฌ๋ก๋: ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฒกํฐ ์ธ๊ทธ๋จผํธ๋ฅผ ์ํ ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ ์ธ์คํด์ค
- ์ธ๋ฑ์ค ์ํฌ๋ก๋: CPU ์ง์ฝ์ ์ธ ์ธ๋ฑ์ค ๊ตฌ์ถ์ ์ํ ์ปดํจํ ์ต์ ํ ์ธ์คํด์ค
- ์คํ ์ธ์คํด์ค: ์ธ๋ฑ์ค ๋ ธ๋ ๋ฐ ๋น์ฃผ์ ๋ฐ์ดํฐ ๋ ธ๋๋ ์๋นํ ์ ์ฝ์ ์ํด ์คํ ์ธ์คํด์ค์์ ์คํ๋ฉ๋๋ค.
- ์จ๋๋งจ๋: ์์ ์ฑ์ ์ํด ์จ๋๋งจ๋ ์ธ์คํด์ค์์ ์คํ๋๋ ์ฟผ๋ฆฌ ๋ ธ๋ ๋ฐ ์ฝ๋๋ค์ดํฐ
์ค์ผ์ผ๋ง ๋์
HPA๊ฐ ์ค์ผ์ค๋งํ ์ ์๋ ์ Pod๋ฅผ ์์ฑํ๋ฉด Cluster Autoscaler๋ ์ ์ ํ ๋ ธ๋ ๊ทธ๋ฃน์ ์ EC2 ์ธ์คํด์ค๋ฅผ ํ๋ก๋น์ ๋ํฉ๋๋ค. ์ ์ฟผ๋ฆฌ ๋ ธ๋๋ ํ ๋น๋ ์ธ๊ทธ๋จผํธ๋ฅผ S3์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋ํ๊ณ ์ฟผ๋ฆฌ๋ฅผ ์๋น์คํ๊ธฐ ์์ํ๋ฉฐ, ์ ์ฒด ์ค์ผ์ผ์ ํ๋ก์ธ์ค๋ ๋ช ๋ถ ๋ด์ ์๋ฃ๋ฉ๋๋ค.
S3 ๊ธฐ๋ฐ ์๊ตฌ ์คํ ๋ฆฌ์ง
๋ธ๋ก ์คํ ๋ฆฌ์ง ๋์ S3๋ฅผ ์ฌ์ฉํ๋ ์ด์
S3๋ Milvus์ฉ ๋ธ๋ก ์คํ ๋ฆฌ์ง์ ๋นํด ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ๊ฒฝ์ฐ ์คํ ๋ฆฌ์ง ๋น์ฉ ์ฝ 80% ์ ๊ฐ
- ๋ด์ฅ๋ ๋ค์ค AZ ๋ณต์ ๋ก 11-๋์ธ ๋ด๊ตฌ์ฑ
- ์๋ ๋ณผ๋ฅจ ํฌ๊ธฐ ์กฐ์ ์์ด ๋ฌด์ ํ ์ค์ผ์ผ๋ง
- Pod ๋ ๋ฆฝ์ โ Pod ๋๋ ๋ ธ๋ ๋ผ์ดํ์ฌ์ดํด๊ณผ ๊ด๊ณ์์ด ํญ์ ๋ฐ์ดํฐ ์ฌ์ฉ ๊ฐ๋ฅ
- AZ ์ข ์์ฑ ์์ โ ๋ชจ๋ ๊ฐ์ฉ ์์ญ์์ ๋ฐ์ดํฐ ์ ๊ทผ ๊ฐ๋ฅ
S3๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ ํ๋ฆ
- ์ฐ๊ธฐ ๊ฒฝ๋ก: ๋ฐ์ดํฐ ๋ ธ๋๋ ์ฝ์ ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฒํผ๋งํ ๋ค์, ๋ฐ๋ด๋ ์ธ๊ทธ๋จผํธ๋ฅผ S3๋ก ํ๋ฌ์ํฉ๋๋ค.
- ์ธ๋ฑ์ค ๊ตฌ์ถ: ์ธ๋ฑ์ค ๋ ธ๋๋ S3์์ ์ธ๊ทธ๋จผํธ๋ฅผ ์ฝ๊ณ ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ถํ ๋ค์ ์ธ๋ฑ์ค ํ์ผ์ S3์ ๋ค์ ์๋๋ค.
- ์ฟผ๋ฆฌ ๊ฒฝ๋ก: ์ฟผ๋ฆฌ ๋ ธ๋๋ S3์์ ์ธ๊ทธ๋จผํธ์ ์ธ๋ฑ์ค๋ฅผ ๋ค์ด๋ก๋ํ๊ณ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ํ์ฌ ์ฟผ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋ณต๊ตฌ: Pod๊ฐ ๋ค์ ์์๋ ๋, ์ฟผ๋ฆฌ ๋ ธ๋๋ ํ ๋น๋ ์ธ๊ทธ๋จผํธ๋ฅผ S3์์ ๋ค์ ๋ค์ด๋ก๋ํฉ๋๋ค (๋ฐ์ดํฐ ์์ค ์์).
S3 ์ฑ๋ฅ ์ต์ ํ
- ์ธ๊ทธ๋จผํธ ํฌ๊ธฐ ํ๋์ S3 ์์ฒญ ๋น์ฉ๊ณผ ๋ฐ์ดํฐ ์ ์ ๋๋ฅผ ๊ท ํ ์๊ฒ ๋ง์ถฅ๋๋ค.
- NVMe ์ธ์คํด์ค ์คํ ๋ฆฌ์ง์ ๋ก์ปฌ SSD ์บ์ฑ์ ํซ ์ธ๊ทธ๋จผํธ์ ๋ํ ๋ฐ๋ณต์ ์ธ S3 ์ฝ๊ธฐ๋ฅผ ๋ฐฉ์งํฉ๋๋ค.
- ๋ณ๋ ฌ ๋ค์ด๋ก๋๋ ๋น ๋ฅธ ์ฟผ๋ฆฌ ๋ ธ๋ ์์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
- ์๋ช ์ฃผ๊ธฐ ์ ์ฑ ์ ์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ ์ ๋ ดํ ์คํ ๋ฆฌ์ง ๊ณ์ธต์ผ๋ก ์์นด์ด๋นํฉ๋๋ค.
๋ชจ๋ํฐ๋ง ๋ฐ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ
๋ฐฐํฌ์๋ Prometheus ๋ฐ Grafana๋ฅผ ํตํ ํฌ๊ด์ ์ธ ๋ชจ๋ํฐ๋ง์ด ํฌํจ๋ฉ๋๋ค:
- ์ฟผ๋ฆฌ ์ฑ๋ฅ โ ์ง์ฐ ์๊ฐ ๋ถํฌ, QPS, ์บ์ ์ ์ค๋ฅ
- ํด๋ฌ์คํฐ ๊ฐ์ โ ๋ ธ๋ ์, Pod ์ํ, ๋ฆฌ์์ค ํ์ฉ๋ฅ
- ์คํ ๋ฆฌ์ง ์ํ โ S3 ์ฌ์ฉ๋, ์ธ๊ทธ๋จผํธ ์, ํ๋ฌ์ ์๋
- ์คํ ์ค์ผ์ผ๋ง ์ด๋ฒคํธ โ HPA ์ด๋ฒคํธ, ๋ ธ๋ ์ค์ผ์ผ๋ง, Pod ์ค์ผ์ค๋ง ์ง์ฐ ์๊ฐ
- ๊ฒฝ๊ณ โ ๋์ ์ง์ฐ ์๊ฐ, OOM ์ํ, ํ๋ฌ์ ์คํจ ๋ฐ ์ฉ๋ ์ ํ์ ๋ํ ์๋ ๊ฒฝ๊ณ
์ฃผ์ ํน์ง
- ์ฟผ๋ฆฌ ๋ ธ๋ HPA โ CPU, ๋ฉ๋ชจ๋ฆฌ, ์ง์ฐ ์๊ฐ ๋ฐ ํ ๊น์ด์ ๊ธฐ๋ฐํ ์๋ ์ค์ผ์ผ๋ง
- EC2 Cluster Autoscaler โ ํผํฉ ์ธ์คํด์ค ์ ํ์ ์ฌ์ฉํ ๋์ ๋ ธ๋ ํ๋ก๋น์ ๋
- S3 ์๊ตฌ ์ ์ฅ โ 11-๋์ธ ๋ด๊ตฌ์ฑ, ๋ธ๋ก ์คํ ๋ฆฌ์ง๋ณด๋ค ์ฝ 80% ์ ๋ ด, AZ ์ฅ์ ์์กด ๊ฐ๋ฅ
- ์คํ ์ธ์คํด์ค โ ์๋นํ ์ปดํจํ ์ ์ฝ์ ์ํ ์คํ ์ธ์คํด์ค ์์ ์ธ๋ฑ์ค ๋ฐ ๋ฐ์ดํฐ ๋ ธ๋
- ๋ก์ปฌ SSD ์บ์ โ NVMe ์บ์ฑ์ ํซ ์ธ๊ทธ๋จผํธ์ ๋ํ ๋ฐ๋ณต์ ์ธ S3 ์ฝ๊ธฐ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
- ๋ฌด์ค๋จ ๋ณต๊ตฌ โ Pod ์ฌ์์ ์ S3์์ ์ธ๊ทธ๋จผํธ๋ฅผ ๋ค์ ๋ก๋ํ์ฌ ๋ฐ์ดํฐ ์์ค ์์
- ๋ค์ค AZ โ ์๋ฒฝํ AZ ์ฅ์ ํ์ฉ์ ์ํ S3 ์คํ ๋ฆฌ์ง + ๋ค์ค AZ ๋ ธ๋ ๊ทธ๋ฃน
- ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ โ Milvus ํน์ ๋ฉํธ๋ฆญ ๋ฐ ์คํ ์ค์ผ์ผ๋ง ๊ฐ์์ฑ์ ์ ๊ณตํ๋ Prometheus + Grafana
๊ฒฐ๊ณผ
๊ธฐ์ ์คํ
caseStudyDetail.more ์ฌ๋ก ์ฐ๊ตฌ
๋ ๋ง์ ๊ธฐ์ ๊ตฌํ ์ฌ๋ก๋ฅผ ์ดํด๋ณด์ธ์
OCR ๋ฐ QuickBooks ์ฐ๋์ ํตํ AI ๊ธฐ๋ฐ ์ก์ฅ ์ฒ๋ฆฌ
๋งค์ ์๋ฐฑ ๊ฑด์ ๊ณต๊ธ์ ์ฒด ์ก์ฅ์ ์ฒ๋ฆฌํ๋ ์ค๊ฒฌ ๊ธฐ์ ์ AI/OCR์ ์ฌ์ฉํ์ฌ ์ก์ฅ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์ถ์ถํ๊ณ ์ด๋ฅผ QuickBooks์ ์ง์ ๋๊ธฐํํ์ฌ ์ฅ๋ถ ์ ๋ฆฌ ๋ฐ ์ง๊ธ ์ถ์ ์ ํจ์ผ๋ก์จ ์๋ ๋ฐ์ดํฐ ์ ๋ ฅ์ ์์ ์ผ ํ์ต๋๋ค.
SCTE-35 ๋ง์ปค ํ์ฑ ๋ฐ ๋ค์ค ํ๋ซํผ ํ๋ ์ด์ด ํตํฉ์ ํตํ ํด๋ผ์ด์ธํธ ์ธก ๊ด๊ณ ์ฝ์ (CSAI)
ํ ๋น๋์ค ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ์ปค๋ฅํฐ๋ TV ์ฑ ์ ๋ฐ์ ๊ฑธ์ณ Client-Side Ad Insertion (CSAI)์ ๊ตฌํํด์ผ ํ์ต๋๋ค. ์ด๋ ์๋ฒ ์ธก ์ฝ์ ์ผ๋ก๋ ์ ๊ณตํ ์ ์๋, ํด๋ฆญ ๊ฐ๋ฅํ ์ค๋ฒ๋ ์ด, ์ปดํจ๋์ธ ๋ฐฐ๋, ๊ฑด๋๋ฐ๊ธฐ ๋ฒํผ ๋ฑ ์์ ํ ๊ด๊ณ ์ํธ์์ฉ ์ง์์ ํตํด ๊ฐ์ธํ๋ ๊ธฐ๊ธฐ ์์ค์ ๊ด๊ณ ๊ฒฝํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
MicrocosmWorks๋ Milvus์ ๋ด์ฅ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ต์คํฌํฐ์์ ๊ฐ์ ธ์จ ์ฌ์ฉ์ ์ง์ ์งํ๋ฅผ ์ฌ์ฉํ์ฌ horizontal pod autoscaling์ ๊ตฌ์ฑํ์ต๋๋ค. ์ด๋ ๋ชจ๋ ์ฟผ๋ฆฌ ๋ ธ๋์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ฅ ์ด 75%๋ฅผ ์ด๊ณผํ ๋ ์ค์ผ์ผ ์์ ์ด๋ฒคํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. ์ปฌ๋ ์ ์ธ๊ทธ๋จผํธ๋ Milvus์ ์ธ๊ทธ๋จผํธ ๋งค๋์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ ธ๋์ ์๋์ผ๋ก ์ฌ๋ฐฐํฌ๋๋ฉฐ, ์ด๋ก์จ ๋จ์ผ ๋ ธ๋๊ฐ ๋ณ๋ชฉ ํ์์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
MicrocosmWorks๋ ์คํ ๋ฆฌ์ง๋ฅผ ์ปดํจํ ์์ ๋ถ๋ฆฌํ์ฌ ์๋ก์ด EBS ๋ณผ๋ฅจ์ ํ๋ก๋น์ ๋ํ ํ์ ์์ด ์ฟผ๋ฆฌ ๋ ธ๋๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ฅํ ์ ์๋๋ก MinIO๋ฅผ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง ๊ณ์ธต์ผ๋ก ์ฌ์ฉํ๋ S3 ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ ํํ์ต๋๋ค. ์ด ์ํคํ ์ฒ๋ S3์์ 100ms ๋ฏธ๋ง์ ์ธ๊ทธ๋จผํธ ๋ก๋ ์๊ฐ์ ์ ์งํ๋ฉด์ gp3 EBS ๋ณผ๋ฅจ๊ณผ ๋น๊ตํ์ฌ ์คํ ๋ฆฌ์ง ๋น์ฉ์ ์ฝ 60% ์ ๊ฐํฉ๋๋ค.
MicrocosmWorks๋ ์ฟผ๋ฆฌ ๋ ธ๋, ์ธ๋ฑ์ค ๋ ธ๋, ๋ฐ์ดํฐ ๋ ธ๋๋ฅผ ํฌํจํ ๊ฐ Milvus ์ปดํฌ๋ํธ์ ๋ํด ๋ฐฐํฌ๋ฅผ ๋ ํ๋ฆฌ์นด ์ธํธ๋ก ๊ตฌ์ฑํ์ผ๋ฉฐ, Pod disruption budgets๋ฅผ ํตํด ๋กค๋ง ์ ๋ฐ์ดํธ ์ค ์ต์ ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํฉ๋๋ค. ๋ชจ๋ ์๊ตฌ ๋ฐ์ดํฐ๋ S3์ ์ ์ฅ๋๋ฏ๋ก, ์ฅ์ ๊ฐ ๋ฐ์ํ ๋ ธ๋์ ๋์ฒด ๋ ธ๋๋ ๋ฐ์ดํฐ ๋ง์ด๊ทธ๋ ์ด์ ์์ด ์ฆ์ ๋ชจ๋ ์ธ๊ทธ๋จผํธ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
MicrocosmWorks๋ Milvus ์ฟผ๋ฆฌ ์ํฌ๋ก๋์ ๋ํด r6i.2xlarge ์ธ์คํด์ค๊ฐ ์ต์ ์ ๋น์ฉ-์ฑ๋ฅ ๋น์จ์ ์ ๊ณตํ๋ฉฐ, ๊ฒฝ์๋ ฅ ์๋ ์คํ ๊ฐ๊ฒฉ์ผ๋ก ์ธ๋ฉ๋ชจ๋ฆฌ ์ธ๊ทธ๋จผํธ ์บ์ฑ์ ์ํ 64GB ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ค๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. GPU ๊ฐ์ ์ธ๋ฑ์ค ๋น๋์ ๊ฒฝ์ฐ, NVIDIA A10G GPU๊ฐ ํ์ฌ๋ g5.xlarge ์ธ์คํด์ค๋ CPU ์ ์ฉ ๋น๋์ ๋น๊ตํ์ฌ ์ธ๋ฑ์ค ๋น๋ ์๊ฐ์ 8๋ฐฐ ๋จ์ถํ์ต๋๋ค.
MicrocosmWorks๋ Kubernetes ์ธํ๋ผ ํ๋ก์ ํธ๋ฅผ ์๊ฐ๋น $30-$50์ ์์จ๋ก ์ ๊ณตํ๋ฉฐ, Helm chart ์ฌ์ฉ์ ์ง์ , HPA ๊ตฌ์ฑ, S3 ํตํฉ ๋ฐ ๋ชจ๋ํฐ๋ง ์ค์ ๋ฑ์ ํฌํจํ๋ Milvus autoscaling ๋ฐฐํฌ๋ ์ผ๋ฐ์ ์ผ๋ก 150-250์๊ฐ์ด ์์๋ฉ๋๋ค. ํด๋ฌ์คํฐ ์ต์ ํ ๋ฐ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ํ ์ง์์ ์ธ ๊ด๋ฆฌ ์ง์์ ๋์ผํ ์๊ฐ๋น ์์จ๋ก ์ด์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋น์ฆ๋์ค ํ์ ์ ์์ํ ์ค๋น๊ฐ ๋์ จ๋์?
๊ทํ์ ๊ณผ์ ์ ์ ์ฌํ ์๋ฃจ์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ ผ์ํด ๋ณด๊ฒ ์ต๋๋ค.