๋คํธ์ํฌ ์ํคํ ์ฒ์ ๋ค์ ์งํ์ธ ํ์ -์์ ํ ํธ๋ํฝ ๊ด๋ฆฌ๋ฅผ ํ๊ตฌํ์ธ์. ์ธํ๋ผ ๊ณ์ธต์์ ๋ฐ์ดํฐ ๊ณ์ฝ์ ๊ฐ์ ํ์ฌ ๊ธ๋ก๋ฒ ์์คํ ์ ์์ ์ฑ, ๋ณด์, ์ฑ๋ฅ์ ๋์ด๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
์ผ๋ฐ ํธ๋ํฝ ๊ด๋ฆฌ: ํ์ -์์ ํ ํ๋ฆ ์ต์ ํ๋ก์ ํจ๋ฌ๋ค์ ์ ํ
๋ถ์ฐ ์์คํ ์ ์ธ๊ณ์์ ํธ๋ํฝ ํ๋ฆ์ ๊ด๋ฆฌํ๋ ๊ฒ์ ๊ทผ๋ณธ์ ์ธ ๊ณผ์ ์ ๋๋ค. ์์ญ ๋  ๋์ ์ฐ๋ฆฌ๋ ๋คํธ์ํฌ ํจํท์ ๋ผ์ฐํ ํ๊ณ , ๊ท ํ์ ๋ง์ถ๊ณ , ๋ณด์ํ๊ธฐ ์ํด ์ ์  ๋ ์ ๊ตํ ์์คํ ์ ๊ฐ๋ฐํด ์์ต๋๋ค. ๋จ์ํ ํ๋์จ์ด ๋ก๋ ๋ฐธ๋ฐ์๋ถํฐ ํ๋์ ์ด๊ณ ๊ธฐ๋ฅ์ด ํ๋ถํ ์๋น์ค ๋ฉ์๊น์ง, ๊ทธ ๋ชฉํ๋ ์ผ๊ด๋๊ฒ ์ ์ง๋์์ต๋๋ค. ์ฆ, ์์ฒญ A๊ฐ ์๋น์ค B์ ์์ ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๋๋ฌํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ์ด๋ฌํ ์์คํ ์๋ ๋ฏธ๋ฌํ์ง๋ง ์ฌ๊ฐํ ํ๊ณ๊ฐ ์ง์๋์ด ์์ต๋๋ค. ๋ฐ๋ก ์์คํ ์ด ๋๋ถ๋ถ ํ์ -๋ถ๊ฐ์ง๋ก ์ (type-agnostic)์ด๋ผ๋ ์ ์ ๋๋ค. ์ด๋ค์ ์ ํ๋ฆฌ์ผ์ด์  ๋ฐ์ดํฐ๋ฅผ ๋ถํฌ๋ช ํ ํ์ด๋ก๋๋ก ์ทจ๊ธํ์ฌ IP ์ฃผ์ ๋ฐ ํฌํธ์ ๊ฐ์ L3/L4 ๋ฉํ๋ฐ์ดํฐ, ๋๋ ๊ธฐ๊ปํด์ผ HTTP ํค๋์ ๊ฐ์ ํผ์์ ์ธ L7 ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ์ ์ ๋ด๋ฆฝ๋๋ค. ์ด์  ์ด๋ฌํ ๋ฐฉ์์ด ๋ฐ๋๋ ค ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ํธ๋ํฝ ๊ด๋ฆฌ์์ ํจ๋ฌ๋ค์ ์ ํ์ ๋ฌธํฑ์ ์ ์์ต๋๋ค. ์ฆ, ํ์ -๋ถ๊ฐ์ง๋ก ์ ์ธ(type-agnostic) ์ธ์์์ ํ์ -์ธ์ง(type-aware) ์ธ์์ผ๋ก์ ์ ํ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํ์ -์์ ํ ํ๋ฆ ์ต์ ํ(Type-Safe Flow Optimization)๋ผ๊ณ ๋ถ๋ฅด๋ ์ด๋ฌํ ์งํ๋ ๋ฐ์ดํฐ ๊ณ์ฝ ๋ฐ ์คํค๋ง ๊ฐ๋ ์ ๋คํธ์ํฌ ์ธํ๋ผ ์์ฒด์ ์ง์  ๋ด์ฅํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๋ API ๊ฒ์ดํธ์จ์ด, ์๋น์ค ๋ฉ์ ๋ฐ ์ฃ์ง ํ๋ก์๊ฐ ๋ผ์ฐํ ํ๋ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ์ ์๋ฏธ๋ฅผ ์ดํดํ๋๋ก ์ง์ํ๋ ๊ฒ์ ๋๋ค. ์ด๊ฒ์ ๋จ์ํ ํ๋ฌธ์  ์ฐ์ต์ด ์๋๋ผ, ์ฐจ์ธ๋ ๋ณต์๋ ฅ ์๊ณ ์์ ํ๋ฉฐ ํ์ฅ ๊ฐ๋ฅํ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๊ธฐ ์ํ ์ค์ง์ ์ธ ํ์ ์์์ ๋๋ค. ์ด ๊ฒ์๋ฌผ์ ํธ๋ํฝ ๊ณ์ธต์์์ ํ์ ์์ ์ฑ์ด ์ ์๋ก์ด ๊ฐ์ฒ ๋ถ์ผ์ธ์ง, ๊ทธ๋ฌํ ์์คํ ์ ์ด๋ป๊ฒ ์ค๊ณํด์ผ ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ๊ฐ์ ธ์ค๋ ํ์ ์ ์ธ ์ด์ ์ ๋ํด ํ๊ตฌํฉ๋๋ค.
ํจํท ํธ์ฑ์์ L7 ์ธ์ง๋ก์ ์ฌ์ 
ํ์ ์์ ์ฑ์ ์ค์์ฑ์ ์ดํดํ๋ ค๋ฉด ํธ๋ํฝ ๊ด๋ฆฌ์ ์งํ๋ฅผ ์ดํด๋ณด๋ ๊ฒ์ด ๋์์ด ๋ฉ๋๋ค. ์ด ์ฌ์ ์ ์ ์ง์ ์ผ๋ก ๋ ๊น์ ๊ฒ์ฌ์ ์ธํ ๋ฆฌ์ ์ค๋ก ๋์๊ฐ๋ ๊ณผ์ ์ด์์ต๋๋ค.
1๋จ๊ณ: L3/L4 ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์๋
์น ์ด์ฐฝ๊ธฐ์๋ ํธ๋ํฝ ๊ด๋ฆฌ๊ฐ ๊ฐ๋จํ์ต๋๋ค. ํ๋์จ์ด ๋ก๋ ๋ฐธ๋ฐ์๊ฐ ๋จ์ผ ์น ์๋ฒ ํ ์์ ์์นํ์ต๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์์ ์ญํ ์ ๋ผ์ด๋ ๋ก๋น ๋๋ ์ต์ ์ฐ๊ฒฐ๊ณผ ๊ฐ์ ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค์ด์ค๋ TCP ์ฐ๊ฒฐ์ ๋ถ์ฐํ๋ ๊ฒ์ด์์ต๋๋ค. ์ด๋ ์ฃผ๋ก OSI ๋ชจ๋ธ์ 3๊ณ์ธต(IP)๊ณผ 4๊ณ์ธต(TCP/UDP)์์ ์๋ํ์ต๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์๋ HTTP, JSON ๋๋ gRPC์ ๋ํ ๊ฐ๋ ์ด ์์์ผ๋ฉฐ, ๋จ์ง ์ฐ๊ฒฐ๊ณผ ํจํท๋ง ๋ณด์์ต๋๋ค. ์ด๋ ๋น์์๋ ํจ๊ณผ์ ์ด์์ง๋ง, ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ณต์กํด์ง์ ๋ฐ๋ผ ๊ทธ ํ๊ณ๊ฐ ๋ถ๋ช ํด์ก์ต๋๋ค.
2๋จ๊ณ: L7 ์ธํ ๋ฆฌ์ ์ค์ ๋ถ์
๋ง์ดํฌ๋ก์๋น์ค์ ๋ณต์กํ API์ ๋ฑ์ฅ์ผ๋ก ๋จ์ํ ์ฐ๊ฒฐ ์์ค์ ๋ก๋ ๋ฐธ๋ฐ์ฑ๋ง์ผ๋ก๋ ๋ ์ด์ ์ถฉ๋ถํ์ง ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ํ๋ฆฌ์ผ์ด์  ์์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ฐํ ๊ฒฐ์ ์ ๋ด๋ ค์ผ ํ์ต๋๋ค. ์ด๋ L7 ํ๋ก์์ ์ ํ๋ฆฌ์ผ์ด์  ๋๋ฆฌ๋ฒ๋ฆฌ ์ปจํธ๋กค๋ฌ(ADC)์ ๋ฑ์ฅ์ ๊ฐ์ ธ์์ต๋๋ค. ์ด๋ฌํ ์์คํ ์ HTTP ํค๋, URL ๋ฐ ์ฟ ํค๋ฅผ ๊ฒ์ฌํ ์ ์์์ต๋๋ค.
์ด๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋ ฅํ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ฐ๋ฅํ๊ฒ ํ์ต๋๋ค.
- ๊ฒฝ๋ก ๊ธฐ๋ฐ ๋ผ์ฐํ
: 
/api/users์์ฒญ์ ์ฌ์ฉ์ ์๋น์ค๋ก,/api/orders์์ฒญ์ ์ฃผ๋ฌธ ์๋น์ค๋ก ๋ผ์ฐํ ํฉ๋๋ค. - ํธ์คํธ ๊ธฐ๋ฐ ๋ผ์ฐํ
: 
emea.mycompany.com๋ฐapac.mycompany.comํธ๋ํฝ์ ๋ค๋ฅธ ์๋ฒ ํ๋ก ๋ณด๋ ๋๋ค. - ์คํฐํค ์ธ์ : ์ฟ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ํญ์ ๋์ผํ ๋ฐฑ์๋ ์๋ฒ๋ก ์ ์ก๋๋๋ก ํฉ๋๋ค.
 
