OutSystems Public Cloudサービスの概要

 

OutSystems Platformをサブスクライブすると、OutSystems Platformで提供されるパブリッククラウド用のサービスを利用できるようになります。

  • エラスティックなリリース管理のための追加環境
    いつでも追加の環境を購入して、柔軟性を高めることができます。

  • 水平方向への拡張性
    OutSystems Platformでは、本番環境にフロントエンドサーバーを追加して、拡張性と可用性を向上することができます。

  • 垂直方向への拡張性
    フロントエンドサーバーとデータベースの処理能力を増減できます。

  • データベースストレージ
    OutSystems Platformでは、データベースの増大に応じて、ストレージリソースを追加できます。

  • データベースのバックアップと復旧:
    すべてのデータベースのデータは毎日バックアップを行い、15日間保持されます。データベースは復旧させることができます。

  • 高可用性データベース:
    予期しない障害発生時に備え、高い回復力を持つデータベースをお探しの企業のために、OutSystems Platformでは、本番データベースの高可用性構成を提供しています。

  • 高可用性構成と障害復旧:
    OutSystems Platformでは、障害復旧と継続的な可用性の確保に関連する操作のほとんどが自動化されます。

  • データ転送量:
    OutSystems Platformのサブスクリプションには、各フロントエンドサーバーにつき200 GB/月の無料のアウトバウンドデータ転送が含まれます。

  • 基盤のインフラストラクチャとサービスへのアクセス:
    OutSystems Platformでは、基盤となるインフラストラクチャ上で拡張ポイントや制御オプションを提供しています。

  • ファイルストレージ:
    大容量のバイナリファイルを扱うアプリケーションを開発する企業には、ファイルストレージを確保するための2つの方法が用意されています。

  • ソフトウェアおよびスタックの更新:
    企業の環境やデータベース内での新しいOutSystems Platformおよびスタックの更新のインストールは、OutSystemsが行います。

サービスおよびユーザー側のパフォーマンス管理もサービスの一環です。OutSystemsでは、システム管理者、運用チーム、開発者がリアルタイムで企業のアプリケーションポートフォリオの管理、監視、トラブルシューティングを行えます。

エラスティックなリリース管理のための追加環境

OutSystems Platformのスターター環境は、本番環境1つと、非本番環境2つで構成されています。しかし、企業のインフラストラクチャでは、環境の数をいくつでも増やすことができます。ガバナンスポリシーに従うために、たとえば次のような追加環境が必要となる場合があります。

  • ユーザー受け入れテスト環境。
    テスト環境からは分離した環境です。アプリケーションが要件を満たしているかをユーザーが検証できます。
  • デモンストレーション/トレーニング環境
  • 負荷/性能テスト環境
  • ステージング/本番前環境。
    本番用データベースの複製を使用して、本番環境に出来るだけ近い環境でシミュレーションを行えます。

インフラストラクチャに環境を追加しても、実行中のアプリケーションに影響はおよびません。追加操作によって、新しい環境がOutSystems Platformに自動的にプロビジョニングされ、アプリケーションのデプロイメントおよび、パフォーマンスやエラーの監視も実行できるようになります。

追加の本番環境には、フロントエンドサーバー1台と、専用のデータベースサーバー1台が含まれます。追加の非本番環境には、フロントエンドサーバー1台が含まれます。データベースサーバーは他の非本番環境と共有します。

水平方向への拡張性

OutSystems Platformはファーム構成内に追加のフロントエンドサーバーを自動的にデプロイし、その環境のアプリケーションを新しいフロントエンドサーバーに自動的に同期させます。ファーム内のすべてのフロントエンドサーバーのログは、同一の集中型リポジトリに記録され、効果的なモニタリングとトラブルシューティングを可能にします。

ロードバランサーは、入力されるアプリケーショントラフィックを複数のフロントエンドサーバーに自動的に分配し、リクエストの負荷を分散させます。また、本番環境内の異常なフロントエンドサーバーを検出し、異常なインスタンスが復旧するまで、正常なインスタンスにトラフィックを自動的に切り替えます。このようにして、アプリケーションの耐障害性を高めています。

 

垂直方向への拡張性

OutSystems Platformでは、フロントエンドサーバーとデータベースの処理能力をシームレスにスケーリングできます。これにより次のことが可能になります。

  • チームにさらに開発者が加わっても対応できる。
  • 多大な処理能力を必要とするジョブを完了するために、フロントエンドサーバーの処理能力を一時的に向上させる。
  • アプリケーションポートフォリオの増加に従って増大する負荷に対応するために、データベースの処理能力を増強する。

 

