[TIL] Flask 프로젝트를 FastAPI로 이관하기(2)

RE_BROTHER·2026년 7월 22일

FastAPI-migration

목록 보기
2/7

1. 문제 상황

  • 개인 서비스 개발 프로젝트를 Flask로 운영해 왔다.
  • React 프론트, SQLite/D1, local/R2가 공존하는 상태가 되었다.
  • PythonAnywhere 이슈와 Cloudflare 이관 고민이 겹쳤다.
  • 그런데 Cloudflare Worker 중심으로 가면 벤더 종속성이 커질 수 있다는 고민이 생겼다.

2. 선택지 비교

  • Flask 유지
  • Cloudflare Worker 중심 전환
  • 범용 FastAPI 앱으로 재구성

여기서 핵심 비교 포인트는:

  • 로컬 실행 가능성
  • 타 클라우드 이식성
  • 코드 재사용성
  • 포트폴리오 가치

3. 현재 구조 분석

  • app/는 Flask 서버
  • frontend/는 React SPA
  • worker-python/는 Cloudflare Worker 실험 코드
  • repository/provider 패턴과 storage 분기 덕분에 완전한 레거시는 아니었다

4. FastAPI를 선택한 이유

  • ASGI 기반
  • 범용 배포
  • 타입 기반 API 설계
  • 문서화/설명력
  • 이미 프로젝트 내부에 일부 FastAPI 경험이 존재
  • AI 기능 연동 고려

5. 마이그레이션 전략

  • 새 FastAPI 앱을 병렬로 세운다
  • 공통 기반부터 분리한다
  • JSON API부터 옮긴다
  • 파일 처리와 프론트 서빙을 뒤에 옮긴다

6. 첫 단계에서 한 일

  • 공통 설정 로더 분리
  • SQLite 초기화 로직의 Flask 의존 완화
  • FastAPI 앱 골격 생성
  • migration 문서화 시작

7. 앞으로 남은 일

  • CRUD API 본 이전
  • 업로드/다운로드 이식
  • 프론트 라우팅 이전
  • seed/init/운영 명령 재정리

8. 회고 포인트

  • 프레임워크 교체는 “문법 치환”이 아니라 “구조 재정의”였다
  • app context 제거가 예상보다 큰 작업 단위였다
  • 이식성을 원하면 런타임보다 코어 아키텍처를 먼저 봐야 했다
profile
@github https://github.com/jhpark-jarvis

0개의 댓글