NGINX, HAProxy, ๊ทธ๋ฆฌ๊ณ ๋์ค์๋ Envoy์ ๊ฐ์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ํ๋ก์ ๋๊ตฌ๋ค์ ํ๋ ์ํคํ ์ฒ์ ์ด์์ด ๋์์ต๋๋ค. ์ด๋ฌํ L7 ํ๋ก์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๋น์ค ๋ฉ์๋ ์ด๋ฅผ ํ ๋จ๊ณ ๋ ๋ฐ์ ์์ผ ๋ชจ๋ ์๋น์ค์ ์ฌ์ด๋์นด๋ก ๋ฐฐํฌํจ์ผ๋ก์จ, ์ ๋น์ฟผํฐ์ค์ ์ด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์งํ๋ ๋คํธ์ํฌ ํจ๋ธ๋ฆญ์ ์์ฑํ์ต๋๋ค.
๋จ์์๋ ์ฌ๊ฐ์ง๋: ๋ถํฌ๋ช ํ ํ์ด๋ก๋
์ด๋ฌํ ๋ฐ์ ์๋ ๋ถ๊ตฌํ๊ณ , ์ค์ํ ์ฌ๊ฐ์ง๋๊ฐ ๋จ์ ์์ต๋๋ค. ์ฐ๋ฆฌ ์ธํ๋ผ๊ฐ HTTP ๋ฉ์๋์ ํค๋๋ฅผ ์ดํดํ์ง๋ง, ์ผ๋ฐ์ ์ผ๋ก ์์ฒญ ๋ณธ๋ฌธโ์ค์  ๋ฐ์ดํฐ ํ์ด๋ก๋โ์ ๋ถํฌ๋ช
ํ ๋ฐ์ดํธ ๋ฉ์ด๋ฆฌ๋ก ์ทจ๊ธํฉ๋๋ค. ํ๋ก์๋ POST ์์ฒญ์ด /api/v1/users๋ก Content-Type: application/json ํค๋์ ํจ๊ป ๋ผ์ฐํ
๋๋ค๋ ๊ฒ์ ์ ์ ์์ง๋ง, ํด๋น JSON์ ๊ตฌ์กฐ๊ฐ ์ด๋ ํด์ผ ํ๋์ง์ ๋ํด์๋ ์ ํ ์์ง ๋ชปํฉ๋๋ค. ํ์ `email` ํ๋๊ฐ ๋๋ฝ๋์๋๊ฐ? `user_id`๊ฐ ๋ฌธ์์ด์ด์ด์ผ ํ๋๋ฐ ์ ์์ธ๊ฐ? ํด๋ผ์ด์ธํธ๊ฐ v2 ์๋ํฌ์ธํธ์ v1 ํ์ด๋ก๋๋ฅผ ๋ณด๋ด์ด ๋ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ํ๋๊ฐ?
์ค๋๋ , ์ด๋ฌํ ์ ํจ์ฑ ๊ฒ์ฌ ๋ถ๋ด์ ๊ฑฐ์ ์ ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์  ์ฝ๋์ ์์ต๋๋ค. ๋ชจ๋ ๋ง์ดํฌ๋ก์๋น์ค๋ ์๋ชป๋ ์์ฒญ์ ๊ฒ์ฆํ๊ณ , ์ญ์ง๋ ฌํํ๋ฉฐ, ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํฉ๋๋ค.
- ์ค๋ณต ์ฝ๋: ๋ชจ๋ ์๋น์ค๋ ๋์ผํ ์์ฉ๊ตฌ ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง์ ์์ฑํฉ๋๋ค.
 - ์ผ๊ด์ฑ ์๋ ์ ์ฉ: ์๋ก ๋ค๋ฅธ ํ์ด ๋ค๋ฅธ ์ธ์ด๋ก ์์ฑํ์ ์ ์๋ ์ฌ๋ฌ ์๋น์ค๊ฐ ์ ํจ์ฑ ๊ฒ์ฌ ๊ท์น์ ์ผ๊ด์ฑ ์์ด ์ ์ฉํ ์ ์์ต๋๋ค.
 - ๋ฐํ์ ์ค๋ฅ: ์๋ชป๋ ์์ฒญ์ด ๋คํธ์ํฌ ๊น์์ด ์นจํฌํ์ฌ ์๋น์ค๊ฐ ์ถฉ๋ํ๊ฑฐ๋ ์ ์ ์๋ 500 ์ค๋ฅ๋ฅผ ๋ฐํํ์ฌ ๋๋ฒ๊น ์ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค.
 - ๋ณด์ ์ทจ์ฝ์ : ์ฃ์ง์์ ์๊ฒฉํ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ๊ฐ ๋ถ์กฑํ๋ฉด NoSQL ์ธ์ ์ , ๋๋ ํ ๋น ์ทจ์ฝ์  ๋ฐ ๊ธฐํ ํ์ด๋ก๋ ๊ธฐ๋ฐ ๊ณต๊ฒฉ์ ์ฃผ์ ๊ฒฝ๋ก๊ฐ ๋ฉ๋๋ค.
 - ์์ ๋ญ๋น: ๋ฐฑ์๋ ์๋น์ค๋ ์์ฒญ์ด ์ ํจํ์ง ์๋ค๊ณ ํ๋จ๋์ด ๊ฑฐ๋ถ๋์ด์ผ ํจ์ ์๊ฒ ๋ ๋๊น์ง ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐ CPU ์ฌ์ดํด์ ๋ญ๋นํฉ๋๋ค.
 
