# 技術関連情報

technology

技術関連や非機能関連の情報などを記載

# 基本

# インフラ

  • GCP を使用。リージョンは東京

# SaaS 構成

  • マルチテナント構成、スキーマ分離型

# セキュリティ

# サーバ、ネットワーク

  • 外部、内部のファイアウォールにて不要な接続元やポートを遮断
  • 保存データのディスク暗号化
  • web サーバへの通信は SSL 接続必須化
  • WAF で攻撃性のある通信を遮断
  • ソフトウェアの定期的な脆弱性チェックを実施

# アプリケーション

  • サービス管理情報以外のデータは全てアカウントごとのスキーマに分離される為、異なるアカウント同士のデータ干渉は不可能
  • クレデンシャルなデータのハッシュ化、高レベル階層リソースの id の暗号化、秘匿化を実施
  • サービスへのログインは必ず認証済みメールアドレスの使用が必要
  • google アカウント使用の場合は、oauth での認証委譲により、クレデンシャルな情報をサービス側に保持させずにサービスの利用が可能

# 性能

# ページ遷移

  • メインとなる画面は React による SPA である為、初回遷移時は多少遅いが、その後のページ切り替えは高速
  • 静的コンテンツについては CDN でキャッシュ

# API

  • サーバサイドは Java 言語を使用しており、言語レベルでは比較的高速
  • 重い集計処理は stored にて実行しており、ORM のオーバヘッドを緩和
  • スキーマ分離型のマルチテナント構成の為、RLS での分離に比べ高速

# サーバ

  • web/ap サーバはコンテナの負荷分散及びオートスケールを実施
  • db はリードレプリカからの読み込み処理による負荷分散

# その他

  • 日次でデータベースのフルバックアップを実施。保持期間は 1 週間
  • SLA は特に定めていないが、google のインフラ基盤及びクラウドの各機能により、高可用性を実現
  • クライアント端末のブラウザは chrome 推奨。OS は windows または mac 推奨。スマホやタブレットなど、PC 以外の端末での使用可能(レスポンシブも対応)