Picture-i × Print Gate 統合基盤
エッジコンピューティング + サーバーレス構成で高速・低コスト・高可用性を実現
インフラ管理コストの最小化
ユーザー近傍での処理
設計段階からの組込
ログ・メトリクス・トレース
3層アーキテクチャ
BtoC コンテンツ販売
BtoB 受発注システム
API Gateway + ビジネスロジック
認証・認可
Firebase Auth
API
Hono + Workers
DB
Firestore + D1
Storage
R2 (暗号化)
グローバル300+拠点、日本国内10+拠点
Pages
静的サイト
Workers
エッジAPI
D1
SQLite
R2
オブジェクト
WAF
セキュリティ
排出ロジック
サーバーサイドで乱数生成 → レアリティ判定 → 在庫確認 → 結果確定
天井システム
ユーザー別カウンター管理、確定枠の自動付与
演出配信
結果確定後にクライアントへ演出データを返却、Lottie/CSS Animation
カート確定
在庫ロック (TTL: 15分)
決済処理
Stripe Checkout / Paidy
Webhook受信
注文確定、在庫減算、メール送信
ファイルアップロード
チャンク分割、R2直接アップロード
入稿チェック
解像度・カラーモード・トリムマーク検証
承認フロー
担当者確認 → 承認 → 製造指示
| レイヤー | 技術 | 用途 |
|---|---|---|
| Frontend | Next.js 15 + React 19 | SSG/CSR、Cloudflare Pages |
| API | Hono + Cloudflare Workers | エッジAPI、Cold Start 0ms |
| Auth | Firebase Auth | Google/Email認証、Custom Claims |
| DB (PII) | Firestore | 個人情報、セキュリティルール |
| DB (業務) | Cloudflare D1 | 注文・商品・ログ、SQLite |
| Storage | Cloudflare R2 | 画像暗号化、署名付きURL |
| Factory | Cloud Run | SFTP配信、固定IP |
| Payment | Stripe / Paidy | カード・BNPL決済 |
| 項目 | AWS Lambda | Cloud Functions | Cloudflare Workers |
|---|---|---|---|
| Cold Start | 100〜500ms | 100〜300ms | 0ms ✓ |
| エッジ配置 | 別途CloudFront | 別途CDN | 標準 ✓ |
| 無料枠 | 100万/月 | 200万/月 | 1000万/日 ✓ |
| 日本拠点 | 東京のみ | 東京のみ | 国内10箇所+ ✓ |
| WAF | 追加料金 | 追加料金 | 標準付属 ✓ |
負荷特性と対応策
Picture-i(イベント時ピーク)
同時接続
10,000+
リクエスト/秒
5,000+
Print Gate(通常運用)
同時接続
100〜500
リクエスト/秒
50〜200
可用性とリカバリ
RPO(目標復旧時点)
1時間
RTO(目標復旧時間)
4時間
通知先: Slack / PagerDuty