- ๐ ํ๋ก์ ํธ ๊ฐ์
- โจ ์ฃผ์ ๊ธฐ๋ฅ
- โ๏ธ ๊ธฐ์ ์คํ
- ๐๏ธ ์์คํ ์ํคํ ์ฒ
- ๐งโ๐คโ๐ง ํ
์ธ์ด์ ๋ฌธํ์ ์ฐจ์ด๋ ๋๋ก๋ ์ ๋ณด์ ๋ฒฝ์ด ๋๊ธฐ๋ ํฉ๋๋ค. ํนํ ๋ค๋ฌธํ ๊ฐ์ ์ ๊ฒฝ์ฐ, ํ์ํ ํ์ ์ ์ฐจ๋ ๋ณต์ง ์ ๋ณด๋ฅผ ์ฐพ๋๋ผ๋ ๋ฏ์ ์ธ์ด์ ๋ณต์กํ ๋ฌธ์ ํ์ ๋๋ฌธ์ ์ดํดํ๊ธฐ ์ด๋ ค์ด ์ํฉ์ด ๋ง์ต๋๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, ์ฐ๋ฆฌ๋ ๋ค๋ฌธํ ๊ฐ์ ์ ์ํ AI ์ ๋ณด ์ง์ ํ๋ซํผ์ ๋ง๋ค์์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๋ชจ๊ตญ์ด๋ก ์ง๋ฌธํ๋ฉด AI๊ฐ ์ค์๊ฐ์ผ๋ก ๋ฒ์ญยท์ดํดํ๊ณ , ์ ๋ถ ๋ฐ ๊ณต๊ณต ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ํํ๊ณ ์ ๋ขฐํ ์ ์๋ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ํ ๊ณต๋ฌธ์๋ ๊ฐ์ ํต์ ๋ฌธ, ์๋ด๋ฌธ ๋ฑ ์ดํดํ๊ธฐ ์ด๋ ค์ด ํ๊ตญ์ด ๋ฌธ์์ ์ด๋ฏธ์ง๋ฅผ AI๊ฐ ์ธ์ํด ์ฝ๊ณ ์น์ ํ ์ธ์ด๋ก ํด์ํด์ฃผ๋ ๊ธฐ๋ฅ๋ ์ ๊ณตํฉ๋๋ค.
๋ค๋ฌธํ ๊ฐ์ ์ด ํ๊ตญ ์ฌํ์์ ์ธ์ด์ ์ฅ๋ฒฝ ์์ด ํ์ํ ์ ๋ณด๋ฅผ ์ป๊ณ , ์ค์ค๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ํ์ ๊ฐ์ง๋ ๊ฒ. ๊ทธ๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ์ด์ ์ ๋๋ค.
- ๐ค AI ์ฑํ : ์์ฑ/ํ ์คํธ ๋ค๊ตญ์ด ์ง์์๋ต์ผ๋ก 20+ ๊ณต๊ณต๊ธฐ๊ด ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ์ถ์ฒ ๊ธฐ๋ฐ ๋ต๋ณ ์ ๊ณต
- ๐ ๋ฌธ์ ์์ฝ: ๊ณต๋ฌธ์ยท๊ฐ์ ํต์ ๋ฌธ์ OCR๋ก ์ฝ๊ณ ๊ฐ์/ํ ์ผ/์ผ์ /์ฃผ์์ฌํญ์ ์๋ ์ ๋ฆฌ
- ๐ ๋ค๊ตญ์ด ์ง์: ์ ํธ ์ธ์ด ์ค์ ์ ๋ชจ๋ UI์ AI ์๋ต์ด ์๋ ๋ฒ์ญ๋์ด ์ ๊ณต
- ๐ ์ง๋ฅํ ๊ฒ์: Gemini ์๋ ๋ถ์๊ณผ Vertex AI Search๋ก ์ ํํ ์ ๋ณด ํ์
| ๋ถ๋ฅ | ๊ธฐ์ ์คํ |
|---|---|
| Backend Framework | |
| Infrastructure | |
| DevOps | |
| Database & Storage | |
| AI | |
| Open API | |
| Development Tools |
Kubernetes ๊ธฐ๋ฐ ๋ฉํฐ ๋ชจ๋ MSA. Ingress โ Gateway โ Services ๊ตฌ์กฐ.
- ๋คํธ์ํน/๋ผ์ฐํ : Ingress โ Gateway โ ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค
- ๋ฐ์ดํฐ ์ ์ฅ์: MySQL, Redis, Firestore (PV/PVC ์์ ๊ด๋ฆฌ)
- ๋ฐฐํฌ: NCP SourceCommit โ SourceBuild โ SourceDeploy โ SourcePipeline
- ๊ฐ ๋ชจ๋ ๋ ๋ฆฝ ๋น๋/๋ฐฐํฌ/๋กค๋ฐฑ ์ง์
- SourceCommit : Git ๊ธฐ๋ฐ ํ์ ๊ด๋ฆฌ๋ก ์ฝ๋ ๋ฒ์ ๋ฐ ๋ณ๊ฒฝ ์ด๋ ฅ์ ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌ
- SourceBuild : ๋ณ๊ฒฝ๋ ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๊ณ Container Registry์ ์ ์ฅ
- SourceDeploy : Kubernetes ํด๋ฌ์คํฐ์ ์ปจํ ์ด๋๋ฅผ ์๋ ๋ฐฐํฌํ๋ฉฐ, Rolling Update๋ก ๋ฌด์ค๋จ ๋ฐฐํฌ ์คํ
- SourcePipeline : ์ ๊ณผ์ ๋ค์ ํ๋์ ํตํฉ ์ํฌํ๋ก์ฐ๋ก ์ฐ๊ฒฐํด ์ปค๋ฐ๋ถํฐ ๋ฐฐํฌ๊น์ง ์๋ํ
- ๊ฒ์ดํธ์จ์ด ์๋ฒ๋ฅผ ํตํด ์ฑํ ์๋ฒ๋ก ์์ฒญ ์ ๋ฌ
- ์์ฑ ๋ฐ์ดํฐ๋ฅผ Clova STT๋ก ํ ์คํธ ๋ณํ
- Papago๋ก ์ฌ์ฉ์ ์ธ์ด โ ํ๊ตญ์ด ๋ฒ์ญ
- Gemini๊ฐ ์ง๋ฌธ ์๋ ํ์ ๋ฐ ๊ฒ์ ์ฟผ๋ฆฌ ์ถ์ถ
- Vertex AI Search๋ก ๊ด๋ จ ์ฝํ ์ธ ๊ฒ์
- ๊ฒ์ ๊ฒฐ๊ณผ์ ํ๋กฌํํธ๋ฅผ Gemini์ ์ ๋ฌํด ๋ต๋ณ ์์ฑ
- Papago๋ก ํ๊ตญ์ด โ ์ฌ์ฉ์ ์ธ์ด ๋ฒ์ญ
- ์ง๋ฌธ๊ณผ ๋ต๋ณ์ Firestore์ ์ ์ฅ
- ์ต์ข ์๋ต์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ
- ์ฌ์ฉ์๊ฐ ๋ฌธ์ ์์ฝ์ ์์ฒญํ๋ฉด, ์์ฒญ์ ๊ฒ์ดํธ์จ์ด ์๋ฒ(Spring Cloud Gateway)๋ฅผ ํตํด ๋ฌธ์ ์์คํ ์ผ๋ก ์ ๋ฌ
- ์์ฒญ์ ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค์ ์ํด ๋ก๋๋ฐธ๋ฐ์ฑ๋์ด ๊ฐ์ฉํ ๋ฌธ์ ์์คํ ํ๋๋ก ์ ๋ฌ
- ๋ฌธ์ ์์คํ ์ ์ ๋ก๋๋ ๋ฌธ์๋ฅผ Object Storage์ ์ ์ฅํ๊ณ , ์ ์ฅ๋ ๊ฒฝ๋ก๋ฅผ ์๋ต์ผ๋ก ๋ฐํ
- ๋ฌธ์ ์ ์ฅ ์๋ฃ ํ ์์ฝ ์์ (Job)์ Redis์ ๋ฐํ
- Consumer Job์ด Redis์์ ์์ ์ ๊ตฌ๋ ํ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋น๋๊ธฐ์ ์ผ๋ก ์์ฝ ์ํ
- ๋ฌธ์๊ฐ ์ด๋ฏธ์ง ํํ์ผ ๊ฒฝ์ฐ OCR์ ํตํด ํ ์คํธ ์ถ์ถ
- ์ถ์ถ๋ ํ ์คํธ๋ฅผ ํ๋กฌํํธ ์์ง๋์ด๋ง์ ์ ์ฉํด OpenAI API๋ก ์ ๋ฌ, ๊ตฌ์กฐํ๋ ์์ฝ ์์ฑ
- ์์ฑ๋ ์์ฝ ๊ฒฐ๊ณผ๋ฅผ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ
- ์ฌ์ฉ์๋ ๋ง์ดํ์ด์ง๋ ๋ฌธ์ ๋ชฉ๋ก์ ํตํด ์์ฝ ๊ฒฐ๊ณผ๋ฅผ ์กฐํ
- ์ฌ์ฉ์๊ฐ ๋ฌธ์ ์์ฝ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํ๋ฉด, ์์ฒญ์ ๊ฒ์ดํธ์จ์ด ์๋ฒ๋ฅผ ํตํด ๋ฌธ์ ์์คํ ์ผ๋ก ์ ๋ฌ
- ๋ฌธ์ ์์คํ ์ Redis ์บ์๋ฅผ ์ฐ์ ์กฐํํ์ฌ ์์ฝ ๋ฐ์ดํฐ ์กด์ฌ ์ฌ๋ถ ํ์ธ
- ์บ์ ํํธ(Cache Hit) ์ Redis์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ๋ฐํ
- ์บ์ ๋ฏธ์ค(Cache Miss) ์ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์์ฝ ๋ฐ์ดํฐ๋ฅผ ์กฐํ
- ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์๋ต ํ์์ผ๋ก ๊ฐ๊ณต
- ๋์์ Redis ์บ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐฑ์ (Cache Update)ํ์ฌ ์ดํ ์์ฒญ์ ๋๋น
- ์ต์ข ์๋ต ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ดํธ์จ์ด ์๋ฒ๋ฅผ ํตํด ์ฌ์ฉ์์๊ฒ ๋ฐํ
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ ์์ฒญ์ ์ํํ๋ฉด, ์์ฒญ์ ๊ฒ์ดํธ์จ์ด ์๋ฒ๋ฅผ ํตํด ๋ฉค๋ฒ ์์คํ ์ผ๋ก ์ ๋ฌ
- ๊ฒ์ดํธ์จ์ด ์์คํ ์ ๋ก๊ทธ์ธ ์์ฒญ ์ ๋ณด๋ฅผ ๋ฉค๋ฒ ์์คํ ์ผ๋ก ์ ๋ฌ
- ๋ฉค๋ฒ ์์คํ ์ MySQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ์ ์ ๋ณด๋ฅผ ์กฐํํ์ฌ ์ฌ์ฉ์ ์กด์ฌ ์ฌ๋ถ ํ์ธ
- ์กฐํ๋ ํ์ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฆ ์ํ
- ๋ฉค๋ฒ ์์คํ ์ด ๊ฒ์ฆ ์๋ฃ ํ JWT ํ ํฐ ๋ฐ๊ธ
- ๋ฐ๊ธ๋ ํ ํฐ์ด ๊ฒ์ดํธ์จ์ด ์์คํ ์ผ๋ก ์ ๋ฌ
- ๊ฒ์ดํธ์จ์ด ์์คํ ์ ํ ํฐ์ ์ ์ฅํ๊ณ ์ดํ ์ธ์ฆ ์์ฒญ์ ํ์ฉ
- ๊ฒ์ดํธ์จ์ด ์์คํ ์ ํ ํฐ ์๋ต์ ์ฌ์ฉ์์๊ฒ ๋ฐํ
- ์ฌ์ฉ์๋ ํ ํฐ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง ๋๋ ์ธ์ ์ ์ ์ฅ
- ์ดํ API ํธ์ถ ์ ํ ํฐ์ ํจ๊ป ์ ์กํ์ฌ ์ธ์ฆ ์์ฒญ ์ํ
- ๊ฒ์ดํธ์จ์ด ์์คํ ์ ์์ฒญ ์ ํ ํฐ ์ ํจ์ฑ ๊ฒ์ฆ
- ์ธ์ฆ ์๋ฃ ํ ์์ฒญ์ ์ฑํ ์์คํ ๋ฑ ์๋น์ค๋ก ๋ผ์ฐํ ๋์ด ๊ธฐ๋ฅ ์ํ
| ๊น๊ธฐ๋ฏผ | ์ ์ฐฌ๋ฏผ |
|---|---|
| @gimin0226 | @chanmin-00 |
| ์ญ์ค๋ํ๊ต ์ํํธ์จ์ดํ๋ถ | ์ญ์ค๋ํ๊ต ์ํํธ์จ์ดํ๋ถ |