๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํ๋๋ ์ด์ ์ ํ์ํ์ธ์. ๋ค์ํ ๋ฐฐํฌ ์ ๋ต์ ๋ฐฐ์ฐ๊ณ , ์ฑ๋ฅ์ ์ต์ ํํ๋ฉฐ, ๊ธ๋ก๋ฒ ํ์ ์ํ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ์ธ์.
์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํ๋๋ ์ด์ : ๊ธ๋ก๋ฒ ํ์ ์ํ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๋ฐฐํฌ ์ ๋ต
์ค๋๋ ๋น ๋ฅด๊ฒ ์งํํ๋ ์น ๊ฐ๋ฐ ํ๊ฒฝ์์ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ๋ ๊ฒ์ ์๋นํ ๋์ ์ด ๋ ์ ์์ต๋๋ค. ํ๋ก ํธ์๋ ์ฑ์ ๋ ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ๋จ์๋ก ๋ถํดํ๋ ์ํคํ ์ฒ ์คํ์ผ์ธ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ๋งค๋ ฅ์ ์ธ ํด๊ฒฐ์ฑ ์ ์ ๊ณตํฉ๋๋ค. ์นํฉ 5์ ๊ธฐ๋ฅ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํ๋๋ ์ด์ ์ ๊ฐ๋ฐ์๋ค์ด ๋ฐํ์์ ๋์ ์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๋ ์ง์ ์ผ๋ก ๋ ๋ฆฝ์ ์ธ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ตฌ์ถํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ํ์ ์์จ์ฑ์ ๋์ด๊ณ , ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ํํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ํ์ฅ์ฑ์ ํฅ์์ํต๋๋ค. ์ด ๋ธ๋ก๊ทธ ํฌ์คํธ์์๋ ๋ชจ๋ ํ๋๋ ์ด์ ์ ํต์ฌ ๊ฐ๋ ์ ๊น์ด ํ๊ตฌํ๊ณ , ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ํ ๋ค์ํ ๋ฐฐํฌ ์ ๋ต์ ํ์ํ๋ฉฐ, ๊ธ๋ก๋ฒ ํ์ ์ํ ๊ฒฌ๊ณ ํ๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ์ค์ฉ์ ์ธ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค.
๋ชจ๋ ํ๋๋ ์ด์ ์ด๋ ๋ฌด์์ธ๊ฐ?
๋ชจ๋ ํ๋๋ ์ด์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฐํ์์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๋๋ฅผ ๋์ ์ผ๋ก ๋ก๋ํ ์ ์๊ฒ ํด์ค๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ๋ค์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋น๋ ๋ฐ ๋ฐฐํฌ๋ ํ ๋ธ๋ผ์ฐ์ ์์ ์กฐ๋ฆฝ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค. ํ๋์ ๊ฑฐ๋ํ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๋์ , ๋ ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๋ชจ์์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๋ชจ๋ ํ๋๋ ์ด์ ์ ์ฃผ์ ์ด์ :
- ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ: ๊ฐ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค๋ฅธ ๋ถ๋ถ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ฐฐํฌ ๋ฐ ์ ๋ฐ์ดํธ๋ ์ ์์ต๋๋ค. ์ด๋ ๋ฐฐํฌ ์ํ์ ์ค์ด๊ณ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ํํฉ๋๋ค.
- ์ฝ๋ ๊ณต์ : ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ์ฝ๋์ ์ข ์์ฑ์ ๊ณต์ ํ์ฌ ์ค๋ณต์ ์ค์ด๊ณ ์ผ๊ด์ฑ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ํ ์์จ์ฑ: ์ฌ๋ฌ ํ์ด ๊ฐ๋ณ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์์ ํ๊ณ ๊ฐ๋ฐํ์ฌ ๋ ํฐ ์์จ์ฑ๊ณผ ์ฑ ์๊ฐ์ ํค์ธ ์ ์์ต๋๋ค.
- ํ์ฅ์ฑ: ๋ชจ๋ ํ๋๋ ์ด์ ์ ํ์์ ๋ฐ๋ผ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ ๊ฑฐํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ์ ์ผ๋ก ํ์ฅํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค.
- ๊ธฐ์ ๋ ๋ฆฝ์ฑ: React, Angular, Vue.js์ ํจ๊ป ํํ ์ฌ์ฉ๋์ง๋ง, ๋ชจ๋ ํ๋๋ ์ด์ ์ ํน์ ํ๋ ์์ํฌ์ ์ฝ๋งค์ด์ง ์์ ๋ค์ํ ๊ธฐ์ ์ ํตํฉ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋ชจ๋ ํ๋๋ ์ด์ ์ ํต์ฌ ๊ฐ๋
๋ชจ๋ ํ๋๋ ์ด์ ์ ํต์ฌ ๊ฐ๋ ์ ์ดํดํ๋ ๊ฒ์ ์ฑ๊ณต์ ์ธ ๊ตฌํ์ ๋งค์ฐ ์ค์ํฉ๋๋ค:
- ํธ์คํธ(Host): ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋๋ ์ด์ ๋ชจ๋์ ์๋นํ๋ ๋ฉ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋ ๋๋ง์ ์กฐ์จํ๋ ์ญํ ์ ํฉ๋๋ค.
- ๋ฆฌ๋ชจํธ(Remote): ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ (ํธ์คํธ ํฌํจ)์ด ์๋นํ ์ ์๋๋ก ๋ชจ๋์ ๋ ธ์ถํ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋๋ค.
- ๊ณต์ ์ข ์์ฑ(Shared Dependencies): ํธ์คํธ์ ๋ฆฌ๋ชจํธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ๊ณต์ ๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ปดํฌ๋ํธ์ ๋๋ค. ์นํฉ์ ์๋์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ฐ ๊ณต์ ์ข ์์ฑ์ ๋จ์ผ ๋ฒ์ ๋ง ๋ก๋๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
- ๋ชจ๋ ํ๋๋ ์ด์ ํ๋ฌ๊ทธ์ธ: ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ์คํธ ๋๋ ๋ฆฌ๋ชจํธ๋ก ๊ตฌ์ฑํ๋ ์นํฉ ํ๋ฌ๊ทธ์ธ์ ๋๋ค.
- `exposes` ๋ฐ `remotes` ์ค์ : ์นํฉ ์ค์ ๋ด์์ `exposes`๋ ๋ฆฌ๋ชจํธ๊ฐ ๋ ธ์ถํ๋ ๋ชจ๋์ ์ ์ํ๊ณ , `remotes`๋ ํธ์คํธ๊ฐ ์๋นํ ์ ์๋ ๋ฆฌ๋ชจํธ ๋ชจ๋์ ์ ์ํฉ๋๋ค.
๋ชจ๋ ํ๋๋ ์ด์ ์ ์ฌ์ฉํ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๋ฐฐํฌ ์ ๋ต
์ฌ๋ฐ๋ฅธ ๋ฐฐํฌ ์ ๋ต์ ์ ํํ๋ ๊ฒ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ ๊ฐ์ง ์ฌ๋ฌ ์ ๊ทผ ๋ฐฉ์์ด ์กด์ฌํฉ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ์ ๋ต์ ๋๋ค:
1. ๋น๋ ํ์ ํตํฉ
์ด ์ ๊ทผ ๋ฐฉ์์์๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ๋น๋ ์์ ์ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋๋๊ณ ํตํฉ๋ฉ๋๋ค. ์ด๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ์ ๋ฐ์ดํธ๋ ๋๋ง๋ค ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ๋น๋ํ๊ณ ์ฌ๋ฐฐํฌํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์ด๋ ๊ฐ๋ ์ ์ผ๋ก๋ ๋ ๊ฐ๋จํ์ง๋ง ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ ๊ฐ๋ฅ์ฑ์ด๋ผ๋ ์ฅ์ ์ ํฌ์ํฉ๋๋ค.
์ฅ์ :
- ๊ตฌํ์ด ๋ ๊ฐ๋จํฉ๋๋ค.
- ์ฌ์ ์ปดํ์ผ ๋ฐ ์ต์ ํ๋ก ์ธํด ์ฑ๋ฅ์ด ๋ ์ข์ต๋๋ค.
๋จ์ :
- ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ํฉ๋๋ค. ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ค๋ฉด ์ ์ฒด ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฐฐํฌํด์ผ ํฉ๋๋ค.
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ํธ์คํธ ๊ฐ์ ๊ฒฐํฉ๋๊ฐ ๋์์ง๋๋ค.
์ฌ์ฉ ์ฌ๋ก: ๋น๋ฒํ ์ ๋ฐ์ดํธ๊ฐ ํ์ํ์ง ์๊ณ ์ฑ๋ฅ์ด ์ฃผ์ ๊ด์ฌ์ฌ์ธ ์ค์ ๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค.
2. CDN์ ์ด์ฉํ ๋ฐํ์ ํตํฉ
์ด ์ ๋ต์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฝํ ์ธ ์ ์ก ๋คํธ์ํฌ(CDN)์ ๋ฐฐํฌํ๊ณ ๋ฐํ์์ ๋์ ์ผ๋ก ๋ก๋ํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ CDN์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋ชจ๋ ์ ์๋ฅผ ๊ฒ์ํ์ฌ ํ์ด์ง์ ํตํฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ง์ ์ผ๋ก ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ฅ์ :
- ์ง์ ์ผ๋ก ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ์ ๋ฐ์ดํธ๋ ์ ์์ต๋๋ค.
- CDN ์บ์ฑ ๋๋ถ์ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ด ํฅ์๋ฉ๋๋ค.
- ํ์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๋ฐฐํฌํ ์ ์์ด ํ ์์จ์ฑ์ด ์ฆ๋๋ฉ๋๋ค.
๋จ์ :
- CDN ์ค์ ๋ฐ ๊ด๋ฆฌ๊ฐ ๋ ๋ณต์กํด์ง๋๋ค.
- ํนํ ์ง๋ฆฌ์ ์ผ๋ก ๋ค์ํ ์์น์ ์๋ ์ฌ์ฉ์์ ๊ฒฝ์ฐ ์ ์ฌ์ ์ธ ๋คํธ์ํฌ ์ง์ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์ถฉ๋์ ํผํ๊ธฐ ์ํด ๊ฐ๋ ฅํ ๋ฒ์ ๊ด๋ฆฌ ๋ฐ ์ข ์์ฑ ๊ด๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
์์:
๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์์ํด ๋ณด์ธ์. ์ ํ ์นดํ๋ก๊ทธ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ CDN์ ๋ฐฐํฌ๋ ์ ์์ต๋๋ค. ์ผ๋ณธ์ ์ฌ์ฉ์๊ฐ ์น์ฌ์ดํธ์ ์ ์ํ๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด CDN ์ฃ์ง ์๋ฒ๊ฐ ์ ํ ์นดํ๋ก๊ทธ๋ฅผ ์ ๊ณตํ์ฌ ๋น ๋ฅธ ๋ก๋ฉ ์๊ฐ๊ณผ ์ต์ ์ ์ฑ๋ฅ์ ๋ณด์ฅํฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก: ๋น๋ฒํ ์ ๋ฐ์ดํธ์ ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ์ฌ์ฉ์๊ฐ ์๋ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค. ์ ์์๊ฑฐ๋ ํ๋ซํผ, ๋ด์ค ์น์ฌ์ดํธ, ์์ ๋ฏธ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ข์ ์์ ๋๋ค.
3. ๋ชจ๋ ํ๋๋ ์ด์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ด์ฉํ ๋ฐํ์ ํตํฉ
๋ชจ๋ ํ๋๋ ์ด์ ๋ ์ง์คํธ๋ฆฌ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ํ ์ค์ ์ ์ฅ์ ์ญํ ์ ํฉ๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๊ทธ ์์น๋ฅผ ๋ฐ๊ฒฌํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ๋ ๋์ ์ด๊ณ ์ ์ฐํ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
์ฅ์ :
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋์ ๋ฐ๊ฒฌ.
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ค์ ์ง์ค์ ๊ด๋ฆฌ ๋ฐ ๋ฒ์ ๊ด๋ฆฌ.
- ๋ณํํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ์ฌํญ์ ๋ํ ์ ์ฐ์ฑ ๋ฐ ์ ์์ฑ ํฅ์.
๋จ์ :
- ๋ชจ๋ ํ๋๋ ์ด์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
- ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ๋ ๋ค๋ฅธ ๋ณต์ก์ฑ ๊ณ์ธต์ ์ถ๊ฐํฉ๋๋ค.
- ๋ ์ง์คํธ๋ฆฌ์ ๊ณ ๊ฐ์ฉ์ฑ์ด ๋ณด์ฅ๋์ง ์์ผ๋ฉด ์ ์ฌ์ ์ธ ๋จ์ผ ์ฅ์ ์ง์ ์ด ๋ ์ ์์ต๋๋ค.
์์:
์ฌ๋ฌ ์ฌ์ ๋ถ(์: ์ํ, ํฌ์, ๋ณดํ)๋ฅผ ๊ฐ์ง ๊ธ์ต ์๋น์ค ํ์ฌ๋ ๋ชจ๋ ํ๋๋ ์ด์ ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ ๋ถ์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ์ฒด ํ๋ซํผ์์ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ์งํ๋ฉด์ ๋ ๋ฆฝ์ ์ธ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๋ ์ง์คํธ๋ฆฌ๋ ์ง๋ฆฌ์ ์ผ๋ก ๋ณต์ ๋์ด ๋ค๋ฅธ ์ง์ญ(์: ํ๋ํฌํธ๋ฅดํธ, ์ฑ๊ฐํฌ๋ฅด, ๋ด์)์ ์ฌ์ฉ์ ๋๊ธฐ ์๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก: ๋ง์ ์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ค์ ์ง์ค์ ๊ด๋ฆฌ ๋ฐ ๋์ ๋ฐ๊ฒฌ์ด ํ์ํ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด์์ ์ ๋๋ค.
4. ์๋ฒ ์ฌ์ด๋ ๊ตฌ์ฑ (Backend for Frontend - BFF)
์ด ์ ๊ทผ ๋ฐฉ์์์๋ BFF(Backend for Frontend) ๊ณ์ธต์ด ์ต์ข HTML์ ํด๋ผ์ด์ธํธ๋ก ๋ณด๋ด๊ธฐ ์ ์ ์๋ฒ ์ธก์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ง๊ณํ๊ณ ๊ตฌ์ฑํฉ๋๋ค. ์ด๋ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ๋ธ๋ผ์ฐ์ ์์ ๋ค์ด๋ก๋ ๋ฐ ์คํํด์ผ ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ์์ ์ค์ผ ์ ์์ต๋๋ค.
์ฅ์ :
- ์ฑ๋ฅ ํฅ์ ๋ฐ ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์.
- ํด๋ผ์ด์ธํธ์ ๋ ธ์ถ๋๋ ๋ฐ์ดํฐ์ ๋ก์ง์ ์ ์ดํ์ฌ ๋ณด์ ๊ฐํ.
- ์ค์ ์ง์ค์ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ๋ก๊น .
๋จ์ :
- BFF ๊ณ์ธต ์ค์ ๋ฐ ์ ์ง ๊ด๋ฆฌ์ ๋ณต์ก์ฑ ์ฆ๊ฐ.
- ์ ์ฌ์ ์ธ ์๋ฒ ์ธก ๋ถํ ์ฆ๊ฐ.
- ํจ์จ์ ์ผ๋ก ๊ตฌํ๋์ง ์์ผ๋ฉด ๋๊ธฐ ์๊ฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฌ์ฉ ์ฌ๋ก: ๋ณต์กํ ๋ ๋๋ง ์๊ตฌ์ฌํญ, ์ฑ๋ฅ์ ๋ฏผ๊ฐํ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๊ฐํ๋ ๋ณด์์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๋ฌ ์์ค์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ฑ๋ฅ ์ข๊ฒ ํ์ํด์ผ ํ๋ ์๋ฃ ํฌํธ์ด ์์ต๋๋ค.
5. ์ฃ์ง ์ฌ์ด๋ ๋ ๋๋ง
์๋ฒ ์ฌ์ด๋ ๊ตฌ์ฑ๊ณผ ์ ์ฌํ๊ฒ, ์ฃ์ง ์ฌ์ด๋ ๋ ๋๋ง์ ์ฃ์ง ์๋ฒ(์: Cloudflare Workers ๋๋ AWS Lambda@Edge ์ฌ์ฉ)์์ ๊ตฌ์ฑ์ ์ํํ์ฌ ๊ตฌ์ฑ ๋ก์ง์ ์ฌ์ฉ์์๊ฒ ๋ ๊ฐ๊น๊ฒ ์ด๋์ํต๋๋ค. ์ด๋ ํนํ ์ง๋ฆฌ์ ์ผ๋ก ๋ค์ํ ์์น์ ์๋ ์ฌ์ฉ์์ ๋๊ธฐ ์๊ฐ์ ๋์ฑ ์ค์ด๊ณ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค.
์ฅ์ :
- ์ฃ์ง ์ฌ์ด๋ ๋ ๋๋ง์ผ๋ก ์ธํ ์ต์ ๋๊ธฐ ์๊ฐ.
- ์ง๋ฆฌ์ ์ผ๋ก ๋ถ์ฐ๋ ์ฌ์ฉ์๋ฅผ ์ํ ์ฑ๋ฅ ํฅ์.
- ์ฃ์ง ์ปดํจํ ํ๋ซํผ์ด ์ ๊ณตํ๋ ํ์ฅ์ฑ ๋ฐ ์์ ์ฑ.
๋จ์ :
- ์ฃ์ง ๊ธฐ๋ฅ ์ค์ ๋ฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ ์ฆ๊ฐ.
- ์ฃ์ง ์ปดํจํ ํ๋ซํผ์ ๋ํ ์๋ จ๋๊ฐ ํ์ํฉ๋๋ค.
- ์๋ฒ ์ธก ๋ฆฌ์์ค์ ๋ํ ์ ๊ทผ์ด ์ ํ๋ฉ๋๋ค.
์ฌ์ฉ ์ฌ๋ก: ๋ฏธ๋์ด ์คํธ๋ฆฌ๋ฐ ์๋น์ค, ์จ๋ผ์ธ ๊ฒ์ ํ๋ซํผ, ์ค์๊ฐ ๋ฐ์ดํฐ ๋์๋ณด๋์ ๊ฐ์ด ์ฑ๋ฅ์ด ์ค์ํ ๊ธ๋ก๋ฒ ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ฅ ์ ํฉํฉ๋๋ค. ๊ธ๋ก๋ฒ ๋ด์ค ์กฐ์ง์ ์ฃ์ง ์ฌ์ด๋ ๋ ๋๋ง์ ํ์ฉํ์ฌ ์ฝํ ์ธ ๋ฅผ ๊ฐ์ธํํ๊ณ ์ ์ธ๊ณ ๋ ์์๊ฒ ์ต์ํ์ ๋๊ธฐ ์๊ฐ์ผ๋ก ์ ๋ฌํ ์ ์์ต๋๋ค.
์ค์ผ์คํธ๋ ์ด์ ์ ๋ต
๋ฐฐํฌ๋ฅผ ๋์ด, ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ค์ผ์คํธ๋ ์ด์ ์ ๋ต์ ๋๋ค:
- ํด๋ผ์ด์ธํธ ์ฌ์ด๋ ๋ผ์ฐํ : ๊ฐ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ ํ์ด์ง์ ์ง์ ๋ ์์ญ ๋ด์์ ์์ฒด ๋ผ์ฐํ ๋ฐ ํ์์ ์ฒ๋ฆฌํฉ๋๋ค. ํธ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฒด ๋ ์ด์์๊ณผ ์ด๊ธฐ ๋ก๋ฉ์ ๊ด๋ฆฌํฉ๋๋ค.
- ์๋ฒ ์ฌ์ด๋ ๋ผ์ฐํ : ์๋ฒ๋ ๋ผ์ฐํ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ ๋ ๋๋งํ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ฒฐ์ ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ฒฝ๋ก๋ฅผ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋งคํํ๋ ๋ฉ์ปค๋์ฆ์ด ํ์ํฉ๋๋ค.
- ์ค์ผ์คํธ๋ ์ด์ ๋ ์ด์ด: ์ ์ฉ ์ค์ผ์คํธ๋ ์ด์ ๋ ์ด์ด(์: Luigi ๋๋ single-spa์ ๊ฐ์ ํ๋ ์์ํฌ ์ฌ์ฉ)๋ ๋ก๋ฉ, ๋ ๋๋ง ๋ฐ ํต์ ์ ํฌํจํ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๋ผ์ดํ์ฌ์ดํด์ ๊ด๋ฆฌํฉ๋๋ค.
์ฑ๋ฅ ์ต์ ํ
์ฑ๋ฅ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ฅผ ๊ตฌํํ ๋ ํต์ฌ ๊ณ ๋ ค ์ฌํญ์ ๋๋ค. ๋ค์์ ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํ ๋ช ๊ฐ์ง ํ์ ๋๋ค:
- ์ฝ๋ ๋ถํ : ์ด๊ธฐ ๋ก๋ ์๊ฐ์ ์ค์ด๊ธฐ ์ํด ์ฝ๋๋ฅผ ๋ ์์ ์ฒญํฌ๋ก ๋ถํ ํฉ๋๋ค. ์นํฉ์ ์ฝ๋ ๋ถํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
- ์ง์ฐ ๋ก๋ฉ: ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๊ฐ ํ์ํ ๋๋ง ๋ก๋ํฉ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๊ธฐ ๋ก๋ ์๊ฐ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค.
- ์บ์ฑ: ๋ธ๋ผ์ฐ์ ์บ์ฑ๊ณผ CDN ์บ์ฑ์ ํ์ฉํ์ฌ ์๋ฒ์ ๋ํ ์์ฒญ ์๋ฅผ ์ค์ ๋๋ค.
- ๊ณต์ ์ข ์์ฑ: ๊ณต์ ์ข ์์ฑ์ ์๋ฅผ ์ต์ํํ๊ณ ์ถฉ๋์ ํผํ๊ธฐ ์ํด ์ ์ ํ๊ฒ ๋ฒ์ ๊ด๋ฆฌ๋๋๋ก ํฉ๋๋ค.
- ์์ถ: Gzip ๋๋ Brotli ์์ถ์ ์ฌ์ฉํ์ฌ ์ ์ก๋๋ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ์ค์ ๋๋ค.
- ์ด๋ฏธ์ง ์ต์ ํ: ํ์ง ์ ํ ์์ด ํ์ผ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ธฐ ์ํด ์ด๋ฏธ์ง๋ฅผ ์ต์ ํํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๊ณผ์ ํด๊ฒฐ
๋ชจ๋ ํ๋๋ ์ด์ ๊ณผ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ตฌํํ๋ ๋ฐ๋ ์ด๋ ค์์ด ๋ฐ๋ฆ ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค:
- ์ข ์์ฑ ๊ด๋ฆฌ: ์ถฉ๋์ ํผํ๊ธฐ ์ํด ๊ณต์ ์ข ์์ฑ์ด ์ ์ ํ๊ฒ ๋ฒ์ ๊ด๋ฆฌ๋๊ณ ์๋์ง ํ์ธํฉ๋๋ค. npm์ด๋ yarn๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ํต์ : ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ์ ๋ช ํํ ํต์ ์ฑ๋์ ์ค์ ํฉ๋๋ค. ์ด๋ ์ด๋ฒคํธ, ๊ณต์ ์๋น์ค ๋๋ ๋ฉ์์ง ๋ฒ์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌ์ฑํ ์ ์์ต๋๋ค.
- ์ํ ๊ด๋ฆฌ: ๋ชจ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ๊ฑธ์ณ ์ผ๊ด๋ ์ํ ๊ด๋ฆฌ ์ ๋ต์ ๊ตฌํํฉ๋๋ค. Redux๋ Zustand์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ํ ์คํ : ๊ฐ๋ณ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ํฌ๊ดํ๋ ํฌ๊ด์ ์ธ ํ ์คํธ ์ ๋ต์ ๊ฐ๋ฐํฉ๋๋ค.
- ๋ณด์: ์ทจ์ฝ์ ์ผ๋ก๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณดํธํ๊ธฐ ์ํด ๊ฐ๋ ฅํ ๋ณด์ ์กฐ์น๋ฅผ ๊ตฌํํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ, ์ถ๋ ฅ ์ธ์ฝ๋ฉ ๋ฐ ์ธ์ฆ/๊ถํ ๋ถ์ฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ํ ๊ณ ๋ ค์ฌํญ
๊ธ๋ก๋ฒ ํ๊ณผ ํ๋ ฅํ ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋์ ์ด์ ์ ๋์ฑ ๋๋๋ฌ์ง๋๋ค. ๋ค์์ ๊ธ๋ก๋ฒ ํ์ ์ํ ๋ช ๊ฐ์ง ๊ณ ๋ ค์ฌํญ์ ๋๋ค:
- ์๊ฐ๋: ๋ค๋ฅธ ์๊ฐ๋์ ๊ฑธ์ณ ๋ฐฐํฌ ๋ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์กฐ์ ํฉ๋๋ค. ์ค๋จ์ ์ต์ํํ๊ธฐ ์ํด ์๋ํ๋ ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ์ฌ์ฉํฉ๋๋ค.
- ์ปค๋ฎค๋์ผ์ด์ : ๋ค๋ฅธ ์์น์ ์๋ ํ ๊ฐ์ ํ์ ์ ์ด์งํ๊ธฐ ์ํด ๋ช ํํ ์ปค๋ฎค๋์ผ์ด์ ์ฑ๋๊ณผ ํ๋กํ ์ฝ์ ์ค์ ํฉ๋๋ค.
- ๋ฌธํ์ ์ฐจ์ด: ๋ฌธํ์ ์ฐจ์ด๋ฅผ ์ธ์ํ๊ณ ๊ทธ์ ๋ฐ๋ผ ์ปค๋ฎค๋์ผ์ด์ ์คํ์ผ์ ์กฐ์ ํฉ๋๋ค.
- ๋ฌธ์ํ: ์์น์ ๊ด๊ณ์์ด ๋ชจ๋ ํ์์ด ์ ๊ทผํ ์ ์๋ ํฌ๊ด์ ์ธ ๋ฌธ์๋ฅผ ์ ์งํฉ๋๋ค.
- ์ฝ๋ ์์ ๊ถ: ์ถฉ๋์ ํผํ๊ณ ์ฑ ์๊ฐ์ ๋ณด์ฅํ๊ธฐ ์ํด ์ฝ๋ ์์ ๊ถ๊ณผ ์ฑ ์์ ๋ช ํํ๊ฒ ์ ์ํฉ๋๋ค.
์์: ์ธ๋, ๋ ์ผ, ๋ฏธ๊ตญ์ ๊ฐ๋ฐํ์ ๋ ๋ค๊ตญ์ ๊ธฐ์ ์ ๋ชจ๋ ํ๋๋ ์ด์ ์ ํ์ฉํ์ฌ ๊ฐ ํ์ด ๋ ๋ฆฝ์ ์ผ๋ก ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ฐ๋ฐํ๊ณ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์ด๋ ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ ์ค์ด๊ณ ๊ฐ ํ์ด ํน์ ์ ๋ฌธ ๋ถ์ผ์ ์ง์คํ ์ ์๋๋ก ํฉ๋๋ค.
์ค์ ์ฌ๋ก
๋ช๋ช ํ์ฌ๋ค์ด ๋ชจ๋ ํ๋๋ ์ด์ ๊ณผ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌํํ์ต๋๋ค:
- IKEA: ๋ชจ๋์์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Spotify: ์ฌ์ฉ์์๊ฒ ๊ฐ์ธํ๋ ์ฝํ ์ธ ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- OpenTable: ๋ณต์กํ ์์ฝ ์์คํ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ํ์ฉํฉ๋๋ค.
๊ฒฐ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ํ๋๋ ์ด์ ์ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋๋ฅผ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ฌ ํ์ ์์จ์ฑ์ ๋์ด๊ณ , ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ํ์ฅ์ฑ์ ํฅ์์ํต๋๋ค. ๋ค์ํ ๋ฐฐํฌ ์ ๋ต์ ์ ์คํ๊ฒ ๊ณ ๋ คํ๊ณ ์ผ๋ฐ์ ์ธ ๊ณผ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ ๊ธ๋ก๋ฒ ํ์ ๋ค์ํ ์ฌ์ฉ์ ๊ธฐ๋ฐ์ ์๊ตฌ๋ฅผ ์ถฉ์กฑ์ํค๋ ๊ฒฌ๊ณ ํ๊ณ ์ ์ง๋ณด์ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ชจ๋ ํ๋๋ ์ด์ ์ ํ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋ฐ๋ฅธ ์ ๋ต์ ์ ํํ๋ ๊ฒ์ ํน์ ์ํฉ, ํ ๊ตฌ์กฐ, ์ ํ๋ฆฌ์ผ์ด์ ๋ณต์ก์ฑ ๋ฐ ์ฑ๋ฅ ์๊ตฌ์ฌํญ์ ํฌ๊ฒ ์ข์ฐ๋ฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ํ์๋ฅผ ์ ์คํ๊ฒ ํ๊ฐํ๊ณ ์คํํ์ฌ ์กฐ์ง์ ๊ฐ์ฅ ์ ํฉํ ์ ๊ทผ ๋ฐฉ์์ ์ฐพ์ผ์ญ์์ค.
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ:
- ๊ฐ๋จํ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ก ์์ํ์ฌ ํ์์ ๋ฐ๋ผ ์ ์ฐจ ๋ณต์ก์ฑ์ ๋์ด์ธ์.
- ๋ฐฐํฌ ํ์ดํ๋ผ์ธ์ ๊ฐ์ํํ๊ธฐ ์ํด ์๋ํ์ ํฌ์ํ์ธ์.
- ํ ๊ฐ์ ๋ช ํํ ์ปค๋ฎค๋์ผ์ด์ ์ฑ๋๊ณผ ํ๋กํ ์ฝ์ ์ค์ ํ์ธ์.
- ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๊ณ ๊ฐ์ ํ ์์ญ์ ์๋ณํ์ธ์.
- ์ง์์ ์ผ๋ก ๋ฐฐ์ฐ๊ณ ์งํํ๋ ๋ง์ดํฌ๋ก ํ๋ก ํธ์๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ์ํ์ธ์.