クラウド内の垂直方向へのスケーラビリティによって以下のオプションが利用可能になります。

フロントエンドサーバー

 

.NETスタック

Javaスタック

クラス1

仮想コア 2(各2.8 GHz)

3.75 GBのメモリ

仮想コア 4(各2.8 GHz)

7.5 GBのメモリ

クラス2

仮想コア 4(各2.8 GHz)

7.5 GBのメモリ

仮想コア 8(各2.8 GHz)

15 GBのメモリ

クラス3

仮想コア 8(各2.8 GHz)

15 GBのメモリ

仮想コア 16(各2.8 GHz)

30 GBのメモリ

 

データベースサーバー

クラス1

仮想コア 1(3.3 GHz)

3.75 GBのメモリ 

クラス2

仮想コア 2(各3.5 GHz)

7.5 GBのメモリ 

クラス3

仮想コア 4(各3.5 GHz)

15 GBのメモリ

クラス4

仮想コア 4(各3.5 GHz)

34 GBのメモリ 

クラス5

仮想コア 8(各3.5 GHz)

68 GBのメモリ

OutSystems PlatformのJavaバージョンではシステム要件が厳しいため、同一クラスのフロントエンドサーバーであっても、スタックによってスペックが異なります。ただし、同一クラスのフロントエンドサーバーは、どちらのスタックでも同等の応答性が得られます。

OutSystemsでは、利用率の低いサーバーのハードウェアスペックを大幅に、また一時的に引き下げる場合があります。

データベースストレージ

OutSystems Platformでは、データベースの増大に合わせて、ストレージリソースを増減できます。膨大な先行投資や費用のかかるデータベースのマイグレーションを行う必要はありません。当プラットフォームでは、データベースの可用性を維持し、実行中のアプリケーションへの影響を最小限にしながら、追加のデータベースストレージ容量を簡単に割り当てることができます。

データベースのバックアップと復旧

すべてのデータベースのデータは毎日バックアップを行い、15日間保持されます。また、データベースの復旧をリクエストすることができます。バックアップはリージョンの時間で午前1時から午前2時の間に実行されます。この間もダウンタイムは発生せず、システムへの影響も最低限に抑えられます。バックアップデータを使用して、15日以内のいずれかの時点にデータベースを復旧させることができます。OutSystemsは、バックアップデータからアプリケーションのすべてのソースバージョン、すべての構成、およびアプリケーションのランタイムデータを復元できます。フロントエンドサーバーのローカルファイルシステムはバックアップされません。

高可用性データベース

OutSystems Platformが提供する本番データベースの高可用性構成では、本番データベースインスタンスのスタンバイ状態のレプリカが、別のアベイラビリティゾーンに保持されます。データベースの更新は、メインのデータベースとスタンバイデータベースの両方で同時に実行し、複製の遅延が生じないようにします。データベースインスタンスの問題発生や、予定されていたデータベースのメンテナンス、あるいはアベイラビリティゾーンの障害発生などの場合には、OutSystems Platformが最新の状態のスタンバイデータベースに自動的に切り替え、管理者が介入しなくても直ちにデータベース動作が再開できるようにします。(切り替え前には、スタンバイデータベースに直接アクセスすることはできません。また読み込みの要求に応じることもできません。)

 

高可用性構成と障害復旧

OutSystemsのパブリッククラウドデプロイメントでは、保障稼働率を99.9%とし、実際のアベイラビリティは99.99%を達成しています。さらに可用性を高めるために、OutSystems Platformでは、「耐障害性フロントエンド」と「データベースレプリカ」の2つの構成を追加提供しています。

耐障害性フロントエンド

水平方向へのスケーラビリティサービスを使用して、OutSystemsは隔離されたアベイラビリティゾーン内に追加のフロントエンドサーバーを配置します(ただし、常に指定したリージョン内に配置されます)。この方法では、同一のリージョン内のすべてのアベイラビリティゾーンを特別な低遅延リンクで接続するため、アプリケーションのパフォーマンスへの影響はまったくありません。データセンターの障害発生などのめったにないケースでも、他のフロントエンドサーバーの可用性にはほぼ影響しません。

データベースレプリカ

高可用性構成では、本番データベースインスタンスのスタンバイ状態のレプリカが、別のアベイラビリティゾーンに保持されます。これが最新のスタンバイデータベースに自動的に切り替わります。障害または予定されていた保守作業の後、直ちにデータベース動作を再開できます。

