コンテンツにスキップ

コアプラットフォーム

Recerdo のインフラストラクチャ、運用計画、セキュリティに関する横断的なアーキテクチャドキュメントです。

インフラポリシー(2026-04-19 更新)

  • Beta: 全 OSS / セルフホスト。XServer VPS 6 core / 10 GB + CoreServerV2 CORE+X (6 GB)。オブジェクトストレージは Garage (S3互換 OSS)、メールは Postfix + Dovecot + Rspamd、キューは Redis + BullMQ / asynq、Feature Flag は Flipt、ログは Grafana Loki
  • 本番: Oracle Cloud Infrastructure (OCI) ファースト。OCI Object Storage、OCI MySQL HeatWave(MariaDB 互換スキーマを維持)、OCI Queue Service(AMQP 1.0)、OCI Cache with Redis。メールは CoreServerV2 の Postfix+Dovecot+Rspamd を継続
  • AWS 利用は Cognito のみ(SES/SNS/SQS/S3/RDS/ElastiCache/CloudFront/EC2/EKS/Lambda は全て不採用)。Firebase FCM は継続。
  • メディア処理は ffmpeg(HLS ABR: 360p/720p/1080p、6 秒セグメント)+ libheif(HEIC→JPEG/WebP)。Live Photos は画像 + 短尺 HLS のペア保存。ハイライト動画はユーザーが手動でクリップを選択(自動生成なし)。

追加設計プラン(大規模類似サービス参照)

基本的方針(Policy)§8 にて、Google Photos / Instagram / Stripe / Netflix / Google SRE 等の一般モデルを参照した**横断標準**を整理しました。

  • 冪等性(Idempotency Key): 全 Write API に Idempotency-Key を受理(24h 保持)。
  • Transactional Outbox: DB 書込と QueuePort 送信のアトミック性を保証。
  • Saga (Choreography): アップロード → 変換 → タイムライン → 通知 をイベント連携。
  • Circuit Breaker + 指数バックオフ: FCM / Cognito / OCI 呼び出しに適用。
  • OpenTelemetry + W3C Trace Context: RED メトリクスと traceparent 伝播。
  • SLI/SLO + エラーバジェット: 主要 UX パスに P95/P99 目標を設定。

横断表は microservice/index.md / clean-architecture/index.md で同期管理。

Iteration-02(コミット 464267 コメント反復)

  • Push-first / STARTTLS 必須 / メール 5 条件制約を通知系の既定として再整理。
  • Outbox → QueuePort → DLQ のパラメータ(再試行回数・可視性タイムアウト・DLQ 10 件/時アラート)を SSOT 化。
  • Timeline の Fan-out 縮退(フォロワー規模・SLO 逼迫時の Feature Flag 切替)を index に明文化。
  • SLO / Error Budget 記述漏れを防ぐチェックをレビュー観点に追加。

ドキュメント一覧

ドキュメント 概要
デプロイメント戦略 Beta(XServer VPS + CoreServerV2 CORE+X)→ 本番(OCI ファースト)への移行戦略。AWS は Cognito のみ
環境抽象化 & Feature Flag ハードコード排除・環境変数/Feature Flag/アダプタの3層切替。STORAGE_PROVIDER=garage\|oci-ossQUEUE_PROVIDER=redis-bullmq\|oci-queueMAIL_PROVIDER=postfix-smtpMEDIA_TRANSCODER=ffmpeg-hls
ローカル開発 (Tilt 起動手順) 操作ガイド。兄弟リポ clone → colima starttilt up の手順、プロファイル切替、よくあるトラブル
ローカル開発環境 (設計・Tilt + Colima 方針) 設計ドキュメント。Tilt による 9 マイクロサービス + Beta 相当ミドルウェアの宣言的起動設計。Colima を第一推奨とするランタイム可搬性と k3s 昇格パス
コストパフォーマンス分析 XServer VPS (~¥3,960/月) + CoreServerV2 CORE+X (~¥1,738/月) + Cognito (無料枠)。Beta 合計 約 ¥6,000/月
PoC/Beta スコープ定義 バイブコーディングで実現する MVP 機能セット。HLS/HEIC/Live Photos 変換 + 手動選択ハイライトを含む
サーバーキャパシティ計画 XServer VPS 6 core/10 GB 上のリソース配分。ffmpeg HLS 変換の CPU 負荷と第二 VPS オフロード戦略
ファイアウォール & データプロテクション Cloudflare + ufw + Traefik + Cognito + MySQL(MariaDB互換)暗号化。バックアップは Garage / OCI Object Storage

横断ドキュメント更新フロー

  1. サービス設計書(MS / CA)で**失敗条件**と**運用上の制約**を明文化する。
  2. 該当する横断標準(policy.md §8)の適用有無を確認する。
  3. 不足している場合は policy.md §8(最新の反復表)に追記し、microservice/index.mdclean-architecture/index.md の横断表に同期反映する。
  4. CI(禁止キーワード grep / STARTTLS 検査等)で逸脱を検出する運用を維持する。
  5. changelog.md に反復の記録を残す。