PlatformUpdated 2026-04-03

Backend FastAPI Architecture

IoT SaaS Platform Backend Design (FastAPI + PostgreSQL + Redis + MQTT)

ESP32-S3PlatformIOFreeRTOS

IoT + SaaS + AI 확장까지 고려한 backend.mdx 템플릿

아래는 바로 프로젝트에 넣어 사용할 수 있는 구조형 문서입니다.


🚀 Backend Architecture

1️⃣ Overview

설계 목표:

  • Multi-Tenant SaaS
  • IoT Device 연동 (MQTT 기반)
  • 실시간 데이터 처리
  • JWT 인증
  • 확장 가능한 클라우드 구조
  • Kubernetes 배포 가능

🏗 2️⃣ Tech Stack

Core

  • FastAPI (AI / Data / Async API)
  • Spring Boot (Enterprise API / Auth / Admin)
  • PostgreSQL (Main DB)
  • Redis (Cache / Queue)
  • MQTT Broker (IoT Messaging)
  • Nginx (Reverse Proxy)

Optional

  • Celery (Background Task)
  • Kafka (대규모 스트리밍)
  • MinIO (Object Storage)
  • Elasticsearch (검색/로그)

🔐 3️⃣ Authentication Architecture

JWT Flow

Token 전략

구분설명
Access Token15~30분
Refresh Token7~30일
저장 위치HttpOnly Cookie 추천

🏢 4️⃣ Multi-Tenant Structure

Tenant 방식

Option A: Tenant Column

users devices projects

→ tenant_id 컬럼 추가

Option B: Schema 분리

tenant_a.users tenant_b.users

👉 초기 SaaS는 tenant_id 방식 추천


📡 5️⃣ IoT Data Flow

Topic 설계

iot/{tenant_id}/{device_id}/telemetry iot/{tenant_id}/{device_id}/event iot/{tenant_id}/{device_id}/control

🗄 6️⃣ Database Design (Core Tables)

users

columntype
idUUID
tenant_idUUID
emailvarchar
roleenum
created_attimestamp

devices

columntype
idUUID
tenant_idUUID
namevarchar
statusvarchar
last_seentimestamp

telemetry_data

columntype
idbigserial
device_idUUID
payloadJSONB
created_attimestamp

👉 Telemetry는 JSONB + 인덱스 전략 사용


⚙ 7️⃣ Background Processing

Redis + Celery 구조

  • 장치 상태 계산
  • AI 분석
  • 이상 탐지
  • 리포트 생성

📊 8️⃣ Real-time Strategy

선택지

방법특징
WebSocket양방향
SSE단방향
MQTT over WebIoT 친화

👉 IoT SaaS는 WebSocket + MQTT 혼합 추천


🧠 9️⃣ AI 확장 구조

적용 가능

  • 이상 탐지
  • 예측 유지보수
  • 공정 최적화

🐳 🔟 Docker Structure

YAML

☸ 1️⃣1️⃣ Kubernetes 확장 구조

  • api-deployment
  • worker-deployment
  • redis
  • postgres
  • ingress

🛡 1️⃣2️⃣ 보안 전략

  • HTTPS 필수
  • JWT Rotation
  • Role Based Access Control
  • API Rate Limit
  • Device 인증서 기반 접속

📈 1️⃣3️⃣ Scaling 전략

레벨전략
초기단일 서버
성장API 분리
확장Kafka + Microservices
대규모Multi Region

🧩 1️⃣4️⃣ 추천 폴더 구조 (FastAPI)


baxh

🏁 Conclusion

이 백엔드는

  • IoT
  • AI
  • SaaS
  • Multi-Tenant
  • Cloud Native

확장을 모두 고려한 구조입니다.