๋ฐฑ์๋ ์๋ฒ ๋ฌด๋ฃ ํธ์คํ ํ๋ ๋ฐฉ๋ฒ
- ๊ณต์ ๋งํฌ ๋ง๋ค๊ธฐ
- X
- ์ด๋ฉ์ผ
- ๊ธฐํ ์ฑ
์ฌ์ด๋ ํ๋ก์ ํธ๋ ๊ฐ์ธ ์ฑ์ ๊ฐ๋ฐํ๋๋ฐ ์๋ฒ ํธ์คํ ๋น์ฉ ๋๋ฌธ์ ๊ณ ๋ฏผ์ด์ ๊ฐ์? ๊ณผ๊ฑฐ์ ๋ง์ด ์ฐ์ด๋ Heroku(ํค๋ก์ฟ )๊ฐ ๋ฌด๋ฃ ํ๋์ ํ์งํ๋ฉด์, ๋ง์ ๊ฐ๋ฐ์๋ค๊ณผ ๋ถ์ ์ผ๋ก ์ฑ์ ๋ง๋๋ ๋ถ๋ค์ด ๋์์ ์ฐพ๊ณ ๊ณ์ญ๋๋ค.
ํธ๋ํฝ์ด ์ ์ ์ด๊ธฐ ๋จ๊ณ๋ ํฌํธํด๋ฆฌ์ค ํ๋ก์ ํธ์๋ ์ ์ ์ง๋น๋ฅผ ์๋ ์ ์๋ ๋ฌด๋ฃ ๋ฐฑ์๋ ํธ์คํ ์๋น์ค๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ํ๋ช ํฉ๋๋ค. ๋น์ฉ ๋ถ๋ด ์์ด API ์๋ฒ๋ฅผ ๋์ธ ์ ์๋ ๋ํ์ ์ธ ํ๋ซํผ 4๊ฐ์ง๋ฅผ ์ ๋ฆฌํด ๋๋ฆฝ๋๋ค.
๐ก ํจ๊ป ๋ณด๋ฉด ์ข์ ๊ฐ๋ฐ ํด ์ถ์ฒ
VS Code ํ์ฅ ํ๋ก๊ทธ๋จ, API ํ ์คํธ ํด ๋ฑ
2. ๋ณธ๋ฌธ: ์ฃผ์ ๋ฌด๋ฃ ํธ์คํ ํ๋ซํผ ๋น๊ต ๋ถ์
① Render (๋ ๋) — ๊ฐ์ฅ ์ฝ๊ณ ๋์ค์ ์ธ Heroku ๋์
Node.js, Python(Flask, FastAPI), Go ๋ฑ ๋ค์ํ ๋ฐฑ์๋๋ฅผ ์ง์ํ๋ PaaS(Platform as a Service)์ ๋๋ค.
์ฅ์ : GitHub ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ฐ๋ํด ๋๊ธฐ๋ง ํ๋ฉด ์ฝ๋๋ฅผ ํธ์ํ ๋๋ง๋ค ์๋ ๋ฐฐํฌ(CI/CD)๊ฐ ์ด๋ฃจ์ด์ ธ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค. PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฌด๋ฃ ํฐ์ด๋ ํจ๊ป ์ ๊ณตํฉ๋๋ค.
๋จ์ : ๋ฌด๋ฃ ํ๋์ ๊ฒฝ์ฐ, ์ผ์ ์๊ฐ(์ฝ 15๋ถ) ๋์ ํธ๋ํฝ์ด ์์ผ๋ฉด ์๋ฒ๊ฐ ์ ์ ๋ชจ๋(Sleep)๋ก ์ ํ๋ฉ๋๋ค. ์ดํ ์ฒซ ์์ฒญ์ด ๋ค์ด์์ ๋ ์๋ฒ๋ฅผ ๊นจ์ฐ๋ ๋ฐ ์ฝ 30์ด ์ ๋์ ๋๋ ์ด(์ฝ๋ ์คํํธ)๊ฐ ๋ฐ์ํฉ๋๋ค.
์ถ์ฒ ๋์: ์ ๊ตํ ์๋ฒ ์ค์ ์์ด ๋น ๋ฅด๊ฒ Express๋ FastAPI ๋ฐฑ์๋๋ฅผ ๋ฐฐํฌํ๊ณ ์ถ์ ๋ถ
② Google Cloud Run (๊ตฌ๊ธ ํด๋ผ์ฐ๋ ๋ฐ) — ๋๋ํ ๋ฌด๋ฃ ์ ๊ณต๋์ ์๋ฒ๋ฆฌ์ค ์ปจํ ์ด๋
๊ตฌ๊ธ ํด๋ผ์ฐ๋(GCP)์์ ์ ๊ณตํ๋ ์๋น์ค๋ก, Docker ์ปจํ ์ด๋๋ก ๊ฐ์ธ์ง ๋ฐฑ์๋๋ผ๋ฉด ์ธ์ด์ ์๊ด์์ด ๋ฌด์์ด๋ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
์ฅ์ : ๋งค๋ฌ ์๋ฐฑ๋ง ๊ฑด์ ์์ฒญ๊น์ง ๋ฌด๋ฃ๋ก ์ฒ๋ฆฌํ ์ ์์ด ๊ฐ์ธ ํ๋ก์ ํธ๋ ์๊ท๋ชจ API ์๋ฒ ์ฉ๋๋ก๋ ํ๋๊ฐ ๋งค์ฐ ๋๋ํฉ๋๋ค.
๋จ์ : Dockerfile์ ์ง์ ์์ฑํด์ผ ํ๋ฉฐ, ์ต์ด ๊ฐ์ ์ ๋ณธ์ธ ์ธ์ฆ์ฉ ์ ์ฉ์นด๋ ๋ฑ๋ก์ด ํ์ํฉ๋๋ค. ํธ๋ํฝ์ด ์์ผ๋ฉด ์ธ์คํด์ค๊ฐ ๋ด๋ ค๊ฐ๋ค๊ฐ ์์ฒญ ์ ๋ค์ ์ผ์ง๋ ์ฝ๋ ์คํํธ๊ฐ ์กด์ฌํฉ๋๋ค.
์ถ์ฒ ๋์: Docker ํ๊ฒฝ์ ์ต์ํ๊ณ , ๋๋ํ ๋ฌด๋ฃ ํธ์ถ๋์ ์ํ์๋ ๋ถ
๐
|Google Cloud Run ์๊ฐ ๋ฐ ์์ํ๊ธฐ ๋ฌด๋ฃ ๋ฑ๊ธ ์๋ด
③ Cloudflare Workers (ํด๋ผ์ฐ๋ํ๋ ์ด ์์ปค์ค) — ์๋๊ฐ ์๋ช ์ธ ์ฃ์ง ์ปดํจํ
์ ํต์ ์ธ ์๋ฒ ๊ฐ๋ ์ด ์๋๋ผ ์ ์ธ๊ณ ํด๋ผ์ฐ๋ ๋คํธ์ํฌ(Edge)์์ JavaScript/TypeScript ์ฝ๋๋ฅผ ์คํํ๋ ์๋น์ค์ ๋๋ค.
์ฅ์ : ์๋ฒ๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ด๋์ ์๋ ์ฌ์ฉ์์ ๊ฐ๊น์ด ๊ณณ์์ ์คํ๋๋ฏ๋ก ์๋ต ์๋๊ฐ ์๋์ ์ผ๋ก ๋น ๋ฆ ๋๋ค. ๋ฌด๋ฃ ํฐ์ด์์๋ ํ๋ฃจ 10๋ง ๊ฑด์ ์์ฒญ์ ์ง์ํฉ๋๋ค.
๋จ์ : Node.js์ ์ ํต์ ์ธ ๋ชจ๋(Express ๋ฑ)์ ๊ทธ๋๋ก ์ฐ๊ธฐ ์ด๋ ต๊ณ , Cloudflare ํ๊ฒฝ์ ๋ง์ถ ๊ฒฝ๋ ํ๋ ์์ํฌ(Hono ๋ฑ)๋ ๊ฐ๋ฒผ์ด API ๋ผ์ฐํ ์์ฃผ๋ก ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
์ถ์ฒ ๋์: ๊ฐ๋จํ REST API, ์นํ ์ฒ๋ฆฌ, ํ๋ก์ ์๋ฒ๋ฅผ ๋น ๋ฅด๊ฒ ๊ตฌ์ถํ๋ ค๋ ๋ถ
④ Supabase (์ํ๋ฒ ์ด์ค) — ๋ฐฑ์๋ ์์ฒด๋ฅผ ๋์ฒดํ๋ BaaS
์ง์ ์๋ฒ ์ฝ๋๋ฅผ ์ง๊ณ ๋ฐฐํฌํ๋ ๊ฒ์กฐ์ฐจ ๋ฒ๊ฑฐ๋กญ๋ค๋ฉด, ์ธ์ฆ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์๋ฒ๋ฆฌ์ค ํจ์๊น์ง ํ ๋ฒ์ ํด๊ฒฐํด ์ฃผ๋ ์๋ฃจ์ ์ด ์ข์ต๋๋ค.
์ฅ์ : ํ์๊ฐ์ , ๋ก๊ทธ์ธ(Auth) ๊ธฐ๋ฅ๊ณผ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฝ๋ ๋ช ์ค๋ก ์ฐ๋ํ ์ ์์ด MVP(์ต์ ๊ธฐ๋ฅ ์ ํ)๋ฅผ ๋ง๋ค ๋ ์๊ฐ์ ์์ฒญ๋๊ฒ ์๊ปด์ค๋๋ค.
๋จ์ : ๋ณต์กํ ๋น์ฆ๋์ค ๋ก์ง์ด๋ ์์ฒด ๋ฐฑ์๋ ์๋ฒ ํ๋ ์์ํฌ๋ฅผ ๊ทธ๋๋ก ์ฌ๋ฆฌ๊ธฐ๋ณด๋ค๋ ๋ฐ์ดํฐ ์ค์ฌ ์ฑ์ ์ ํฉํฉ๋๋ค.
์ถ์ฒ ๋์: ๋ก๊ทธ์ธ๊ณผ DB ๊ธฐ๋ฅ์ด ํฌํจ๋ ์น/์ฑ ์๋น์ค๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ์นญํ๊ณ ์ถ์ผ์ ๋ถ
3. ๋ง๋ฌด๋ฆฌ ๋ฐ ์์ฝ
ํ๋ก์ ํธ์ ์ฑ๊ฒฉ์ ๋ฐ๋ผ ์๋ง์ ํ๋ซํผ์ ์ ํํด ๋ณด์ธ์.
๋จ์ Express·FastAPI ๋ฐฐํฌ ๋ฐ ์๋ํ: Render
Docker ๊ธฐ๋ฐ์ ๋๋ํ ํธ๋ํฝ: Google Cloud Run
์ด๊ณ ์ API ๋ฐ ๊ฒฝ๋ ์ฃ์ง ์๋ฒ: Cloudflare Workers
์๋ฒ ๊ตฌ์ถ ์์ด DB·์ธ์ฆ๊น์ง ํด๊ฒฐ: Supabase
- ๊ณต์ ๋งํฌ ๋ง๋ค๊ธฐ
- X
- ์ด๋ฉ์ผ
- ๊ธฐํ ์ฑ