データ転送量

データ転送量とは、企業のOutSystems Platformインフラストラクチャから他のシステムあるいは企業のユーザーのデバイスへ、またはその逆方向に移動するデジタル情報の量です。

アウトバウンドデータ転送量

OutSystems Platformのサブスクリプションには、各フロントエンドサーバーにつき200 GB/月の無料のアウトバウンドデータ転送が含まれます。たとえば、企業の本番環境にフロントエンドサーバーが3台存在する場合、1ヵ月あたり600 GBのアウトバウンドデータ転送が認められます。

たとえば、ユーザー数が非常に多い場合、あるいはアプリケーションがマルチメディアを使用するリッチコンテンツであるケースなど、割り当て以上のアウトバウンドデータ転送が必要である場合には、アウトバウンドデータ転送量を100 GB追加するごとに課金されます。

インバウンドデータ転送量

OutSystems Platformのサブスクリプションには、無制限のインバウンドデータ転送量が含まれています。アプリケーションにおいて大容量の入力データが発生する場合(Webサービスの利用など)でも心配いりません。

基盤のインフラストラクチャとサービスへのアクセス 

OutSystems Platformにより、すべての操作において、基盤インフラストラクチャの管理に縛られることはなくなります。それでも、エンタープライズアプリケーションにおいては、ユーザーができるだけ制御を行うべきでしょう。OutSystems Platformは、インターフェイスの下で起きていることを見ることも制御することもできない「ブラックボックス」として設計されたものではありません。反対に、すべての操作を簡素化しつつ、基盤となるインフラストラクチャ上で拡張ポイントや制御オプションを提供しています。

OutSystems Platformをオンプレミスでインストールする場合、お好きなアプリケーションサーバーやデータベース管理システム上に配置します。企業のITチームが、基盤となるインフラストラクチャを管理し、それにアクセスするためのポリシーやプロセスを決定します。

OutSystems PlatformをOutSystemsのパブリッククラウドで使用する場合には、OutSystemsが企業の環境を管理することで可用性を確保します。そのため、データベース上で直接クエリを実行するなど、企業がオンプレミス上で出来る管理操作の多くは、パブリッククラウド上でも実行可能です。その他のオプションでは、OutSystemsの介入が必要な場合があります(SSL証明書のインストールなど)。また、PaaSの使用感に影響を与える可能性のある操作(OutSystems Platformの内部テーブルやビューへの書き込み)、または自動エラスティシティを中断する可能性のある操作(カスタムソフトウェアコンポーネントをプラットフォームが実行されるマシンにインストールする場合など)は行えません。サーバーにカスタムソフトウェアをインストールする必要のある統合は、OutSystems Extensionに適切なライブラリをインポートすることで実現できます。以下のセクションでは、弊社のパブリッククラウド内でアクセスできるリソースを示します。

データベース

ビジネスアプリケーションの中核は、アプリケーションデータです。モデリング、変更のデプロイ、インデックスを使用した最適化、データのクエリ/更新、クエリのテストなどのデータに関連する操作の多くは、OutSystems Platformのビジュアルモデリング環境で行われます。必要に応じて外部データベースと統合させ、OutSystem Platformムのアドバンスクエリ機能を使用して複雑なSQLステートメントを書くこともできます。データベースに直接アクセスする必要性はほぼないと思われますが、TOAD、Oracle SQL Developer、Microsoft SQL Server Management Studioなどの任意のデータベースクライアントを使用して、企業のアプリケーションのデータベースに直接アクセスすると、次のような操作を行うことができます。

  • アプリケーションテーブルにデータの大量読み込みまたは書き込みを行う(例:開発用テーブルからデータを削除する)
  • データベース固有の抽出、変換、格納(ETL)プロセスを作成、実行し、ファイルまたは外部データソースからデータを書き出す(例:本番データをテスト環境に抽出して書き出す)
  • プラットフォームのメタモデルのデータを読み出す。この操作は高度なシナリオにおいて有用です。

ただし、企業のPaaSの健全性に影響を与える可能性のある変更は阻止されます。そのため、OutSystem Platformの内部テーブルおよびビューへの書き込みや変更、データベースオブジェクト(テーブル、ビュー、インデックスなど)の構成に対する操作、およびクラウドデータベース内でデータベースロジック(機能、ビュー、手順など)を直接作成することは制限されます。