๋คํธ์ํฌ ํ๋ฆ์์ ํ์ ์์ ์ฑ ์ ์
๊ฐ๋ฐ์๋ค์ด "ํ์ ์์ ์ฑ"์ ๋ค์ผ๋ฉด ์ข ์ข ์ปดํ์ผ ์์ ์ ํ์ ๊ด๋ จ ์ค๋ฅ๋ฅผ ์ก์๋ด๋ TypeScript, Rust ๋๋ Java์ ๊ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ๋ ์ฌ๋ฆฝ๋๋ค. ์ด๋ฌํ ๋น์ ๋ ํธ๋ํฝ ๊ด๋ฆฌ์ ๋งค์ฐ ์ ์ ํฉ๋๋ค. ํ์ -์์ ํ ํ๋ฆ ์ต์ ํ๋ ๋ฐ์ดํฐ ๊ณ์ฝ ์๋ฐ์ด ์๋น์ค์์ ๋ฐํ์ ์ค๋ฅ๋ฅผ ์ผ์ผํค๊ธฐ ์ ์ ์ธํ๋ผ ์ฃ์ง์์โ๋คํธ์ํฌ "์ปดํ์ผ ์๊ฐ"์ ํ ํํโ์ด๋ฅผ ์ก์๋ด๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ด๋ฌํ ๋งฅ๋ฝ์์ ํ์ ์์ ์ฑ์ ๋ช ๊ฐ์ง ํต์ฌ ๊ธฐ๋ฅ์ ๊ธฐ๋ฐ์ ๋๊ณ ์์ต๋๋ค.
1. ์คํค๋ง ๊ธฐ๋ฐ ๋ฐ์ดํฐ ๊ณ์ฝ
ํ์ ์์ ์ฑ์ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ณต์์ ์ธ ์ ์์ ๋๋ค. ์์์ ์ธ ํฉ์๋ ๋ฌธ์์ ์์กดํ๋ ๋์ , ํ์ ๊ธฐ๊ณ๊ฐ ์ฝ์ ์ ์๋ ์คํค๋ง ์ ์ ์ธ์ด(SDL)๋ฅผ ์ฌ์ฉํ์ฌ API์ ๋ํ ๋ช ํํ ๊ณ์ฝ์ ์์ฑํฉ๋๋ค.
๋๋ฆฌ ์ฌ์ฉ๋๋ ์ ํ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- OpenAPI (์ด์  Swagger): RESTful API๋ฅผ ์ค๋ช ํ๊ธฐ ์ํ ํ์ค์ผ๋ก, ์๋ํฌ์ธํธ, ๋ฉ์๋, ๋งค๊ฐ๋ณ์, ๊ทธ๋ฆฌ๊ณ ์์ฒญ ๋ฐ ์๋ต ๋ณธ๋ฌธ์ ์ํ JSON/YAML ์คํค๋ง๋ฅผ ์ ์ํฉ๋๋ค.
 - ํ๋กํ ์ฝ ๋ฒํผ(Protobuf): Google์ด ๊ฐ๋ฐํ ๋ฐ์ด๋๋ฆฌ ์ง๋ ฌํ ํ์์ผ๋ก, gRPC์ ํจ๊ป ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค. ์ธ์ด์ ๊ตฌ์ ๋ฐ์ง ์์ผ๋ฉฐ ๋งค์ฐ ํจ์จ์ ์ ๋๋ค.
 - JSON ์คํค๋ง: JSON ๋ฌธ์๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํ๊ณ ์ ํจ์ฑ์ ๊ฒ์ฌํ ์ ์๋ ์ดํ์ ๋๋ค.
 - Apache Avro: ๋ฐ์ดํฐ ์ง์ฝ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ , ํนํ Apache Kafka ์ํ๊ณ ๋ด์์ ์ธ๊ธฐ ์๋ ๋ฐ์ดํฐ ์ง๋ ฌํ ์์คํ ์ ๋๋ค.
 
