ํ”ผ๋“œ๋กœ ๋Œ์•„๊ฐ€๊ธฐ
Part 13 - Local Development and Docker Compose ๐Ÿณ
Dev.toDev.to
DevOps

Docker Compose ๊ธฐ๋ฐ˜์˜ AWS-less ๋กœ์ปฌ E2E ๊ฐœ๋ฐœ ์Šคํƒ ๊ตฌ์ถ•

Part 13 - Local Development and Docker Compose ๐Ÿณ

Abdelrahman Adnan2026๋…„ 4์›” 21์ผ1๋ถ„beginner

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 ๋ฐ ์ดˆ๊ธฐํ™” ๋ช…๋ น์–ด๋ฅผ ๋‹จ์ˆœํ™”ํ•˜์—ฌ ์˜จ๋ณด๋”ฉ ๋น„์šฉ์„ ๋‚ฎ์ท„๋Š”์ง€ ์ฒดํฌ

์›๋ฌธ ์ฝ๊ธฐ