Amazon Web Services ブログ

Tag: Multi-Tenant

AWS-SaaS-Factory-1

マルチテナントソリューションでAmazon SQSを使う

AWS SaaS Factoryチームのシニアパートナーソリューションアーキテクト Raju Patel によって書かれた記事です。 モダンアプリケーションは、サービス統合、バッチ処理、またはワークフローオーケストレーションの一部として、キューイングに依存することがよくあります。キューは、システムの環境に拡張性と耐障害性を追加するうえ重要です。 これは、キューイング戦略をマルチテナントソリューションのワークロードにどのように適用するかを考える必要がある、Software-as-a-Service(SaaS)環境では特に当てはまります。SaaS アプリケーションのキューイングモデルを設計する際には、データの分離、パフォーマンス、および運用を考慮する必要があります。 多くの組織がアマゾンウェブサービス (AWS) 上で SaaS ソリューションを構築および運用する過程において、筆者は AWS SaaS Factory のパートナーソリューションアーキテクトとして彼らと連携をしてきました。特に、テナントの分離とスケーラビリティを考慮しつつ、俊敏性を高めるマルチテナントソリューションの構築において組織を支援することにフォーカスしています。 この記事では、Amazon Simple Queue Service (SQS) を利用して SaaS ソリューションを構築する際の一般的なシナリオをいくつか紹介します。ここでは、データ分離、スケーラビリティ、コンプライアンス要件が、キューイングモデルの選択にどのように関係するかを説明します。 本投稿には、マルチテナントソリューションでの SQS の利用について示すサンプルコードが含まれています。 SaaS におけるキューイングの課題 SaaS 環境におけるキューの役割について理解を深めるために、サンプルユースケースを見てみましょう。図 1 に示す概念図は、キューを使用する注文管理システムの一例です。 図 1 – キューを用いた注文管理と在庫更新のフロー 最初のフローは、注文、作成、確定、出荷の各サービスの統合を示しています。注文キューと出荷キューは、複数のテナントからメッセージを受信します。注文確定や注文出荷などのサービスは、Amazon Elastic Kubernetes Service (Amazon EKS) のコンテナで実行することも、AWS Lambda でサーバーレスで実行することもできます。 図 1 の 2 番目のフローは在庫の更新についてです。このフローでは、テナントがファイルをアップロードし、メッセージがキューに配置されて処理されます。バッチによる在庫更新プロセスでメッセージが取得され、ファイルから在庫テーブルにデータがロードされます。 キューの構成は比較的単純ですが、マルチテナンシーでは追加の考慮事項がいくつかあり、それらはキュー設計に影響を与える可能性があります。 たとえば、あるテナントが […]

Read More

MLaaS (Machine Learning as a Service) のためのマルチテナント機械学習構築環境を Amazon SageMaker Pipelines で実装する

近年、自社で保有するデータだけでなく、外部や第三者のデータを使って機械学習(ML)モデルを構築する企業が増えています。そして学習させたモデルを外部の顧客に提供することで収益源とするビジネスモデルを構築することができます。

この記事では、Amazon SageMaker Pipelinesが、Machine Learning as a Service (MLaaS) / Software as a Service (SaaS) アプリケーションにおけるデータの前処理、そして機械学習モデルの構築、訓練、チューニング、登録にどのように役立つかを紹介します。特にテナント分離とコスト配分に焦点を当て、テナント固有のMLモデルを構築するためのベストプラクティスを紹介します。

Read More

動的に生成された IAM ポリシーで SaaS テナントを分離する