์ด ์คํค๋ง๋ ์๋น์ค์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๋ํ ๋จ์ผ ์ง์ค ๊ณต๊ธ์์ด ๋ฉ๋๋ค.
2. ์ธํ๋ผ ์์ค ์ ํจ์ฑ ๊ฒ์ฌ
ํต์ฌ ๋ณํ๋ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ธํ๋ผ๋ก ์ด๋ํ๋ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ ํ๋ ์ธ(API ๊ฒ์ดํธ์จ์ด ๋๋ ์๋น์ค ๋ฉ์ ํ๋ก์)์ ๋ณดํธํ๋ ์๋น์ค์ ์คํค๋ง๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์์ฒญ์ด ๋์ฐฉํ๋ฉด ํ๋ก์๋ ์ ๋ฌํ๊ธฐ ์ ์ ๋ ๋จ๊ณ ํ๋ก์ธ์ค๋ฅผ ์ํํฉ๋๋ค.
- ์ญ์ง๋ ฌํ: ์์ ์์ฒญ ๋ณธ๋ฌธ(์: JSON ๋ฌธ์์ด ๋๋ ํ๋กํ ์ฝ ๋ฒํผ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ)์ ๊ตฌ์กฐํ๋ ํํ์ผ๋ก ํ์ฑํฉ๋๋ค.
 - ์ ํจ์ฑ ๊ฒ์ฌ: ์ด ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฑ๋ก๋ ์คํค๋ง์ ๋์กฐํ์ฌ ํ์ธํฉ๋๋ค. ๋ชจ๋ ํ์ ํ๋๊ฐ ํฌํจ๋์ด ์๋๊ฐ? ๋ฐ์ดํฐ ํ์ ์ด ์ฌ๋ฐ๋ฅธ๊ฐ(์: `age`๊ฐ ์ซ์์ธ๊ฐ)? ๋ชจ๋ ์ ์ฝ ์กฐ๊ฑด(์: `country_code`๊ฐ ์ฌ์  ์ ์๋ ๋ชฉ๋ก๊ณผ ์ผ์นํ๋ ๋ ๊ธ์ ๋ฌธ์์ด์ธ๊ฐ)์ ์ค์ํ๋๊ฐ?
 
์ ํจ์ฑ ๊ฒ์ฌ์ ์คํจํ๋ฉด ํ๋ก์๋ ์ ํจ์ฑ ๊ฒ์ฌ ์คํจ์ ๋ํ ์ธ๋ถ ์ ๋ณด๋ฅผ ํฌํจํ์ฌ ์ค๋ช ์ ์ธ 4xx ์ค๋ฅ(์: `400 Bad Request`)์ ํจ๊ป ์์ฒญ์ ์ฆ์ ๊ฑฐ๋ถํฉ๋๋ค. ์๋ชป๋ ์์ฒญ์ ์ ํ๋ฆฌ์ผ์ด์  ์๋น์ค์ ๋๋ฌํ์ง ์์ต๋๋ค. ์ด๋ฅผ Fail Fast ์์น์ด๋ผ๊ณ ํฉ๋๋ค.
3. ํ์ -์ธ์ง ๋ผ์ฐํ ๋ฐ ์ ์ฑ ์ํ
์ธํ๋ผ๊ฐ ๋ฐ์ดํฐ์ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ฉด ํจ์ฌ ๋ ์ค๋งํธํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค. ์ด๋ ๋จ์ํ URL ๋งค์นญ์ ํจ์ฌ ๋ฐ์ด๋์ต๋๋ค.
- ์ฝํ ์ธ ๊ธฐ๋ฐ ๋ผ์ฐํ : ํ์ด๋ก๋์ ํน์  ํ๋ ๊ฐ์ ๋ฐ๋ผ ๋ผ์ฐํ ๊ท์น์ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด: "๋ง์ฝ `request.body.user.tier == 'premium'`์ด๋ฉด, ๊ณ ์ฑ๋ฅ `premium-cluster`๋ก ๋ผ์ฐํ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด `standard-cluster`๋ก ๋ผ์ฐํ ํฉ๋๋ค." ์ด๋ ์ฝ๊ฒ ์๋ต๋๊ฑฐ๋ ์์กฐ๋ ์ ์๋ ํค๋์ ์์กดํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํฉ๋๋ค.
 - ์ธ๋ถํ๋ ์ ์ฑ ์ํ: ๋ณด์ ๋ฐ ๋น์ฆ๋์ค ์ ์ฑ ์ ๋งค์ฐ ์ ๋ฐํ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์น ์ ํ๋ฆฌ์ผ์ด์  ๋ฐฉํ๋ฒฝ(WAF) ๊ท์น์ "๋ด๋ถ IP ๋ฒ์์์ ์์ฒญ์ด ์์๋์ง ์๋ ํ, `role` ํ๋๊ฐ `admin`์ผ๋ก ๋ณ๊ฒฝ๋๋ ๋ชจ๋ `update_user_profile` ์์ฒญ์ ์ฐจ๋จ"ํ๋๋ก ๊ตฌ์ฑ๋ ์ ์์ต๋๋ค.
 - ํธ๋ํฝ ์ ํ์ ์ํ ์คํค๋ง ๋ฒ์  ๊ด๋ฆฌ: ๋ง์ด๊ทธ๋ ์ด์
 ์ค์ ์คํค๋ง ๋ฒ์ ์ ๋ฐ๋ผ ํธ๋ํฝ์ ๋ผ์ฐํ
