“없으면 만든다 - from Scratch” "설정만 바꾸면 돌아가는 프레임워크를 만들기까지"
26.01.10 yoda
회사에서 외부 벤더 데이터를 받는 방식은 대부분 SFTP였다. 금융 데이터 특성상 API보다 파일 기반 전송이 많았고, 벤더가 늘어날 때마다 누군가가 파이프라인을 하나씩 짰다.
문제는 그 "누군가"가 매번 달랐다는 것이다.
같은 SFTP 수집인데 어떤 건 paramiko로 직접 연결하고, 어떤 건 쉘 스크립트를 cron으로 돌리고, 어떤 건 Airflow DAG 안에 전부 때려넣어져 있었다. 동작은 했다. 근데 하나가 장애 나면 이런 상황이 반복됐다.
| 상황 | 결과 |
|---|---|
| 새벽 3시 파일 누락 알림 | "이거 누가 짰지?" - 통일화 부재 |
| 파일이 어디까지 처리됐는지 확인 | “로깅이 어디있지?” - 모니터링 부재 |
| 새 벤더 추가 요청 | 기존 거 복붙해서 수정. 또 다른 스크립트 탄생 |
| SFTP 접속 제한 초과 | 벤더로부터 warning or 임시 제한. |
어느 순간 이런 생각이 들었다.
"이걸 계속 하나씩 짤 건가? 아니면 한 번 제대로 만들어서 설정만 바꾸면 돌아가게 할 수 있는가?"
후자가 되려면 검증이 필요했다. 그냥 "통합하면 좋을 것 같다"가 아니라, 실제로 개발/운영 비용이 줄어드는지 확인해야 했다. 그래서 업스트림 골을 먼저 정했다.
이 4가지가 해결되면 "통합할 가치가 있다"고 판단했다.