マルチテナント型リスク管理プラットフォーム

  • 受託開発(請負)

顧客企業ごとにサーバーとデータベースを分離するエンタープライズ向けリスク管理基盤を、請負で設計から運用・デプロイ基盤まで引き受け、テナント追加時の設定生成まで含めて実装。

顧客企業ごとに独立したサーバーと DB クラスタを、Rails Engines のモジュラーモノリス 1 つから Kamal でロール別にデプロイする構成 (原寸を新しいタブで開く)
構成図 顧客企業ごとに独立したサーバーと DB クラスタを、Rails Engines のモジュラーモノリス 1 つから Kamal でロール別にデプロイする構成 原寸で開く

概要

エンタープライズ向けのマルチテナント型リスク管理プラットフォーム。顧客企業ごとに独立したサーバーとデータベースクラスタを構築する分離モデルで、時系列データの取り込みから指標の算出、閾値超過アラート、レポート出力までを提供します。受託開発として、アプリケーション設計から運用・デプロイ基盤まで担当しました。

アーキテクチャは Rails Engines によるモジュラーモノリス。利用者コンテキスト(テナント利用者向け/システム管理者向け/データ収集)でモジュールを分割し、Engine 間の直接メソッド呼び出しを禁じて DB 経由の連携のみを許可することで境界を保っています。テナントDB・共有DB・管理DBを分けた多データベース構成を採り、環境変数のロール指定でマウントする Engine と DB 接続境界を切り替え、Kamal でロールごとに別サーバーへデプロイ。ジョブ・キャッシュ・WebSocket は Solid Queue / Solid Cache / Solid Cable で完結させ、追加のミドルウェアを持たない構成としています。画面は Hotwire と Tailwind CSS で構築し、CSV による一括取り込み、非同期の月次バッチ集計、テナント追加時のデプロイ設定・シークレット生成までを実装しています。

技術スタック

  • Rails
  • Hotwire
  • TailwindCSS
  • Kamal

関連するサービス

ご依頼後の活動の流れ

受託開発をご依頼いただいた場合の一般的な流れです。

  1. 1
    お客様

    お問い合わせフォームの送信

    作りたいもの、または置き換えたいシステムの概要と、希望する時期をお知らせください。まだ決まっていないことは、決まっていないとお書きいただければ構いません。

  2. 2
    当社
    通常3営業日以内

    ご返信とヒアリングの日程調整

    いただいた内容を確認し、オンラインでのヒアリングの日程をご相談します。お引き受けが難しい場合も、その旨をご連絡します。

  3. 3
    双方

    ヒアリング(オンライン)

    要件の背景と目的を伺い、何を作るか・何を作らないかを一緒に整理します。既存のシステムがある場合は、その状態も確認します。

  4. 4
    当社

    進め方と契約形態のご提案

    準委任契約(月額稼働)と請負契約のどちらが合うかを、進め方とあわせてご提案します。準委任契約では月額を定めて優先度の高い機能から順に進め、請負契約では仕様を先に確定してから金額を確定します。

  5. 5
    双方

    契約の締結

    契約書を取り交わします。必要に応じて、着手前に NDA(秘密保持契約)を結びます。

  6. 6
    双方

    開発と確認

    進捗と課題を随時共有しながら開発を進め、動くものを順にご確認いただきます。

  7. 7
    当社

    納品・リリース

    ご確認いただいた内容で、本番環境へリリースします。

お問い合わせ

受託開発に関するご相談は、お気軽にお問い合わせください。