OutSystemsのパブリッククラウドアーキテクチャ

OutSystems Platformの利用契約によって、組織のインフラが自動的に提供、構成、調整され、高い可用性、パフォーマンス、セキュリティ、および信頼性が実現します。

  • インフラプロバイダ
    OutSystems Platformの物理的インフラは、Amazon Web Servicesの堅牢なデータセンター内に設置、運用されています。
  • 利用開始時環境の構成
    OutSystems Platformの利用開始時の環境は、1つの本稼働環境と2つの非本稼働環境で構成されています。
  • サポートされているスタック構成
    OutSystems Platformでは、お好みのSDK(JEEまたは.NET)を選択することができます。
  • インフラの地理的な設置場所
    OutSystems Platformを使用することで、物理的に世界中に分散しているインフラ上にアプリケーションを自由にデプロイすることができます。
  • マルチテナントのためのインフラの分離
    データの分離性を確保しつつ、複数のお客様(テナント)をプラットフォームレイヤーで効率よくホスティングするマルチテナント環境のサポートは、OutSystems Platformの基本的な特長です。

インフラプロバイダ

Amazon Web Services(AWS)は、マーケットのリーダーであり、最も成熟したパブリッククラウドのIaaS(Infrastructure as a Service)です。エンタープライズ規模の可用性を提供し、99.9%のサービスレベルを保証しています。また、 最も多くのセキュリティ標準準拠の認定を受けているIaaSテクノロジーです。

OutSystems PlatformはAWS上で稼働していますが、お客様が単一のIaaSベンダーに縛られることはありません。OutSystems Platformの内部アーキテクチャでは、IaaSレイヤーが切り離されており、IaaSベンダー間で移植することができます。

利用開始時環境の構成

OutSystems Platformの利用開始時の構成には、次の3つの環境 (開発、テスト、本番) が含まれます。

複数の環境を備えることにより、組織は、アプリケーションを本稼働環境にデプロイする前や、顧客向けにリースする前に、アプリケーション機能や連携機能を開発し、テストすることができます。環境の分離は、アクセス管理の改善にも役立ちます。また、開発におけるリスクを低減することができます。例えば、開発環境のデータベースでのミスと、本稼働環境のデータベースでのミスは同じものではありません。機微な個人情報が含まれる場合、開発チームおよびQAチームはテストでそのデータを使用しないため、データが保護されます。

この利用開始時構成は、通常の日常業務を行う開発者5人以下のチームに適しています。適切に設計された拡張性のあるアプリケーションとのベンチマークによると、この構成は、本稼働環境で1秒あたり最大30件のリクエストを処理し、約600人の同時ユーザーをサポートする性能があります。



 利用開始時構成の物理的構造には、以下の項目が含まれます。

  • 開発環境、テスト環境、および本稼働環境用のフロントエンドサーバ
    フロントエンドサーバは、OutSystems Platformを用いたモバイルアプリケーションおよびウェブアプリケーションの構築と実行に適したリソース一式を備える、分離された仮想インスタンスです。各フロントエンドサーバには、4 GB(.NETスタックの場合)または8GB(Javaスタックの場合)のメモリと、2個の仮想コアが搭載されています。
  • 管理(ライフタイム)フロントエンドサーバ
    管理フロントエンドサーバは、他の環境から分離された仮想インスタンスです。各管理フロントエンドサーバには、4GBのメモリと2個の仮想コアが搭載されています。
  • データベースサーバ
    データベースサーバは、リレーショナルデータベースの仮想インスタンスです。各データベースサーバには、3.75 GBのメモリ、1個の仮想コア、および100 GBの記憶装置が搭載されています。
  • 仮想プライベートクラウド(VPC)
    VPCサービスは、組織のOutSystems Platform環境に、論理的に分離されたプライベートネットワークを提供します。これにより、クラウド環境と組織のオンプレミスシステムの間で、IPsec VPNトンネリングによる通信が可能になります。その結果、OutSystems Platformをデータセンターの堅牢かつシームレスな拡張として利用することができます。

パフォーマンス要件を満たすために更なるスケーラビリティが必要な場合、OutSystems Platformのインフラをオンデマンドで増強することができます。

サポートされているスタック構成