ํ  ์ ์์ต๋๋ค. "
OrderSchema v1์ ์ค์ํ๋ ์์ฒญ์ ๋ ๊ฑฐ์ ๋ชจ๋๋ฆฌ์ค๋ก ์ด๋ํ๊ณ ,OrderSchema v2์ ์ผ์นํ๋ ์์ฒญ์ ์๋ก์ด ๋ง์ดํฌ๋ก์๋น์ค๋ก ์ ์ก๋ฉ๋๋ค." ์ด๋ ๋ ์์ ํ๊ณ ํต์ ๋ ๋กค์์์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. 
ํ์ -์์ ํ ํธ๋ํฝ ๊ด๋ฆฌ ์์คํ  ์ํคํ ์ฒ ์ค๊ณ
์ด๋ฌํ ์์คํ ์ ๊ตฌํํ๋ ค๋ฉด ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ, ์ ๊ตํ ์ปจํธ๋กค ํ๋ ์ธ, ๊ทธ๋ฆฌ๊ณ ์ง๋ฅํ ๋ฐ์ดํฐ ํ๋ ์ธ์ด๋ผ๋ ์ธ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ์ถ ์์ง๋ ฅ ์๋ ์ํคํ ์ฒ๊ฐ ํ์ํฉ๋๋ค.
1. ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ: ์ง์ค์ ์์ฒ
์คํค๋ง ๋ ์ง์คํธ๋ฆฌ๋ ์กฐ์ง ์๋น์ค์ ๋ชจ๋ ๋ฐ์ดํฐ ๊ณ์ฝ(์คํค๋ง)์ ์ ์ฅํ๊ณ ๋ฒ์  ๊ด๋ฆฌํ๋ ์ค์ ์ง์ค์ ์ ์ฅ์์ ๋๋ค. ์ด๋ ์๋น์ค๊ฐ ์ด๋ป๊ฒ ํต์ ํ๋์ง์ ๋ํ ๋ ผ์์ ์ฌ์ง๊ฐ ์๋ ์ง์ค์ ์์ฒ ์ญํ ์ ํฉ๋๋ค.
- ์ค์ ์ง์คํ: ๋ชจ๋ ํ์ด ์คํค๋ง๋ฅผ ๊ฒ์ํ๊ณ ๊ฐ์ ธ์ฌ ์ ์๋ ๋จ์ผ ๊ณต๊ฐ์ ์ ๊ณตํ์ฌ ์คํค๋ง ๋ถ์ด์ ๋ฐฉ์งํฉ๋๋ค.
 - ๋ฒ์  ๊ด๋ฆฌ: ์๊ฐ ๊ฒฝ๊ณผ์ ๋ฐ๋ฅธ ์คํค๋ง ์งํ(์: v1, v2, v2.1)๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ ์ด์  ๋ฒ์  ๋ฐ ํฅํ ๋ฒ์  ํธํ์ฑ ์ฒ๋ฆฌ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
 - ํธํ์ฑ ๊ฒ์ฌ: ์ข์ ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ๋ ํธํ์ฑ ๊ท์น์ ์ ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ๋ฐ์๊ฐ ๊ธฐ์กด ํด๋ผ์ด์ธํธ๋ฅผ ์์์ํฌ ์ ์๋ ์ ์คํค๋ง ๋ฒ์ (์: ํ์ ํ๋ ์ญ์ )์ ํธ์ํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. Avro์ฉ Confluent์ ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ๋ ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ์ธ๊ณ์์ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ ์๋ ค์ง ์์์ ๋๋ค.
 
2. ์ปจํธ๋กค ํ๋ ์ธ: ์ด์์ ๋๋
์ปจํธ๋กค ํ๋ ์ธ์ ๊ตฌ์ฑ ๋ฐ ๊ด๋ฆฌ ํ๋ธ์ ๋๋ค. ์ฌ๊ธฐ์์ ์ด์์์ ๊ฐ๋ฐ์๋ ์ ์ฑ ๋ฐ ๋ผ์ฐํ ๊ท์น์ ์ ์ํฉ๋๋ค. ํ์ -์์  ์์คํ ์์ ์ปจํธ๋กค ํ๋ ์ธ์ ์ญํ ์ ๋์ฑ ์ค์ํด์ง๋๋ค.
- ์ ์ฑ ์ ์: "`payment-service`๋ก ๊ฐ๋ ๋ชจ๋ ํธ๋ํฝ์ `PaymentRequestSchema v3`์ ๋ํด ์ ํจ์ฑ ๊ฒ์ฌํ๋ผ"์ ๊ฐ์ ์์ ์์ค ์๋๋ฅผ ์ ์ํ๊ธฐ ์ํ API ๋๋ UI๋ฅผ ์ ๊ณตํฉ๋๋ค.
 - ์คํค๋ง ํตํฉ: ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ์ ํตํฉํ์ฌ ํ์ํ ์คํค๋ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
 - ๊ตฌ์ฑ ์ปดํ์ผ: ์์ ์์ค ์๋์ ํด๋น ์คํค๋ง๋ฅผ ๊ฐ์ ธ์ ๋ฐ์ดํฐ ํ๋ ์ธ ํ๋ก์๊ฐ ์ดํดํ ์ ์๋ ํ์ ์์ค์ ๊ตฌ์ฒด์ ์ธ ๊ตฌ์ฑ์ผ๋ก ์ปดํ์ผํฉ๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก "๋คํธ์ํฌ ์ปดํ์ผ ์๊ฐ" ๋จ๊ณ์ ๋๋ค. ์ด์์๊ฐ ์กด์ฌํ์ง ์๋ ํ๋๋ฅผ ์ฐธ์กฐํ๋ ๊ท์น(์: ์คํ๊ฐ ์๋ `request.body.user.t_ier`)์ ๋ง๋ค๋ ค๊ณ ํ๋ฉด, ์ปจํธ๋กค ํ๋ ์ธ์ ๊ตฌ์ฑ ์์ ์ ์ด๋ฅผ ๊ฑฐ๋ถํ ์ ์์ต๋๋ค.
 - ๊ตฌ์ฑ ๋ฐฐํฌ: ์ปดํ์ผ๋ ๊ตฌ์ฑ์ ๋ฐ์ดํฐ ํ๋ ์ธ์ ๋ชจ๋ ๊ด๋ จ ํ๋ก์๋ก ์์ ํ๊ฒ ํธ์ํฉ๋๋ค. Istio์ Open Policy Agent(OPA)๋ ๊ฐ๋ ฅํ ์ปจํธ๋กค ํ๋ ์ธ ๊ธฐ์ ์ ์์์ ๋๋ค.
 
