피드로 돌아가기
I Built a Spaced Repetition Flashcard App and Deployed It to Azure for $5/month
Dev.toDev.to
Infrastructure

월 $5 비용으로 구현한 Azure 기반 Spaced Repetition 시스템

I Built a Spaced Repetition Flashcard App and Deployed It to Azure for $5/month

Steven Wallace2026년 6월 13일8intermediate

Context

로컬 환경의 데이터 접근 제한 문제를 해결하기 위한 클라우드 마이그레이션 필요성 대두. 저비용 운영과 모바일 접근성 확보를 최우선 제약 사항으로 설정함.

Technical Solution

  • Blazor WASM과 ASP.NET Core Minimal API 기반의 Full-stack C# 아키텍처 채택으로 언어 간 컨텍스트 스위칭 비용 제거
  • SM-2 알고리즘의 Easiness Factor(EF)와 지수적 간격 증가 로직을 통한 효율적 복습 주기 자동화
  • Azure SQL Serverless의 최소 과금 단위 문제를 해결하기 위해 Basic DTU 티어로 전환하여 고정 비용 최적화
  • Managed Identity 기반의 Passwordless 인증을 적용하여 자격 증명 유출 리스크 및 Secret Rotation 관리 비용 제거
  • PKCE flow 기반 Entra ID 인증 도입 및 AuthorizeRouteView의 루프 문제를 개별 페이지 attribute 선언 방식으로 해결
  • ClosedXML 라이브러리를 통한 Case-insensitive 컬럼 매핑으로 엑셀 데이터 임포트 유연성 확보

1. 소규모 프로젝트의 경우 Serverless보다 Basic DTU와 같은 고정 요금제 티어의 비용 효율성 검토

2. Cloud Native 환경에서 Connection String에 비밀번호를 포함하는 대신 Managed Identity 적용 고려

3. SPA 프레임워크의 전역 인증 핸들러 사용 시, 인증 콜백 페이지와의 충돌 가능성 확인 및 세부 제어 적용

원문 읽기