Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
クロステナントアクセスを要件とするsmartroundのマルチテナントSaaSアーキテクチャ
Search
shonansurvivors
August 20, 2023
Technology
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
クロステナントアクセスを要件とするsmartroundのマルチテナントSaaSアーキテクチャ
SaaS Engineering Meetup 第1回 2023 Japan AWS Top Engineersが語るSaaSの魅力!
登壇資料
shonansurvivors
August 20, 2023
More Decks by shonansurvivors
See All by shonansurvivors
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
2
1.6k
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
730
SOC2取得の全体像
shonansurvivors
4
3.1k
非エンジニアによるDevin開発のためにSREができること
shonansurvivors
0
290
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
1k
スタートアップがAWSパートナーになって得られたこと
shonansurvivors
3
1.4k
AWSで構築するCDパイプラインとその改善
shonansurvivors
5
4.3k
Terraformでmoduleを使わずに複数環境を構築して感じた利点
shonansurvivors
3
4.3k
CodeBuildで動かすecspresso
shonansurvivors
2
5.8k
Other Decks in Technology
See All in Technology
10年欲しかった音楽管理アプリを、AIと一緒に作りはじめた
judau
1
110
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
5
730
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
180
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
32k
CLIライブラリ開発を支える技術
htnabe
0
150
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.7k
The Knowledge Spine: A Machine-Executable Ontology for Governed Marketing Activation
vananth22
0
130
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
4
730
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
250
時うどん〜Socket.getifaddrsで学ぶネットワーク編 / Tokiudon: The Socket.getifaddrs Edition
coe401_
4
260
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.7k
AWS DevOps Agent スキルをつかいこなそう / Master AWS DevOps Agent Skills
kinunori
1
430
Featured
See All Featured
A Tale of Four Properties
chriscoyier
163
24k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
730
Practical Orchestrator
shlominoach
192
12k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
580
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Claude Code のすすめ
schroneko
67
230k
Google's AI Overviews - The New Search
badams
0
1.6k
The Cult of Friendly URLs
andyhume
79
7k
How to build a perfect <img>
jonoalderson
1
6k
Optimizing for Happiness
mojombo
378
71k
Transcript
SaaS Engineering Meetup #1 クロステナントアクセスを要件とする smartroundの マルチテナントSaaSアーキテクチャ 株式会社スマートラウンド 山原 崇史(@shonansurvivors)
自己紹介 株式会社スマートラウンド SRE / コーポレートIT チーム エンジニアリングマネージャー 山原 崇史 (やまはら
たかし) 経歴等 ・SIer → 銀行 → Web系ベンチャー数社 → 現職 ・2023 Japan AWS Top Engineers(Software) ・AWS Startup Community Core Member 好きな技術領域 AWS / Terraform / GitHub Actions shonansurvivors
本日の流れとゴール 流れ • SaaSにおけるテナントという概念や分離戦略 について、現実のビジネス課題を素材 に説明します • 話の成分は技術40%、ビジネス60%ぐらいです ゴール •
以下について触れることができた状態 ◦ SaaSにおけるテナントという概念やその分離戦略 ◦ スタートアップとベンチャーキャピタル を取り巻く課題の一端 ◦ ビジネスの課題を踏まえてアーキテクチャを検討する BtoB SaaSの楽しさ
アジェンダ 1. クロステナントアクセスとテナント分離戦略 2. スタートアップ業界のビジネス課題 3. 解決アプローチ 4. 選択したSaaSアーキテクチャ 5.
まとめ 6. 参考資料
1. クロステナントアクセスと テナント分離戦略
クロステナントアクセスとは • テナントはSaaSを契約して利用している組織単位(例:会社、部署など) • あるテナントから別のテナントのリソースにアクセスできる(できてしまう)ことを クロステナントアクセス という テナント1(A社) テナント2(B社) とあるSaaS
テナント1 (A社) のデータ テナント2 (B社) のデータ アプリケーション層
テナント分離戦略とクロステナントアクセス 両 者 の 中 間 で 形 態 は
様 々 ブリッジモデル クロステナントアクセスを防ぐための設計難易度 易 難 テナント1(A社) テナント2(B社) アプリサーバ DB インスタンス アプリサーバ DB インスタンス サイロモデル テナント1(A社) テナント2(B社) アプリサーバ DBインスタンス プールモデル DBスキーマ インフラコスト・運用コスト 高 低
2. スタートアップ業界のビジネス課題
スタートアップとは 短中期での急速な成長 を目指す(Jカーブ) ※ Creww「スタートアップとスモールビジネスの違い」 https://creww.me/tips/startupventure より引用
資金調達の手段 • エクイティ(Equity) ◦ 新規株式を発行するので、出資者にその分だけ会社の所有権を取られる • デット(Debt) ◦ 融資、いわゆる借金なので返済する必要がある •
その他 ◦ 自社利益(受託開発など) ◦ 助成金・補助金
事業のマイルストーンに合わせて資金調達を行う テック系スタートアップの各資金調達ラウンドのイメージ ※スマートラウンド「資金調達マニュアル」 https://jp.smartround.com/public/articles/fundraising/fl1 より引用・一部改変
スタートアップに投資をする人たち • エンジェル投資家 ◦ 個人の富裕層(既に成功したスタートアップの起業家など) • ベンチャーキャピタル( VC) ◦ 後述
• 事業会社 ◦ 自社の事業とのシナジーを求めてスタートアップ投資することが多い
ベンチャーキャピタル(VC)とは • ファンドを組成し、出資者からお金を集め、複数のスタートアップに投資する • 投資先スタートアップが上場や事業売却できたら、そこから得られた利益を出資者と分配する
関係性 VCは複数スタートアップの経営状況を管理しつつ、出資者にファンド運用状況の 報告も行う ベンチャーキャピタル 企業/機関投資家 個人投資家 出資者 スタートアップ 💰出資 💰投資
ファンド 組成 ・審査 ・管理 ・支援 各種報告 💰分配 💰報酬 ※インキュベイトファンド「 VCのビジネスモデル概要」 https://m.incubatefund.com/media/vc_1 や 東大IPC「ベンチャーキャピタルとは?」 https://www.utokyo-ipc.co.jp/column/venturecapital/ を参考に作成 株式公開 or M&Aなど 💰投資資金回収
それぞれが抱える課題 ベンチャーキャピタル側 • スタートアップから回収する資料について ◦ 授受を効率化したい ◦ ベンチャーキャピタル側が管理する Excelなどに転記入力するのが大変 ◦
そもそも内容に誤りが多い スタートアップ側 • ベンチャーキャピタルへ提供する資料について ◦ 授受を効率化したい ◦ 作成難易度が高い ▪ 会社法やファイナンスの高度な知識が無いとミスなく正確に作成することは難しい
3. 解決アプローチ
解決アプローチ スタートアップ スタートアップの 証券・経営情報 使いやすい 入力機能と 適切な バリデーション 複雑な 計算ロジックから
算出・整理された 情報のビュー ベンチャー キャピタル (VC) 複雑な 計算ロジックから 算出・整理された 情報のビュー VCのファンド情報 SaaSとして機能提供
その実現のための考慮点 • ベンチャーキャピタル向けのアプリケーション層に求められる要件 ◦ 複数のスタートアップテナント のデータを横断的に取り扱えること ◦ 👉 DBインスタンスやDBスキーマが各テナントで 分離されていると一括取得しづらい
• ベンチャーキャピタルの管理業務を理想的に効率化するために求められる要件 ◦ 全てのスタートアップにこの SaaSを通して情報を入力してもらえること (投資先の半数や3分の2などではなく全てでないと、効率化が 中途半端に終わる) ◦ 👉 スタートアップ側からも SaaSの利用料を取るビジネスモデルだと普及促進の障壁 となる 👉 スタートアップごとにインフラを独立させると コストが嵩み、SaaS運営の持続性を損なう
4. 選択したSaaSアーキテクチャ
テナント分離戦略の選択 両 者 の 中 間 で 形 態 は
様 々 ブリッジモデル クロステナントアクセスを防ぐための設計難易度 易 難 テナント1(A社) テナント2(B社) アプリサーバ DB インスタンス アプリサーバ DB インスタンス サイロモデル テナント1(A社) テナント2(B社) アプリサーバ DBインスタンス プールモデル DBスキーマ インフラコスト・運用コスト 高 低
テナント分離戦略の選択 両 者 の 中 間 で 形 態 は
様 々 ブリッジモデル 適切なクロステナントアクセスの実現しやすさ 難 易 テナント1(A社) テナント2(B社) アプリサーバ DB インスタンス アプリサーバ DB インスタンス サイロモデル テナント1(A社) テナント2(B社) アプリサーバ DBインスタンス プールモデル DBスキーマ インフラコスト・運用コスト 高 低
テナント分離戦略の選択 両 者 の 中 間 で 形 態 は
様 々 ブリッジモデル 適切なクロステナントアクセスの実現しやすさ 難 易 テナント1(A社) テナント2(B社) アプリサーバ DB インスタンス アプリサーバ DB インスタンス サイロモデル テナント1(A社) テナント2(B社) アプリサーバ DBインスタンス プールモデル DBスキーマ インフラコスト・運用コスト 高 低
テナント分離戦略の選択 両 者 の 中 間 で 形 態 は
様 々 ブリッジモデル 適切なクロステナントアクセスの実現しやすさ 難 易 テナント1(A社) テナント2(B社) アプリサーバ DB インスタンス アプリサーバ DB インスタンス サイロモデル テナント1(A社) テナント2(B社) アプリサーバ DBインスタンス プールモデル DBスキーマ インフラコスト・運用コスト 高 低 選 定
【補足】2種類のテナントID スタートアップと、ベンチャーキャピタルのような投資家では、 持つべきデータ構造やビジネスユースケースが大きく異なる 👉smartroundではテナントIDとして スタートアップにはスタートアップ ID、投資家には投資家用の IDを定義し、 これらをそれぞれ適切に利用している
【補足】多層防御 意図せぬクロステナントアクセスはもちろん防ぐ必要があるため、 データベースのテーブルにテナント IDを持たせるだけでなく、 アプリケーションの各層で防御を行なっている • コントローラー層 • サービス層 •
ドメインモデル層 • リポジトリ層 • インフラストラクチャ層
5. まとめ
まとめ 1. クロステナントアクセス ◦ あるテナントから別のテナントのリソースにアクセスできる(できてしまう)こと ◦ 逆に、適切なクロステナントアクセス (ベンチャーキャピタル →複数スタートアップ)を させたいならプールモデルはこれを実現しやすい
2. スタートアップ側に無料で機能提供し利用率を100%化することでVCの業務を理想的に効率化 ◦ 実現する上で、テナント全体でインフラを共有する プールモデルはコスト的に持続性優位 👉ビジネス要件的にもビジネスモデル(収支構造)的にも、 smartroundではプールモデルが最適と判断
参考資料 • AWS Well-Architected フレームワーク SaaS レンズ (https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/saas-lens/saas-lens.html) • AWS
BlackBelt SaaS アーキテクチャ 入門編~マルチテナント SaaS とは~ (https://www.youtube.com/watch?v=CYkN90CN6jc) • AWS Whitepaper SaaSのテナント分離戦略 マルチテナント環境でリソースを分離する (https://d1.awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf) • builders.flash SaaSビジネスの成否を分けるテナント分離戦略 (https://aws.amazon.com/jp/builders-flash/202105/tenant-isolation)
ご清聴ありがとうございました! Startup comes first! Join our team! jobs.smartround.com