3. ๋ฐ์ดํฐ ํ๋ ์ธ: ์ํ์๋ค
๋ฐ์ดํฐ ํ๋ ์ธ์ ๋ชจ๋ ์์ฒญ ๊ฒฝ๋ก์ ์์นํ๋ ๋คํธ์ํฌ ํ๋ก์(์: Envoy, NGINX)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ค์ ์ปจํธ๋กค ํ๋ ์ธ์ผ๋ก๋ถํฐ ๊ตฌ์ฑ์ ๋ฐ์ ์ค์๊ฐ ํธ๋ํฝ์ ๊ท์น์ ์คํํฉ๋๋ค.
- ๋์  ๊ตฌ์ฑ: ํ๋ก์๋ ์ฐ๊ฒฐ์ ๋์ง ์๊ณ ๋์ ์ผ๋ก ๊ตฌ์ฑ์ ์ ๋ฐ์ดํธํ ์ ์์ด์ผ ํฉ๋๋ค. Envoy์ xDS API๋ ์ด์ ๋ํ ํ์ค์ ๋๋ค.
 - ๊ณ ์ฑ๋ฅ ์ ํจ์ฑ ๊ฒ์ฌ: ์ ํจ์ฑ ๊ฒ์ฌ๋ ์ค๋ฒํค๋๋ฅผ ์ถ๊ฐํฉ๋๋ค. ํ๋ก์๋ ๋๊ธฐ ์๊ฐ์ ์ต์ํํ๊ธฐ ์ํด ํ์ด๋ก๋๋ฅผ ์ญ์ง๋ ฌํํ๊ณ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ ๋ฐ ๋งค์ฐ ํจ์จ์ ์ด์ด์ผ ํฉ๋๋ค. ์ด๋ ์ข ์ข C++ ๋๋ Rust์ ๊ฐ์ ์ธ์ด๋ก ์์ฑ๋ ๊ณ ์ฑ๋ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ๋๋ก๋ WebAssembly(Wasm)๋ฅผ ํตํด ํตํฉํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค.
 - ํ๋ถํ ์๊ฒฉ ์ธก์ : ์ ํจ์ฑ ๊ฒ์ฌ ์คํจ๋ก ์ธํด ์์ฒญ์ด ๊ฑฐ๋ถ๋๋ฉด ํ๋ก์๋ ์์ธํ ๋ก๊ทธ์ ๋ฉํธ๋ฆญ์ ๋ด๋ณด๋ด์ผ ํฉ๋๋ค. ์ด ์๊ฒฉ ์ธก์ ์ ๋๋ฒ๊น ๋ฐ ๋ชจ๋ํฐ๋ง์ ๋งค์ฐ ์ ์ฉํ๋ฉฐ, ํ์ด ์๋ชป ์๋ํ๋ ํด๋ผ์ด์ธํธ๋ ํตํฉ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์๋ณํ ์ ์๋๋ก ํฉ๋๋ค.
 
ํ์ -์์ ํ ํ๋ฆ ์ต์ ํ์ ํ์ ์ ์ธ ์ด์ 
ํธ๋ํฝ ๊ด๋ฆฌ์ ํ์ -์์  ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ๋ ๊ฒ์ ๋จ์ํ ์ ํจ์ฑ ๊ฒ์ฌ ๊ณ์ธต์ ์ถ๊ฐํ๋ ๊ฒ์ ๋์ด, ๋ถ์ฐ ์์คํ ์ ๊ตฌ์ถํ๊ณ ์ด์ํ๋ ๋ฐฉ์์ ๊ทผ๋ณธ์ ์ผ๋ก ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค.
ํฅ์๋ ์์ ์ฑ ๋ฐ ๋ณต์๋ ฅ
๊ณ์ฝ ์ํ์ ๋คํธ์ํฌ ์ฃ์ง๋ก ์ฎ๊น์ผ๋ก์จ ๊ฐ๋ ฅํ ๋ฐฉ์ด ๊ฒฝ๊ณ๋ฅผ ๊ตฌ์ถํฉ๋๋ค. ์ ํจํ์ง ์์ ๋ฐ์ดํฐ๋ ์ฐ์์ ์ธ ์ฅ์ ๋ฅผ ์ผ์ผํค๊ธฐ ์ ์ ์ฐจ๋จ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ์ "์ฌํํธ-๋ ํํธ" ์ ๊ทผ ๋ฐฉ์์ ์ค๋ฅ๋ฅผ ๋ ์ผ์ฐ ๋ฐ๊ฒฌํ๊ณ , ์ง๋จํ๊ธฐ ๋ ์ฌ์ฐ๋ฉฐ, ์ํฅ์ด ์ ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์๋น์ค๋ ์ ๊ตฌ์ฑ๋ ์์ฒญ๋ง์ ๋ฐ๋๋ค๊ณ ์ ๋ขฐํ ์ ์์ผ๋ฏ๋ก, ๋น์ฆ๋์ค ๋ก์ง์๋ง ์ง์คํ ์ ์์ด ๋์ฑ ๋ณต์๋ ฅ์ด ๊ฐํด์ง๋๋ค.
๋ํญ ๊ฐ์ ๋ ๋ณด์ ํ์ธ
์น ์ทจ์ฝ์ ์ ์๋น ๋ถ๋ถ์ ๋ถ์ ์ ํ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ์์ ๋น๋กฏ๋ฉ๋๋ค. ์ฃ์ง์์ ์๊ฒฉํ ์คํค๋ง๋ฅผ ๊ฐ์ ํจ์ผ๋ก์จ, ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์ฒด ์ ํ์ ๊ณต๊ฒฉ์ ๋ฌด๋ ฅํํ ์ ์์ต๋๋ค.
- ์ธ์ ์  ๊ณต๊ฒฉ: ์คํค๋ง์ ํ๋๊ฐ ๋ถ๋ฆฌ์ธ์ผ๋ก ์ ์๋์ด ์์ผ๋ฉด ์ ์ฑ ์ฝ๋๋ฅผ ํฌํจํ๋ ๋ฌธ์์ด์ ์ฃผ์ ํ๋ ๊ฒ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค.
 - ์๋น์ค ๊ฑฐ๋ถ(DoS): ์คํค๋ง๋ ๋ฐฐ์ด ๊ธธ์ด ๋๋ ๋ฌธ์์ด ํฌ๊ธฐ์ ๋ํ ์ ์ฝ ์กฐ๊ฑด์ ์ ์ฉํ์ฌ ๊ณผ๋ํ ํฌ๊ธฐ์ ํ์ด๋ก๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ง์ํค๋ ๊ณต๊ฒฉ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
 - ๋ฐ์ดํฐ ๋ ธ์ถ: ์๋ต ์คํค๋ง๋ ์ ์ํ์ฌ ์๋น์ค๊ฐ ์ค์๋ก ๋ฏผ๊ฐํ ํ๋๋ฅผ ์ ์ถํ์ง ์๋๋ก ํ ์ ์์ต๋๋ค. ํ๋ก์๋ ์๋ต์ด ํด๋ผ์ด์ธํธ์ ์ ์ก๋๊ธฐ ์ ์ ๊ท์ ์ ์ค์ํ์ง ์๋ ํ๋๋ฅผ ํํฐ๋งํ ์ ์์ต๋๋ค.
 