アプリケーションサーバー

顧客のインフラストラクチャは自動的にプロビジョニング、抽象化、および管理されます。環境において最適なパフォーマンスと信頼性を確保するために、リモートアクセスまたはTelnetを介してサーバーに直接アクセスすることは認められません。ただし、OutSystems Platformに組み込まれた拡張性メカニズムによって、基盤となるインフラストラクチャによって提供されるネイティブサービスは利用できます。

  • Integration Studio内で作成されたExtensionと、EclipseまたはMicrosoft Visual Studioを併用して、JavaまたはC#ネイティブコードを書き、アプリケーションの一部としてデプロイ、実行、モニタリングできます。このコードでは、ローカルサービスとJEEまたは.NETフレームワークのスコープ全体を再利用できます。
  • 企業の環境のローカルファイルシステム内のフォルダーへのアクセスをリクエストすると、ファイルを作成し、企業のアプリケーションからアクセスできるようになります。 
    • このフォルダーは各フロントエンドサーバーに固有のものです。企業のPaaS内の別のフロントエンドサーバーからはアクセスできません。
    • アプリケーションは、拡張機能FileSystemを使用して、各フロントエンドサーバー内のローカルフォルダーにアクセスできます。FTPや類似プロトコルを使用してファイルシステムへ直接アクセスすることはできません。
    • このフォルダーは、主に次のようなケースで使用します。アプリケーションで使用するシードデータを含む大容量ファイルのアップロード。アプリケーションの一時ファイルの格納。ファイルシステムへの読み書きが必要なサードパーティライブラリの転送先フォルダとして使用。
    • OutSystemsでは、このフォルダーのバックアップを行いません。ファイルを継続的に保存したい場合は、別のオプションを使用してください。
  • 低レベルのランタイム設定(HttpRuntimeパラメーターまたはカスタムハンドラーなど)は、Service Center Factory Configurationコンポーネントをデプロイして行えます。

ファイルストレージ

OutSystems Platform内で実行するアプリケーションを設計する際に、アプリケーションで大容量のバイナリファイルを扱う必要性が生じることがあります。たとえば、アプリケーションでドキュメントの保存を可能にする場合、あるいは設計中のビジネスプロセスに、ユーザーが添付をアップロードするステップがある場合などです。データストレージを確保する主な方法は次の2つです。

データベースを使用して大容量のバイナリオブジェクトを格納する

OutSystems Platformを使用して、BLOB(バイナリラージオブジェクト)をデータモデル内に格納できます。このバイナリオブジェクトの格納設計は企業のアプリケーション内で視覚的に作られ、OutSystems Platformの組み込み機能を使用してアクセスすることができます。リレーショナルデータベース内に格納するようなファイルには最適なシナリオです。OutSystemsがデータベースのバックアップを行うため、ファイルは即時に保護されます。

コンポーネントを使用して外部のファイルストレージサービスと連携させる

オンラインのファイルストレージサービスを使用すると、本格的なクラウドストレージならではの拡張性、信頼性、パフォーマンスの恩恵を受けながら、数テラバイトのファイルを保存できます。このようなサービスと統合するには、ご自身でExtensionを作成するか、OutSystems Forgeで入手可能な既存のコンポーネントを利用します。

たとえば、Amazon S3ファイルストレージサービスを選択する場合では、OutSystemsコミュニティメンバーにより構築されたAmazonS3コンポーネントを使用できます。このコンポーネントは、Extension内にAmazon S3 APIをカプセル化して、企業のアプリケーション内の仮想ビルディングブロックとして簡単に再利用可能にします。

これは、大量のバイナリ情報がデータベースを占領し、アプリケーションサーバーとデータベースに不必要な(保存と取得の)負荷が生じるのを避けたい場合に適した方法です。

OutSystemsがAmazon上で実行されている場合でも、S3サービスを使用する場合には、直接Amazonから取得してください。

ソフトウェアおよびスタックの更新

企業の環境およびデータベース内での新しいOutSystems Platformおよびスタックの更新のインストールはOutSystemsが行います。OutSystemsは、合意したスケジュールに従って更新を実行し、業務への影響を最小化します。

企業側では、OutSystems DevOpsコンソールを使用して企業のアプリケーションを再デプロイメントし、新しいメジャーバージョンのOutSystems Platformに加えられた変更を適用する必要があります。あるいは、OutSystemsまたはそのパートナーに、アプリケーションアップグレードサービスをリクエストすることもできます。