SDKとしてJEEを選択したか.NETを選択したかに応じて、アプリケーションは、最適化された標準のJavaコードまたはC#コードを用いて生成され、JBossまたはMicrosoft IISアプリケーションサーバーにデプロイされます。
OutSystems Platformでは、専有技術のランタイムエンジンを使用していません。OutSystems Platformで構築されるすべてのアプリケーションは、標準のJavaまたは.NETを利用します。

データベースエンジンに関しては、OracleまたはMicrosoft SQL Serverのいずれかを選択することができます。組織は、OutSystems Platformのビジュアルクエリ機能を使うか、既存のツールを使うことにより、自身の基盤となる機能を最大限に活用することができます。

ビジュアルモデリングの機能により、基盤スタックが切り離され、スタック間での移植が可能になります。しかし、OutSystems Platformの拡張を開発するときは、選択したSDKが関係します。OutSystems Platformを用いると、開発者は以下の目的でEclipseまたはVisual Studioを利用することができます。

  • 自社開発した既存のJavaまたはC#のコードおよびライブラリをOutSystems Platformにデプロイする。これにより、以前構築したロジックを簡単に再利用することができます。
  • 基盤となっているJEEまたは.NETスタックの全領域を利用することができるJavaまたはC#のコンポーネントを作成する。OutSystems Platformはコンポーネントを自動的にカタログ登録し、別の開発者が新しいアプリケーションを視覚的に組み立てる際に利用できるようにしています。
  • ネイティブ言語で書かれた統合アダプタをパッケージ化し、OutSystems Platformにデプロイする。デプロイされると、開発者がアプリケーションの中で利用することができる新しい視覚的な構成要素として、カスタム統合アダプタを利用できるようになります。

この拡張性がOutSystems Platformに高い柔軟性を与え、複雑なカスタムのクラウドデプロイコンテナの要件に準拠せずとも、開発者が既存の開発スキルを活用してコードをクラウドにデプロイできるようにしています。また、組織がOutSystemsのパブリッククラウドインフラから自社のデータセンターまたは別のIaaSプロバイダに乗り換えることを決定した場合にも、大きなメリットがあります。このアーキテクチャは、決して組織を特定のクラウドまたはデプロイモデルに縛り付けることがありません。 

インフラの地理的な設置場所

OutSystems Platformの利用を申し込む際、利用する地域を選択します。利用できる地域は、以下のとおりです。

  • アジア太平洋:オーストラリア、シンガポール、東京
  • 欧州/中東/アフリカ:アイルランド
  • アメリカ: 米国(北バージニアおよびオレゴン)

距離(および待ち時間)を短くし、かつ、アプリケーションのパフォーマンスとデータ伝送を最適化することができる地域にOutSystems Platformのインスタンスを置くことが推奨されます。

詳しくは、「Choosing the AWS Regions for an OutSystems public cloud deployment」(OutSystemsパブリッククラウドへデプロイするためのAWS地域の選択)をご覧ください。(英語)

また、法的要件を満たすために、特定のデータが特定の地域に保存されるように地域を選択することができます。

マルチテナントのためのインフラの分離

OutSystems Platformでは、他のテナントから論理的に分離された、基盤となるAWS IaaSとその仮想マシンにより、マルチテナント環境が提供されます。データベースレベルでは、マルチテナント環境は、それぞれのデータベースインスタンスが論理的に分離された状態で作動するAmazon Relational Database Service(Amazon RDS)によって保証されています。加えて、OutSystemsは、各テナントのフロントエンドとデータベースインスタンスがテナント専用のVirtual Private Cloudを共有することで、別のテナントからのアクセスを防止しています。

このVPCによる分離は、リソースの規模を変えても維持されます。OutSystems Platformのインフラは、要求量の急増や処理能力の増強に合わせて、他のお客様には影響を与えずに拡大することができます。OutSystemsは、追加のリソースがお客様のVPCの一部になることを保証します。

OutSystemsのそれぞれのお客様のアプリケーションは、お客様が共通利用する一連の分離環境を共有します。しかし、同じリソースを共有していても、デプロイはそれぞれ独立して行われます。アプリケーションポートフォリオ全体が、最適化された同一のインフラを共同利用し、新しいコンピューティングリソースが追加されたときには均等に配分されます。