ํผ๋๋ก ๋์๊ฐ๊ธฐ
Dev.toDevOps
์๋ฌธ ์ฝ๊ธฐ
Docker Compose ๊ธฐ๋ฐ์ AWS-less ๋ก์ปฌ E2E ๊ฐ๋ฐ ์คํ ๊ตฌ์ถ
Part 13 - Local Development and Docker Compose ๐ณ
AI ์์ฝ
Context
ํด๋ผ์ฐ๋ ์ข ์์ ์ธ ํ๊ฒฝ์ผ๋ก ์ธํ ๋ก์ปฌ ๊ฐ๋ฐ ์ง์ ์ฅ๋ฒฝ๊ณผ ์ธํ๋ผ ๋น์ฉ ๋ฐ์ ๋ฌธ์ . AWS ์์ด๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ์ ์ฒด ํ๋ฆ์ ๊ฒ์ฆํ ์ ์๋ ๋ ๋ฆฝ์ ์ธ ๋ก์ปฌ ๋ฐํ์ ํ์์ฑ ๋๋.
Technical Solution
- PostgreSQL, Airflow, Superset์ ํตํฉ ์ ์ํ docker-compose.yml ๊ธฐ๋ฐ์ ์๋น์ค ์ค์ผ์คํธ๋ ์ด์
- Local Container Volume Mount๋ฅผ ํตํ DAGs, Scripts, Spark Jobs์ ์ค์๊ฐ ์ฝ๋ ๋ฐ์ ๊ตฌ์กฐ ์ค๊ณ
- Environment File์ ํตํ ๋ฐํ์ ์ค์ ๊ฐ ๋ถ๋ฆฌ๋ก Local๊ณผ Cloud ํ๊ฒฝ ๊ฐ ์ฝ๋ ์ผ๊ด์ฑ ์ ์ง
- Makefile ๊ธฐ๋ฐ์ ์ถ์ํ๋ ๋ช ๋ น์ด ์ธํธ๋ฅผ ํตํ ๊ฐ๋ฐ์ ๊ฒฝํ(Developer Ergonomics) ์ต์ ํ
- ์๋น์ค ๊ฐ ์์กด์ฑ ๋ช ์๋ฅผ ํตํ Airflow-PostgreSQL-Superset ์ฐ๊ฒฐ ๊ตฌ์กฐ์ ๊ฐ์์ฑ ํ๋ณด
์ค์ฒ ํฌ์ธํธ
1. ํ๊ฒฝ ๋ณ์ ํ์ผ์ ํตํด ๋์ผ ์ฝ๋๊ฐ ๋ก์ปฌ๊ณผ ํด๋ผ์ฐ๋์์ ๋ชจ๋ ๋์ํ๋ ํ๊ฒฝ์ธ์ง ํ์ธ
2. ๋ณผ๋ฅจ ๋ง์ดํธ๋ฅผ ํ์ฉํด ์ปจํ ์ด๋ ์ฌ๋น๋ ์์ด ๋ก์ปฌ ์ฝ๋ ์์ ์ฌํญ์ด ์ฆ์ ๋ฐ์๋๋์ง ๊ฒํ
3. Makefile์ ๋์ ํด ๋ณต์กํ Docker ๋ฐ ์ด๊ธฐํ ๋ช ๋ น์ด๋ฅผ ๋จ์ํํ์ฌ ์จ๋ณด๋ฉ ๋น์ฉ์ ๋ฎ์ท๋์ง ์ฒดํฌ