Skip to content

Scope & Non Goals

JJong-03 edited this page Mar 12, 2026 · 6 revisions

범위 및 비목표 (Scope & Non-Goals)

이 문서는 프로젝트의 범위의도적으로 제외한 항목을 정의한다. 각 Non-Goal에는 "왜 하지 않는가"에 대한 근거가 있다.


Project Scope (이 프로젝트가 하는 것)

검증 완료된 Python 백테스트 엔진을 한 줄도 수정하지 않고, Docker 컨테이너로 감싸고 Kubernetes Job으로 실행하는 클라우드 네이티브 플랫폼.

핵심 목표:

  • K8s Job 기반 비동기 백테스트 실행 (1 backtest = 1 ephemeral Job)
  • MySQL을 단일 진실 공급원으로 하는 상태 관리
  • GitOps 기반 선언형 배포 (CI → CD → auto-sync)
  • run_id 기반 전 구간 추적 (Web → Worker → DB)

대상 사용자: 단일 사용자 (개발자 본인 + 면접 데모)


Non-Goals (이 프로젝트가 하지 않는 것)

Non-Goal 근거 관련 문서
실시간 트레이딩 과거 데이터 기반 시뮬레이션만 수행. 실시간 데이터 피드, 주문 집행, 브로커 연동은 완전히 다른 아키텍처를 요구한다.
멀티 테넌트 인증/인가 단일 사용자 포트폴리오 프로젝트. AuthN/AuthZ, RBAC 사용자 관리는 MVP 범위 초과. Security Model
대용량 데이터셋 최적화 MVP 데이터(AAPL.csv 등)는 Docker 이미지에 내장 가능한 수준. S3/NFS 외부 저장소는 Stateless 원칙과 충돌. Reproducibility
SQLite production 사용 다중 Pod 동시 쓰기 불가. Production은 MySQL StatefulSet. SQLite는 로컬 개발 전용. ADR-Design Decisions (ADR-007)
Prometheus/Grafana 대시보드 Phase 5 NICE-TO-HAVE. stdout/stderr 구조화 로깅 + kubectl logs가 마감 필수 요건. Design Principles (Principle 4)
Helm/Kustomize MVP 규모에서 raw YAML이 더 투명. 매니페스트 8개 수준에서 템플릿 엔진의 추상화 비용이 이점을 초과. ADR-Design Decisions (ADR-008)
Candlestick chart / Intraday Phase 2+ 선택적 UI feature. 핵심 인프라 완성이 우선. [[UI 화면 구성
DB 마이그레이션 도구 (Alembic 등) additive-only 스키마 정책([[Rule 2 Rulebook]])으로 breaking change가 없으므로, MVP에서 마이그레이션 도구 불필요.
게시판/IoT/AI 연동 Phase 7+ 확장 가능성으로만 존재. 현재 마감 범위에 포함되지 않음.
Sortable/filterable trade table 클라이언트 측 JS enhancement. 우선순위 낮음. [[UI 화면 구성

Trade-off 요약

결정 얻는 것 감수하는 것
이미지 내장 데이터 재현성 보장 + 네트워크 의존성 제거 데이터 업데이트 시 이미지 재빌드 필요
raw YAML (no Helm) 투명성, 학습 용이성 환경별 분기 시 중복 발생 가능
stdout/stderr 전용 로깅 K8s 네이티브, Sidecar 불필요 장기 보존에는 외부 로그 시스템 필요
단일 사용자 가정 인증 없이 빠른 개발 멀티 테넌트 확장 시 대규모 리팩터링 필요
additive-only API backward compatibility 자동 유지 deprecated 필드 누적 가능

See Also

Clone this wiki locally