๊ฐ๋ฐ ๋ฐ ์จ๋ณด๋ฉ ๊ฐ์ํ
๋ฐ์ดํฐ ๊ณ์ฝ์ด ๋ช ์์ ์ด๊ณ ์ธํ๋ผ์ ์ํด ๊ฐ์ ๋ ๋, ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ๋น์ฝ์ ์ผ๋ก ํฅ์๋ฉ๋๋ค.
- ๋ช ํํ ๊ณ์ฝ: ํ๋ฐํธ์๋์ ๋ฐฑ์๋ ํ, ๋๋ ์๋น์ค ๊ฐ ํ์ ๋ช ํํ ๊ณ์ฝ์ ๋ฐ๋ผ ์์ ํฉ๋๋ค. ์ด๋ ํตํฉ ๋ง์ฐฐ๊ณผ ์คํด๋ฅผ ์ค์ฌ์ค๋๋ค.
 - ์๋ ์์ฑ ์ฝ๋: ์คํค๋ง๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์ธ์ด๋ก ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์๋ฒ ์คํ  ๋ฐ ๋ฌธ์๋ฅผ ์๋ ์์ฑํ ์ ์์ด ๊ฐ๋ฐ ์๊ฐ์ ํฌ๊ฒ ์ ์ฝํ ์ ์์ต๋๋ค.
 - ๋น ๋ฅธ ๋๋ฒ๊น : ํตํฉ์ด ์คํจํ ๋, ๊ฐ๋ฐ์๋ค์ ์๋น์ค๋ก๋ถํฐ ์ค๋ ์ผ๋ฐ์ ์ธ 500 ์ค๋ฅ ๋์ ๋คํธ์ํฌ ๊ณ์ธต์ผ๋ก๋ถํฐ ์ฆ๊ฐ์ ์ด๊ณ ์ ํํ ํผ๋๋ฐฑ("ํ๋ 'productId'๊ฐ ๋๋ฝ๋์์ต๋๋ค")์ ๋ฐ์ต๋๋ค.
 
ํจ์จ์ ์ด๊ณ ์ต์ ํ๋ ์์คํ 
์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๊ณตํต ์ธํ๋ผ ๊ณ์ธต(์ข ์ข C++๋ก ์์ฑ๋ ๊ณ ๋๋ก ์ต์ ํ๋ ์ฌ์ด๋์นด)์ผ๋ก ์คํ๋ก๋ํ๋ ๊ฒ์, ํ์ด์ฌ์ด๋ ๋ฃจ๋น์ ๊ฐ์ ๋ ๋๋ฆฐ ์ธํฐํ๋ฆฌํฐ ์ธ์ด๋ก ์์ฑ๋์์ ์ ์๋ ๋ชจ๋ ์๋น์ค๊ฐ ๋์ผํ ์์ ์ ์ํํ๋๋ก ํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ํจ์จ์ ์ ๋๋ค. ์ด๋ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ฐ์ ์ค์ํ ์์ ์ ์ ํ๋ฆฌ์ผ์ด์  CPU ์ฌ์ดํด์ ํ ์ ํ ์ ์๋๋ก ํด์ค๋๋ค. ๋ํ, ๋ฉ์์์ ๊ฐ์ ๋๋ ํ๋กํ ์ฝ ๋ฒํผ์ ๊ฐ์ ํจ์จ์ ์ธ ๋ฐ์ด๋๋ฆฌ ํ์์ ์ฌ์ฉํ๋ฉด ์ฅํฉํ JSON์ ๋นํด ๋คํธ์ํฌ ๋์ญํญ๊ณผ ์ง์ฐ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค.
๋์  ๊ณผ์  ๋ฐ ์ค์  ๊ณ ๋ ค ์ฌํญ
๋น์ ์ ์ค๋๋ ฅ ์์ง๋ง, ๊ตฌํ ๊ฒฝ๋ก์๋ ๋์  ๊ณผ์ ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ํคํ ์ฒ๋ฅผ ๊ณ ๋ คํ๋ ์กฐ์ง์ ์ด์ ๋๋นํด์ผ ํฉ๋๋ค.
1. ์ฑ๋ฅ ์ค๋ฒํค๋
ํ์ด๋ก๋ ์ญ์ง๋ ฌํ ๋ฐ ์ ํจ์ฑ ๊ฒ์ฌ๋ ๋ฌด๋ฃ๊ฐ ์๋๋๋ค. ์ด๋ค์ ๋ชจ๋ ์์ฒญ์ ๋๊ธฐ ์๊ฐ์ ์ถ๊ฐํฉ๋๋ค. ์ํฅ์ ํ์ด๋ก๋ ํฌ๊ธฐ, ์คํค๋ง ๋ณต์ก์ฑ, ํ๋ก์ ์ ํจ์ฑ ๊ฒ์ฌ ์์ง์ ํจ์จ์ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ด์ ์ง์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ, ์ด๋ฌํ ์ค๋ฒํค๋๊ฐ ์ฐ๋ ค๋ ์ ์์ต๋๋ค. ์ํ ์ ๋ต์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํจ์จ์ ์ธ ๋ฐ์ด๋๋ฆฌ ํ์(ํ๋กํ ์ฝ ๋ฒํผ) ์ฌ์ฉ.
 - ๊ณ ์ฑ๋ฅ Wasm ๋ชจ๋์์ ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง ๊ตฌํ.
 - ์ค์ํ ์๋ํฌ์ธํธ์๋ง ์ ํ์ ์ผ๋ก ๋๋ ์ํ๋ง ๊ธฐ๋ฐ์ผ๋ก ์ ํจ์ฑ ๊ฒ์ฌ ์ ์ฉ.
 
