์ฌ์ฉ์ ์นํ์ ์ธ ์ฟ ๋ฒ๋คํฐ์ค API ํ์ฉ ํด ๊ฐ๋ฐ๊ธฐ
์ฌ์ฉ์ ์นํ์ ์ธ ์ฟ ๋ฒ๋คํฐ์ค API ํ์ฉ ํด ๊ฐ๋ฐ๊ธฐ ๊ด๋ จ
์ฟ ๋ฒ๋คํฐ์ค(Kubernetes)๋ ์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ ๋ํ๋ก์ด, ์ค์ผ์ผ๋ง ๋ฑ์ ์ ๊ณตํ๋ ์์คํ ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ฅผ ์์ฑํ๊ฑฐ๋ ์์ ํ ๋์๋ ํฐ๋ฏธ๋ ์ปค๋งจ๋๋ก ์ ๊ทผํด์ผ ํ๋ฏ๋ก ํ์ฌ ์ํ๋ฅผ ์ง๊ด์ ์ผ๋ก ํ์ธํ๊ธฐ ์ด๋ ต๋ค. ํ์ง๋ง ์ฌ๋ฌ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ๋ฉด ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ํตํฉํด ์ฌ์ฉํ๊ฑฐ๋ ์ง์ ์ํ ๊ด๋ฆฌ ํด์ ๋ง๋ค ์ ์๋ค.
์ด๋ฌํ ์ธํ๋ผ ๊ด๋ฆฌ๋ ์ฃผ๋ก ๋ฐ๋ธ์ต์ค ์์ง๋์ด๊ฐ ๋ด๋นํ๋ค. ๊ทธ๋ฐ๋ฐ ์ต๊ทผ ์ฐ๋ฆฌ ํ์์ ๋๊ตฌ๋ ๊ฐ๋จํ ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ฅผ ์์ฑ, ์กฐํ, ์ญ์ ํ ์ ์๋ ์ด์ ํด์ ๊ฐ๋ฐํ์๋ ์๊ฒฌ์ด ๋์๋ค. ๋ณต์กํ ํด๋ผ์ฐ๋ ์ธํ๋ผ๋ฅผ ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๊ฒ ๋ง๋ค์ด ์์ฐ์ฑ์ ๋์ด์๋ ์ทจ์ง์๋ค.
๋ณธ ๊ฐ๋ฐ์ ์์ ๋ค์ํ UI์ UX๋ฅผ ์๋ํ๊ธฐ ์ํ ํ๋กํ ํ์ ๊ฐ๋ฐ์ด ์์๋์๊ณ , ๋๋ ์ฌ๊ธฐ ์ฐธ์ฌํ๊ฒ ๋์๋ค. ์ฟ ๋ฒ๋คํฐ์ค API๋ฅผ ํ์ฉํด ํด์ ๊ฐ๋ฐํ๋ ๊ณผ์ ์ ๋งค๋ ฅ์ ์ด๋ฉด์๋ ๋์ ์ ์ธ ์์ ์ด์๋ค. ์ด ๊ธ์์๋ ํด์ ๊ฐ๋ฐ ๊ณผ์ ์ ๊ฐ๋ตํ ์๊ฐํ๊ณ , ๊ทธ ๊ณผ์ ์์ ๊ฐ์ง ์๋ฌธ๊ณผ ๊ณ ๋ฏผ์ ๊ณต์ ํ๊ณ ์ ํ๋ค.
์ฌ์ฉ์ ์นํ์ ์ธ ํด์ ์กฐ๊ฑด
์ฟ ๋ฒ๋คํฐ์ค API๋ ๊ฐ๋ ฅํ ์๋ํ์ ์ถ์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ, ๊ด๋ฆฌ ๋ฐ ํ์ฅ์ ๋์ฑ ํจ๊ณผ์ ์ผ๋ก ์ํํ ์ ์๋ค. ์ฐ๋ฆฌ๋ ์ฟ ๋ฒ๋คํฐ์ค API๊ฐ ๊ฐ์ง ์ฅ์ ์ ์ด๋ฆฌ๋, ์ง๊ด์ฑ์ ๋ ๋์ผ ํ์๊ฐ ์์๋ค. ๊ทธ๋์ ์น ์ฌ์ดํธ ํํ์ ์ฌ์ฉ์ ์นํ์ ์ธ ํด์ ๋ง๋ค๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ Vue.js๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฐฑ์๋ ๊ฐ๋ฐ์๋ ํ์ ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ NestJS๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.Vue.js๋ ์ฌ์ฉ์ ์ํธ ์์ฉ์ด ๋ง์ ๋์ ์น ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ๋ฐ ์ ํฉํ๋ฉฐ, ์๋ฐฉํฅ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ์ ๊ณตํ๋ค. ํนํ ์๋ฐฉํฅ ๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ์ ์์ ๊ท๋ชจ๋ ์ค๊ฐ ๊ท๋ชจ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ํ๋ฅผ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๋ฐ ์ ๋ฆฌํ๋ค. ๋ฐ๋ผ์ ํ ๋ด๋ถ์์ ์ฌ์ฉํ๋ ํด์๋ ์ ๊ทน์ ์ผ๋ก Vue.js๋ฅผ ์ฌ์ฉํด ์๋ค. ์ด๋ฒ ํด ์ญ์ ๊ท๋ชจ๊ฐ ํฌ์ง ์๊ณ ๋ณต์กํ ์ํ ๊ด๋ฆฌ๊ฐ ํ์ํ์ง ์์ Vue.js๊ฐ ์ ํฉํ๋ค๊ณ ํ๋จํ๋ค. ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์ด NestJS์ ๊ฒฝ์ฐ, ๊ทธ ์ฅ์ ์ธ ๋ชจ๋์ฑ๊ณผ ์ผ๊ด์ฑ์ด ์ ์ง ๋ณด์์ ๋์์ด ๋๋ค๊ณ ํ๋จํด ์ ํํ๋ค.
์ ์ ํ๋ก์ฐ๋ ๋จ์ํ๊ฒ ๊ตฌ์ฑํ๋ค. ๋ฐ๋ก ํํ์ด์ง๋ฅผ ๋์ง ์๊ณ , ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด ๋ฆฌ์์ค ๋ฆฌ์คํธ ํ์ด์ง๋ก ์ด๋ํ๋๋ก ํ๋ค. ์ด๋ ๋ฆฌ์์ค๋ ํ ๋ด๋ถ์์ ๋ณ๋๋ก ์ ์ํด ์ฌ์ฉํ๊ณ ์๋ ์ปค์คํ ๊ฐ์ฒด์ธ๋ฐ, ์ผ๋ฐ์ ์ธ ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค์ ๊ฐ๋ค๊ณ ์๊ฐํด๋ ๋ฌด๋ฐฉํ๋ค. ๋ฆฌ์คํธ ํ์ด์ง์ ์์ธ ํ์ด์ง, Form ํ์ด์ง๋ ๋ค๋ฅธ ์น ์ฌ์ดํธ์ ์ ์ ํ๋ก์ฐ์ ์ ์ฌํ๋ค. ๋ํ ๊ฐ ๋ฆฌ์์ค ๋ณ๋ก ๋ฆฌ์คํธ ํ์ด์ง๋ฅผ ๋ง๋ค๊ณ , ์ฌ์ด๋ ๋ฉ๋ด๋ก ์ง์ ํ ์ ์๊ฒ ๋ง๋ค์ด ํ์ฅ์ฑ์ ํ๋ณดํ๋ค. ์์ผ๋ก ํ๋๋ ๋ณผ๋ฅจ, ์๋น์ค, ๋ค์์คํ์ด์ค ๋ฑ ์ฌ๋ฌ ๋ฆฌ์์ค๋ฅผ ์ด ํด์์ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ๋ ๋๋นํ ์์ ์ด์๋ค. ์์ธ ํ์ด์ง์ ์์ฑ ํ์ด์ง๋ ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ก ๊ฐ๋ณ ๋ผ์ฐํธ๋ฅผ ๋ถ์ฌํด ์ฌ์ฉ ํธ์์ฑ์ ๋์๋ค.
์ฐ๋ฆฌ ๋ชฉํ๋ ๋ชจ๋์๊ฒ ์น์ํ๋ฉด์๋ ์ฟ ๋ฒ๋คํฐ์ค API์ ๊ธฐ๋ฅ์ ์ ๋ถ ํ์ฉํ ์ ์๋ ํด์ ๋ง๋๋ ๊ฑฐ์๋ค. ๋ง์น ๋ฐ๋ ๋ฐฉํฅ์ผ๋ก ๋ฐ์ด๊ฐ๋ ๋ ๋ง๋ฆฌ ํ ๋ผ๋ฅผ ํ ๋ฒ์ ์ก๋ ์ผ ๊ฐ์๋ค. ์ฌ์ฉ์์ ๊ฐ๋จํ ์ ๋ ฅ๋ง์ผ๋ก ๋ฆฌ์์ค๋ฅผ ๋ง๋๋ ์ผ๊ณผ ์ฟ ๋ฒ๋คํฐ์ค API๊ฐ ์ ๊ณตํ๋ ๋ชจ๋ ์ต์ ์ ์ด์ด์ฃผ๋ ์ผ์ ์๋ก ์ถฉ๋ํ ์๋ฐ์ ์์๋ค. ํนํ Form ํ์ด์ง์์ ์ธํ ํ๋๋ฅผ ์ด๋ป๊ฒ ๋ฐฐ์นํ ๊ฒ์ธ์ง, ์ด๋๊น์ง ์๋ตํ ๊ฒ์ธ์ง์ ๋ํ ์๊ฒฌ์ด ๋ถ๋ถํ๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ๋ ผ์ ๋์ ์ฐ๋ฆฌ๋ ์ด๋ฐ ์ ์ถฉ์์ ๋ง๋ค์๋ค.
- Form ์ ๋ ฅ๋จ์์ ๋จ๊ณ๋ฅผ ๋๋๊ณ , ๊ฐ ๋จ๊ณ๋ ๊ฐ๊ฒฐํ๊ฒ ๋ฐฐ์นํ ๊ฒ
- ๋ชจ๋ ์ต์ ์ ์ด์ด์ฃผ๋, ๋๋ถ๋ถ ํ๋์ ๊ธฐ๋ณธ๊ฐ์ ์ฑ์๋ ๊ฒ
์ด๋ก์จ ์ฌ์ฉ์๋ ๊ผญ ํ์ํ ์ธํ ํ๋ ๋ช ๊ฐ๋ง ์ ๋ ฅํด ๊ฐ๋จํ ๋ฆฌ์์ค๋ฅผ ๋ง๋ค ์ ์๊ฒ ๋์๋ค. ๋ํ ํ์ํ ๋๋ ๋ชจ๋ ํ๋๋ฅผ ์ง์ ์์ฑํ์ฌ ์ฟ ๋ฒ๋คํฐ์ค API์ ๊ธฐ๋ฅ์ ๋ค์ํ๊ฒ ํ์ฉํ ์๋ ์์ ๊ฒ์ด๋ค.
BFF ์๋ฒ๋ฅผ ๋ง๋ค์ด์ผ ํ ๊น?
์ฌ์ฉ์์ ์ผ๋ง๋ ๋ง์ ์ต์ ์ ์ ๊ณตํ ์ง ์๊ฐํ๋ค ๋ณด๋ ์์ฐ์ค๋ BFF(Backend For Frontend)์ ๋ํ ๊ณ ๋ฏผ์ผ๋ก ์ด์ด์ก๋ค. BFF๋ ํ๋ก ํธ์๋์ ์๊ตฌ์ ๋ง์ถ์ด ๊ฐ๋ณ์ ์ผ๋ก ์ต์ ํ๋ ๋ฐฑ์๋๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
์ฟ ๋ฒ๋คํฐ์ค API๋ ํน์ ์๋น์ค๋ฅผ ๋์์ผ๋ก ํ์ง ์๋ ๋ฒ์ฉ API๋ก ๋ง์ ์ต์ ์ ํฌํจํ๊ณ ์๋ค. ๋ค๋ง ๋ค์ํ ๋ฆฌ์์ค๋ฅผ ์ผ๊ด๋ ํํ์ API๋ก ์ ๊ณตํ๋ค ๋ณด๋ ์ธํฐํ์ด์ค๊ฐ ๋ณต์กํด์ก๋ค. ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ ํ๋, ์๋น์ค, ๋ณผ๋ฅจ, ๋ค์์คํ์ด์ค, ๋ ํ๋ฆฌ์นด์ , ๋ํ๋ก์ด๋จผํธ ๋ฑ ์ข ๋ฅ๊ฐ ๋งค์ฐ ๋ค์ํ๋ฐ, ์ด๋ค ๋ชจ๋ ๋น์ทํ ๊ตฌ์กฐ์ YAML ํ์ผ์ ์ฌ์ฉํ์ฌ ์์ฑ๋๋ค. ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ ค๋ฉด YAML ํ์ผ์ ์ฟ ๋ฒ๋คํฐ์ค API์ payload๋ก ์ ๋ฌํด์ผ ํ๋ค. ์ด๋, YAML ํ์ผ์ ์ฃผ๋ก ๋ค ๊ฐ์ง ํต์ฌ ํ๋๋ฅผ ํฌํจํ๋ค.
- kind: ๋ฆฌ์์ค์ ์ข ๋ฅ๋ฅผ ๋ํ๋ด๋ฉฐ ์์ฑํ๋ ค๋ ๋ฆฌ์์ค ์ ํ(์: Pod, Service ๋ฑ)์ ์ง์ ํ ์ ์๋ค.
- apiVersion: ์ฌ์ฉํ API์ ๋ฒ์ ์ ๋ช ์ํ๋ค. ์ด๋ ์ฟ ๋ฒ๋คํฐ์ค์ ํด๋น ๋ฆฌ์์ค๋ฅผ ์ ์ํ๋ API ์คํ์ ๋ฒ์ ์ ๋ํ๋ธ๋ค.
- metadata: ๋ฆฌ์์ค์ ๋ํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ฉฐ ์ด๋ฆ, ๋ค์์คํ์ด์ค, ๋ ์ด๋ธ ๋ฑ ์ ๋ณด๋ฅผ ํฌํจํ ์ ์๋ค.
- spec: ๋ฆฌ์์ค์ ์ํ๋ ์ํ(specifications)๋ฅผ ์ ์ํ๋ฉฐ ๋ค์ํ ๊ตฌ์ฑ ์ต์ ์ ํฌํจํ ์ ์๋ค.
kind ํ๋๋ก ๋ฆฌ์์ค ์ข ๋ฅ๋ฅผ ๊ตฌ๋ถํ๊ณ , metadata์ spec ํ๋์์ ์ธ๋ถ ์ต์ ๊ฐ์ ์ ๋ ฅํ๋ฉด ์๋ก์ด ๋ฆฌ์์ค๊ฐ ๋ง๋ค์ด์ง๋ค. apiVersion์ ๋ง ๊ทธ๋๋ก API์ ๋ฒ์ ์ผ๋ก, ํด๋น ๋ฆฌ์์ค๊ฐ ์ด๋ค API ๋ฒ์ ์ ์ฌ์ฉํ ๊ฒ์ธ์ง๋ฅผ ์๋ฆฐ๋ค. API๋ ๊ฐ๋ฐ ๊ณผ์ ์์ ํ์์ ๋ฐ๋ผ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ๊ธฐ์กด ๊ธฐ๋ฅ์ ๊ฐ์ ํจ์ ๋ฐ๋ผ ๋ฒ์ ์ ์ ๋ฐ์ดํธํ๋ค. ์ด์ ๋ฒ์ ์ API๋ ์ ์ง์ ์ผ๋ก ํ๊ธฐ๋ ์ ์๋ค. ๋ง์ฝ ์๋ก์ด ๋ฒ์ ์ API ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ์ด apiVersion์ ์ ๋ฐ์ดํธํด์ผ ํ๋ค.
์ฐ๋ฆฌ ๋ฐฑ์๋ ์๋ฒ๋ ํ๋ก ํธ์๋์ ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค ์ฌ์ด๋ฅผ ์ค๊ฐํด ์ฃผ๋ ๋ธ๋ฆฟ์ง ์ญํ ์ ํ๋ค. ์ด ์๋ฒ๋ฅผ BFF๋ก ๋ง๋ค๊ฑฐ๋, ์๋๋ฉด ๋ฒ์ฉ ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ์ถ๊ฐ๋ก BFF ์๋ฒ๋ฅผ ๋ง๋ค๋ฉด ์ด๋จ์ง ๊ณ ๋ฏผํ๋ค. ๋ฐฑ์๋ ์๋ฒ๊ฐ ํ๋ก ํธ์๋์ ์ฟ ๋ฒ๋คํฐ์ค API ํํ๋ฅผ ๊ทธ๋๋ก ์ ๊ณตํ๋ ๊ฒ๊ณผ ๊ฐ๊ฒฐํ๊ฒ ์ถ์ํํ์ฌ ์ ๊ณตํ๋ ๊ฒ์ ํฐ ์ฐจ์ด๊ฐ ์๋ค.
๊ฐ๋ฐ ๊ณผ์ ์์ ๊ณ ๋ คํ ์ฅ๋จ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
์ฟ ๋ฒ๋คํฐ์ค API ํํ๋ฅผ ๊ทธ๋๋ก ์ ๊ณตํ๋ ๊ฒฝ์ฐ
- ์ฅ์ : ์ด๊ธฐ ๋น์ฉ ๋ฐ ์ ์ง ๊ด๋ฆฌ ์ธก๋ฉด์์ ๊ฒฝ์ ์ ์ด๋ค. ๊ฐ๋ฐ ๊ตฌ์กฐ๊ฐ ๋จ์ํด์ง๋ฉฐ, ์ง์ ์ ์ธ API ํธ์ถ๋ก ์ฑ๋ฅ ์ด์๋ฅผ ์ต์ํํ ์ ์๋ค.
- ๋จ์ : ํด๋ผ์ด์ธํธ์์ ์ฒ๋ฆฌํด์ผ ํ ๋น์ฆ๋์ค ๋ก์ง์ด ์ฆ๊ฐํ๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณต์ก๋๋ฅผ ๋์ด๋ฉฐ ์ถํ ์ ์ง ๋ณด์ ๋น์ฉ์ ์ฆ๊ฐ์ํฌ ์ ์๋ค.
์๋ฒ์์ ์ถ์ํํ API๋ฅผ ์ ๊ณตํ๋ ๊ฒฝ์ฐ
- ์ฅ์ : ํด์ ํด๋ผ์ด์ธํธ์์ ๋ณต์กํ ๋ก์ง์ ์ฒ๋ฆฌํ ํ์๊ฐ ์์ด, ๊ฐ๊ฒฐํ๊ณ ์ถ์ํ๋ ์ธํฐํ์ด์ค๋ก ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค. ๋ํ, ์ค์ํ ๋ก์ง์ด๋ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ถ๋ฆฌํ์ฌ ๋ณดํธํ ์ ์๋ค.
- ๋จ์ : ์ถ๊ฐ ์๋ฒ ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌ๊ฐ ํ์ํ๋ค. ์ด๋ ์ด์ ๋น์ฉ ์ฆ๊ฐ๋ก ์ด์ด์ง๋ค.
์ฐ๋ฆฌ ํ์ ๊ฒฐ๊ตญ ์ฟ ๋ฒ๋คํฐ์ค API ํํ ๊ทธ๋๋ก ์ ๊ณตํ๋ ์ชฝ์ ์ ํํ๋ค. ํ์์ฑ์ด ์ปค์ง๋ค๋ฉด ๊ทธ๋ BFF ์๋ฒ๋ฅผ ๋ง๋ค ์๋ ์์ ๊ฒ์ด๋ค. ํ์ง๋ง ๋น์ฅ์ ํ๋กํ ํ์ ์ ๊ฐ๋ฐํ๋ ๊ณผ์ ์ด๊ณ ์ ์ ๋ฆฌ์์ค๋ก ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์ด์ผ ํ๋ค๋ ๋ฐ ๋ชจ๋ ๋์ํ๋ค. ์ด๋ก์จ ํ๋ก ํธ์๋์์๋ ์ฌ์ค์ ์ฟ ๋ฒ๋คํฐ์ค API๋ฅผ ์ง์ ํธ์ถํ๋ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๊ฐ ๋์๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์์ ๋ ๋ง์ ์ต์ ์ ์ ๊ณตํ๊ณ yaml ์๋ํฐ๋ก ์ง์ payload๋ฅผ ์์ฑํ๋ ๊ธฐ๋ฅ๊น์ง ๋ฃ๊ธฐ๋ก ํ๋ค.
์ฌ๊ธฐ๊น์ง ์์ฌ์ด ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ํ ํด์ ๋ชจ์์ด ์กํ๋ค. ๋ฌผ๋ก ์ฌ์ฉ์ ํ ์คํธ๋ฅผ ๊ฑฐ์ณ์ผ ์๊ฒ ์ง๋ง, ์ฝ๊ฐ์ ์ ์ ๊ธฐ๊ฐ์ ๊ฑฐ์ณ ์ต์ํด์ง๊ณ ๋๋ฉด ๋ชจ๋์๊ฒ ๊ต์ฅํ ์ ์ฉํ ํด์ด ๋ ๊ฒ์ด๋ผ ์์ํด ๋ณธ๋ค.
๋ง์น๋ฉฐ: ๋๊ฐ ๋ณต์ก์ฑ์ ๊ฐ๋นํด์ผ ํ ๊น
์ฟ ๋ฒ๋คํฐ์ค API๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ์ ํต์ฌ ์์๋ก ์๋ฆฌ ์ก๊ณ ์๋ค. ์ด API๋ ๊ฐ๋ ฅํ ์๋ํ ๊ธฐ๋ฅ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ, ๊ด๋ฆฌ ๋ฐ ํ์ฅ์ ๊ฐํธํ๊ฒ ํด์ค๋ค. ์ฌ๋ฌ ๊ธฐ์ ๋ค ์ญ์ ์ด๋ฅผ ์ ์ฉํด ๋ ํจ์จ์ ์ผ๋ก ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ ์ ์๊ฒ ๋์๋ค. ์ต๊ทผ์๋ ๋ ธ์ฝ๋(No Code), ๋ก์ฐ ์ฝ๋(Low Code) ํด์ด ์ฌ๋ฟ ์๊ฒจ๋๋ฉฐ, ๊ฐ๋ฐ์์ ์์ญ ์ค ๋ค์๊ฐ ๋น๊ฐ๋ฐ์์๊ฒ๋ก ๋์ด๊ฐ๊ณ ์๋ค. ์ธํ๋ผ ๊ด๋ฆฌ ์ญ์ ์ ์ฐจ ๋ ์ฝ๊ณ ์ง๊ด์ ์ผ๋ก ํ ์ ์๊ฒ ์งํํ๋ ๊ฒ์ ์์ฐ์ค๋ฌ์ด ํ๋ฆ์ผ๋ก ๋ณด์ธ๋ค.
์ธํ๋ผ ๊ด๋ฆฌ์ ์ฌ๋ฌ ๋ถ๋ถ์ด ์๋ํ๋์์ง๋ง, ๊ทธ ์๋ํ ๊ธฐ๋ฅ์ ์ฐ๊ธฐ ์ํด ์ธํ๋ผ ๊ด๋ฆฌ์๊ฐ ์ ํํด์ผ ํ๋ ์ต์ ์ ์๋ ๊ทธ๋๋ก์ด๊ฑฐ๋ ์คํ๋ ค ๋์ด๋ฌ๋ค. ์์ ๋๊ฐ ๋๋ค๋ ๊ฑด ๊ทธ๋งํผ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค๋ ๊ฑธ ์๋ฏธํ๋ค. ๊ฒฐ๊ตญ, ๋๊ตฐ๊ฐ๋ ์ด๋ฌํ ๋ณต์กํจ์ ๊ฐ๋นํด์ผ ํ๋ค. ์ฌ์ฉ์์ ๋ชจ๋ ์ ํ์ง๋ฅผ ๋ ธ์ถํ ๊ฒ์ธ์ง, ์๋๋ฉด ํ๋ก ํธ์๋ ๋๋ ๋ฐฑ์๋ ๋จ์์ ์ด๋ฅผ ๊ฐ๋นํ ์ง๋ ์๋นํ ๊น๋ค๋ก์ด ๋ฌธ์ ๋ค. ํด์ ๋ง๋ค๋ฉฐ ๋ถ๋ชํ ์ฌ์ฉ์ UI, BFF ์๋ฒ ๋์ ์ฌ๋ถ ๋ฑ์ ์ด ๋ฌธ์ ์ ์ฐ์ฅ์ ์ด์๋ค.
์ด์ฉ๋ฉด ๋น์ฐํ ๋ง์ด์ง๋ง, ์ด๋ ๊ฐ๊ฒฐ์ฑ ์์น๊ณผ ๋น์ฉ-ํจ์จ์ฑ์ ๊ท ํ์ ์ ๊ณ ๋ คํ์ฌ ํ์ ์ํฉ์ ๋ง๊ฒ ๊ฒฐ์ ํด์ผ ํ๋ค. ๊ฐ ํ์ ์ํฉ๊ณผ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ต์ ์ ์ ํ์ด ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก, ํ์๋ค๊ณผ ์ถฉ๋ถํ ๋ ผ์๋ฅผ ๊ฑฐ์ณ ํฉ๋ฆฌ์ ์ผ๋ก ๊ฒฐ์ ํ๋ ๊ฒ์ด ์ค์ํ๋ค. ๋ค๋ง ์ด ๊ณผ์ ์์ ์ค์ํ ๊ฑด ํ์, ์ฆ ์ฌ์ฉ์์ ๋ ๋์ ๊ฒฝํ์ด๋ค. ๋๋ฌด ์ค๋ ๊ณ ๋ฏผํ๊ธฐ๋ณด๋ค ๋น ๋ฅด๊ฒ ํ๋กํ ํ์ ์ ๋ง๋ค์ด ์ง์ ์ฅ๋จ์ ์ ํ์ ํ๋ ๊ฒ ์ข์ ๋๊ฐ ๋ง๋ค. ํ๋ฅญํ ํด์ ํ๋ฒ์ ๋ง๋ค์ด์ง์ง ์๋๋ค.