この記事は、AWS SaaS Factoryのシニアパートナーソリューションアーキテクトである Bill Tarrによって書かれました。 多くの Software-as-a-Service (SaaS) プロバイダーは、テナント分離戦略の根幹として AWS Identity and Access Management (IAM) を活用しています。 IAM により、組織は一連のポリシーとロールを定義することができ、リソースへのアクセス時にテナントの境界を越えないようにすることが可能です。 ここでの課題は、多くの組織がテナントごとに個別のポリシーを作成しなければならないことです。これにより、テナントポリシーの数が爆発的に増加し、その結果 IAM のアカウント制限に達してしまうことがあります。 さらに重要なのは、このポリシーの数が急増すると、管理と更新が手に負えなくなる可能性があることです。ポリシーの一部を変更し、その変更をシステム内のすべてのテナントに展開することを想像してみてください。すぐに環境の管理性と俊敏性が損なわれます。 AWS SaaS Factory によるこの記事では、動的なポリシー生成によって、よりスケーラブルで管理しやすいテナント分離エクスペリエンスがどのように生み出されるかを見ています。この投稿は、このエクスペリエンスの土台となる部分に焦点を当て、動的なポリシー生成を支えるのに必要なメカニズムを導入するための手法を説明します。

Read More

SaaSソリューションの運用を成功させるには

この記事は、Achieving Operational Success of SaaS Solutions を翻訳したものです。 本投稿は、AWS SaaS Factory の Partner Solutions Architect である Ujwal Bukka により寄稿されました。 運用上の優秀性は、SaaS (Software-as-a-Service) プロバイダーにとって重要な課題です。運用上の優秀性とは、ワークロードを効果的に運用および監視し、サポートするプロセスや手順を継続的に改善してビジネス価値を提供する能力のことです。 それを得るために努力することは、SaaS ソリューションにおけるスムーズな運用、ひいては最適なカスタマーエクスペリエンスの確保につながります。 マルチテナント環境を運用する場合、SaaS プロバイダーは各テナントの現在のステータスを把握し、自動化されたプロセスが新規および既存のテナントに対して同一かつ期待どおりに機能していることを確認し、サポートするプロセスや手順を継続的に改善する必要があります。 マルチテナント環境に関連する運用上の優秀性の設計原則とベストプラクティスには、ソリューションの運用状態を効果的に監視し、管理する能力が含まれます。これには、システムが各テナントや利用プランに対してどの程度効果的にリソースをスケーリングしているかを把握すること、アラートやインサイトを生成するために適切なメトリクスデータを取得すること、テナントのオンボーディングなどの運用プロセスを管理すること、マルチテナント環境におけるテナントのさまざまなニーズをサポートすることなどが含まれます。 今回の記事では、運用上の優秀性の設計原則とベストプラクティスについて確認します。

Read More

AWS サーバーレスサービスによるマルチテナント SaaS ソリューションの構築

この記事は、Building a Multi-Tenant SaaS Solution Using AWS Serverless Services を翻訳したものです。 本投稿は、AWS SaaS Factory の Sr. Partner Solutions Architect である Anubhav Sharma と AWS SaaS Factory の Partner Solutions Architect である Ujwal Bukka により寄稿されました。 SaaS (Software-as-a-Service) 提供モデルへの移行に際しては、コストと運用効率を最大限に高めたいという要望が伴います。 これは、利用傾向を予測することが困難なマルチテナント環境では特に難しい場合があります。なぜならば、テナントの活動とリソースの実際の消費量を一致させるスケーリング戦略の組み合わせを見つけることは困難だからです。今日はうまくいっていても、明日はうまくいかないかもしれません。 このような特性により、SaaS はサーバーレスモデルに非常に適していると言えます。SaaS のアーキテクチャからサーバーの概念を取り除くことで、企業はマネージドサービスを利用することによって、アプリケーションが消費するリソースの正確な数をスケーリングして提供することができます。 これにより、アプリケーションのアーキテクチャと運用のフットプリントが簡素化され、スケーリングポリシーを継続的に追跡・管理する必要がなくなります。また、運用上のオーバーヘッドや複雑さも軽減され、運用責任の多くをマネージドサービスに委ねることができます。 この記事では、機能的なマルチテナントのサーバーレス SaaS 環境に関してエンドツーエンドで提供するリファレンスソリューションを見ていきます。その目的は、このリファレンスソリューションを作成する際に考慮されたアーキテクチャと設計の検討事項を探ることです。

Read More