2. ์ด์ ๋ณต์ก์ฑ
์คํค๋ง ๋ ์ง์คํธ๋ฆฌ์ ๋ ๋ณต์กํ ์ปจํธ๋กค ํ๋ ์ธ์ ๋์ ํ๋ฉด ๊ด๋ฆฌ, ๋ชจ๋ํฐ๋ง ๋ฐ ์ ์ง ๊ด๋ฆฌ๊ฐ ํ์ํ ์๋ก์ด ๊ตฌ์ฑ ์์๊ฐ ์ถ๊ฐ๋ฉ๋๋ค. ์ด๋ ์ธํ๋ผ ์๋ํ ๋ฐ ํ ์ ๋ฌธ์ฑ์ ๋ํ ํฌ์๋ฅผ ํ์๋ก ํฉ๋๋ค. ์ด์์์ ์ด๊ธฐ ํ์ต ๊ณก์ ์ ๊ฐํ๋ฅผ ์ ์์ต๋๋ค.
3. ์คํค๋ง ์งํ ๋ฐ ๊ฑฐ๋ฒ๋์ค
์ด๋ ๋ ผ์์ ์ฌ์ง๊ฐ ์์ง๋ง ๊ฐ์ฅ ํฐ ์ฌํ-๊ธฐ์ ์  ๋์  ๊ณผ์ ์ ๋๋ค. ๋๊ฐ ์คํค๋ง๋ฅผ ์์ ํ๋๊ฐ? ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ป๊ฒ ์ ์๋๊ณ , ๊ฒํ ๋๊ณ , ๋ฐฐํฌ๋๋๊ฐ? ํด๋ผ์ด์ธํธ๋ฅผ ์์์ํค์ง ์๊ณ ์คํค๋ง ๋ฒ์  ๊ด๋ฆฌ๋ฅผ ์ด๋ป๊ฒ ํ๋๊ฐ? ๊ฒฌ๊ณ ํ ๊ฑฐ๋ฒ๋์ค ๋ชจ๋ธ์ด ํ์์ ์ ๋๋ค. ํ์ ์ด์  ๋ฒ์  ๋ฐ ํฅํ ๋ฒ์ ๊ณผ ํธํ๋๋ ์คํค๋ง ๋ณ๊ฒฝ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํด ๊ต์ก๋ฐ์์ผ ํฉ๋๋ค. ์คํค๋ง ๋ ์ง์คํธ๋ฆฌ๋ ์ด๋ฌํ ๊ฑฐ๋ฒ๋์ค ๊ท์น์ ๊ฐ์ ํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค.
4. ํด๋ง ์ํ๊ณ
๋ชจ๋ ๊ฐ๋ณ ๊ตฌ์ฑ ์์(๋ฐ์ดํฐ ํ๋ ์ธ์ฉ Envoy, ์คํค๋ง์ฉ OpenAPI/ํ๋กํ ์ฝ ๋ฒํผ, ์ ์ฑ ์ฉ OPA)๋ ์กด์ฌํ์ง๋ง, ํ์ -์์ ํ ํธ๋ํฝ ๊ด๋ฆฌ๋ฅผ ์ํ ์์ ํ ํตํฉ๋ ํดํค ์๋ฃจ์ ์ ์์ง ๋ฑ์ฅํ๊ณ ์๋ ์ค์ ๋๋ค. ๋ง์ ์กฐ์ง, ์๋ฅผ ๋ค์ด ์ฃผ์ ๊ธ๋ก๋ฒ ๊ธฐ์ ๊ธฐ์ ๋ค์ ์ด๋ฌํ ํด๋ง์ ์๋น ๋ถ๋ถ์ ์์ฒด์ ์ผ๋ก ๊ตฌ์ถํด์ผ ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์คํ ์์ค ์ปค๋ฎค๋ํฐ๋ ์ด ๋ฐฉํฅ์ผ๋ก ๋น ๋ฅด๊ฒ ๋์๊ฐ๊ณ ์์ผ๋ฉฐ, ์๋น์ค ๋ฉ์ ํ๋ก์ ํธ๋ ์ ์  ๋ ์ ๊ตํ ์ ํจ์ฑ ๊ฒ์ฌ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ ์์ต๋๋ค.
๋ฏธ๋๋ ํ์ -์ธ์ง์ ์ด๋ค
ํ์ -๋ถ๊ฐ์ง๋ก ์ (type-agnostic)์์ ํ์ -์์ ํ ํธ๋ํฝ ๊ด๋ฆฌ๋ก์ ์ ํ์ '์ธ์ '์ ๋ฌธ์ ์ด์ง '๋ง์ฝ'์ ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์ด๋ ์ฐ๋ฆฌ ๋คํธ์ํฌ ์ธํ๋ผ์ ๋ ผ๋ฆฌ์ ์ธ ์ฑ์์ ์๋ฏธํ๋ฉฐ, ๋จ์ํ ํจํท ํธ์ ์์ ๋ถ์ฐ ์์คํ ์ ์ง๋ฅ์ ์ด๊ณ ์ํฉ์ ์ธ์งํ๋ ์ํธ์๋ก ๋ณ๋ชจ์ํต๋๋ค. ๋ฐ์ดํฐ ๊ณ์ฝ์ ๋คํธ์ํฌ ํจ๋ธ๋ฆญ์ ์ง์  ๋ด์ฅํจ์ผ๋ก์จ, ์ฐ๋ฆฌ๋ ์ค๊ณ์ ๋ ์์ ์ ์ด๊ณ , ๊ธฐ๋ณธ์ ์ผ๋ก ๋ ์์ ํ๋ฉฐ, ์ด์์ ๋ ํจ์จ์ ์ธ ์์คํ ์ ๊ตฌ์ถํ๊ฒ ๋ฉ๋๋ค.
์ด ์ฌ์ ์ ๋๊ตฌ, ์ํคํ ์ฒ ๋ฐ ๋ฌธํ์ ๋ํ ์ ๋ต์ ์ธ ํฌ์๋ฅผ ํ์๋ก ํฉ๋๋ค. ์ด๋ ์ฐ๋ฆฌ์ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ๋จ์ํ ๋ฌธ์๊ฐ ์๋, ์ธํ๋ผ์ ์ผ๋ฅ์ด์ ๊ฐ์  ๊ฐ๋ฅํ ์์๋ก ์ทจ๊ธํด์ผ ํจ์ ์๊ตฌํฉ๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๋ฅผ ํ์ฅํ๊ณ , ๊ฐ๋ฐ์ ์์ฐ์ฑ์ ์ต์ ํํ๋ฉฐ, ์ง์ ์ผ๋ก ๋ณต์๋ ฅ ์๋ ์์คํ ์ ๊ตฌ์ถํ๋ ๋ฐ ์ง์งํ ๋ชจ๋ ๊ธ๋ก๋ฒ ์กฐ์ง์๊ฒ, ์ง๊ธ์ด ๋ฐ๋ก ํ์ -์์ ํ ํ๋ฆ ์ต์ ํ๋ฅผ ํ๊ตฌํ๊ธฐ ์์ํ ๋์ ๋๋ค. ํธ๋ํฝ ๊ด๋ฆฌ์ ๋ฏธ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์ํ ๋ผ์ฐํ ํ๋ ๊ฒ์ด ์๋๋ผ, ๋ฐ์ดํฐ๋ฅผ ์ดํดํฉ๋๋ค.