Skip to main content

OutSystemsのデプロイ

OutSystems

OutSystems Cloudのサービス概要

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

サービス管理とユーザーパフォーマンス管理もサービスの一部です。OutSystemsでは、システム管理者、運用チーム、開発者が、リアルタイムで組織のアプリケーションポートフォリオの管理、監視、トラブルシューティングを行うことができます。

柔軟性の高いリリース管理のための追加環境

New environmentOutSystems Cloudのスターター構成には、本番環境が1つ、非本番環境が2つあります。また、組織のインフラは、任意の数の環境に拡張することができます。追加環境は、以下のようなガバナンスポリシーに準拠する必要があります。

  • アプリケーションの要件準拠をユーザーが検証するテスト環境とは異なるユーザー受け入れテスト環境

  • デモ/トレーニング 環境

  • ロード/パフォーマンステスト環境

  • 本番環境を可能な限り再現するレプリカによるステージング/本番前環境

インフラに環境を追加しても、アプリケーションの稼働には影響を及ぼしません。このオペレーションでは、新しいOutSystems環境が自動的にプロビジョニングされ、アプリケーションのデプロイおよびアプリケーションのパフォーマンスやエラーの監視が可能になります。

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

水平スケーラビリティ

OutSystemsは、ファーム構成に追加のフロントエンドサーバーを自動的にデプロイし、環境のアプリケーションを新しいフロントエンドサーバーに自動的に同期させます。ファーム構成のフロントエンドサーバーは、すべて同じ集中型リポジトリに記録されるため、監視およびトラブルシューティングを効率的に行うことができます。

ロードバランサは、受信したアプリケーショントラフィックを複数のフロントエンドサーバーに自動的に分散させ、リクエストの負荷を分散させます。また、本番環境内の不具合のあるフロントエンドサーバーを検知し、不具合が解消されるまで健全なインスタンスにトラフィックを自動的にリルートすることで、アプリケーションの耐障害性を増強させます。 

load-balancer.png

垂直スケーラビリティ

OutSystemsでは、フロントエンドおよびデータベースのコンピューティング性能をシームレスに拡張でき、以下のことが可能になります。

  • チームの拡大に応じて開発者をサポートする。

  • 計算負荷の高いジョブの処理を完了させるため、一時的にフロントエンドのコンピューティング性能を増強する。

  • 拡大するアプリケーションポートフォリオによって増加する負荷に対応するため、データベースの処理能力を強化する。

 

For vertical scalability in the OutSystems Cloud, the following options are available: 

Front-End Servers

Class 1 (Default)

2 Virtual Cores 

4 GB of memory

Class 2

4 Virtual Cores 

7.5 GB of memory

Class 3

8 Virtual Cores 

15 GB of memory

 

Database Servers

Class 1

(Not used with OutSystems 11)(Default for OutSystems 10)

1 Virtual Core 

3.75 GB of memory 

Class 2
(Default for OutSystems 11)

2 Virtual Cores 

8 GB of memory 

Class 3

4 Virtual Cores 

16 GB of memory

Class 4

4 Virtual Cores 

30.5 GB of memory 

Class 5

8 Virtual Cores 

61 GB of memory

OutSystems may dynamically and temporarily reduce the hardware specs of underutilized servers.

データベースストレージ

OutSystemsでは、規模の拡大に応じてデータベースのストレージリソースを拡張することができます。これにより、巨額の先行投資を行ったりや費用のかかるデータベース移行を計画する必要性がなくなります。OutSystemsでは、データベースの可用性を維持し、稼働中のアプリケーションへの影響を最小限に抑えながら、簡単に追加データベースストレージ容量を割り当てることができます。

データベースのバックアップおよびリストア

OutSystemsでは、データベースのデータはすべて自動的にバックアップされ、15日間保存されます。バックアップはダウンタイムがなく、最小限の影響で実行されます。ユーザーは、この15日間のどの時点でもデータベースをリストアをリクエストできます。OutSystemsは、バックアップを利用してすべてのアプリケーションソースバージョン、すべての構成およびアプリケーションのランタイムデータを復元することができます。フロントエンドサーバーのローカル ファイルシステムはバックアップされません。

高可用性データベース

OutSystemsは、異なる可用性ゾーンで本番環境のデータベースインスタンスが「スタンバイ」レプリカを持つことで、本番データベースの高可用性構成を提供します。データベースの更新は、レプリケーションラグを防ぐために、プライマリサーバーとスタンバイサーバーで同時に実行されます。データベースインスタンスの障害、データベースの計画的メンテナンス、または可用性ゾーンの障害が発生した場合、OutSystemsは自動的に最新のスタンバイにフェイルオーバーするため、管理者の干渉なくデータベース操作を迅速に再開することができます。(フェイルオーバーの前に、スタンバイデータベースに直接アクセスしたり、読み込みの要求に応じたりすることはできません。)

high-availability-database.png

高可用性構成およびディザスタリカバリ

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

耐障害性フロントエンド

水平スケーラビリティサービスにより、OutSystemsは、分離された別の可用性ゾーンにフロントエンドを追加します(ただし、組織が指定したリージョン内に限ります)。これは、アプリケーションのパフォーマンスには影響を及ぼしません。同一のリージョンにあるすべての可用性ゾーンは特殊な低遅延リンクによって接続されているためです。データセンターにおける災害や障害といった稀なシナリオでは、他のフロントエンドサーバーの可用性は多くの場合、影響を受けません。

データベースレプリカ

高可用性構成について、組織の本番データベースインスタンスには、異なる可用性ゾーンに「スタンバイ」レプリカを備えており、最新のスタンバイに自動的にフェイルオーバーします。データベースオペレーションは、障害や計画的なメンテナンス後に迅速に再開することができます。

データ転送

データ転送は、OutSystemsのインフラから他のシステムやユーザーデバイス、また、その反対方向に移動するデジタルデータ量を指します。

送信データ転送

OutSystemsのサブスクリプションには、1年につき2TB分の無料送信データ転送が含まれます。 

たとえば、ユーザー数が非常に多かったり、マルチメディアコンテンツが多用されているアプリケーションなどのように、割り当てられた送信データ転送量を超えるデータが必要な場合には、送信データ転送量が1TBずつ追加で課金されます。

受信データ転送

OutSystemsのサブスクリプションには無制限の受信データ転送が含まれているため、大量の受信データを扱うアプリケーション(Webサービスの利用など)でも、懸案事項にはなりません。

基盤となるインフラおよびサービスへのアクセス 

OutSystemsでは、ユーザーはすべての運用において基盤となるプラットフォームのインフラを意識する必要がありません。ただし、エンタープライズアプリケーションでは、ユーザーが管理すべきものが多くなります。OutSystemsは、インターフェイスの背後にあるものが見えなかったり、制御できない「ブラックボックス」にならないように設計されています。OutSystemsは、基盤となるインフラに拡張ポイントとコントロールオプションを提供しながら、すべてのオペレーションを簡素化します。

OutSystemsをオンプレミスでインストールする場合、任意のアプリケーションサーバーおよびDBMS(データベース管理システム)上に配置されます。ITチームは、基盤となるインフラ全体を制御し、そのポリシーおよびアクセス処理を定義します。

パブリッククラウドでOutSystemsを利用する場合、OutSystemsがお客様の環境を管理し、可用性を保証します。ただし、お客様側にはデータベースで直接クエリを実行するなど、オンプレミスにおいて求められる多くの操作を実行する柔軟性があります。その他のオプション(SSL証明書のインストールなど)は、OutSystemsの関与が必要となる場合があります。PaaSでのユーザーエクスペリエンスに影響を及ぼす操作(OutSystemsの内部テーブルやビューへの書き込みなど)または自動弾力性を損なう操作(OutSystemsが稼働しているマシンへのカスタムソフトウェアコンポーネントのインストールなど)は行うことができません。サーバーにカスタムソフトウェアをインストールする必要がある統合は、OutSystemsの拡張機能に適切なライブラリをインポートすることで実現できます。以下のセクションは、OutSystemsのパブリッククラウドでアクセスできるリソースを示しています。

データベース

ビジネスアプリケーションの核となるのはデータです。モデリング、変更のデプロイ、インデックス処理による最適化、データのクエリ/更新、クエリのテストなど、データ関連の操作の多くは、OutSystemsのビジュアルモデリング環境で提供されます。外部データベース連携も可能であり、必要に応じてOutSystemsの高度なクエリ機能によって複雑なSQL文を書き込むこともできます。データベースに直接アクセスする必要はほとんどありませんが、必要に応じてTOAD、Oracle SQL Developer、Microsoft SQL Server Management Studioなどのデータベースクライアントを使用してアプリケーションデータベースに直接アクセスし、以下のような操作を行うことができます。

  • アプリケーションテーブルにおける大量データを読み込み、または書き込み(開発テーブルでデータを削除するなど)

  • データベース固有の抽出、変換、ロード(ETL)プロセスの作成および実行。これにより、ファイルまたは外部データソースからデータをロードします(本番データを抽出してテスト環境にロードするなど)。

  • OutSystemsプラットフォームのメタモデルからのデータの読み込みこの操作は、高度なシナリオにおいて有用です。

OutSystemsは、お客様のOutSystems Cloudの健全性に悪影響を及ぼす変更からお客様を保護します。そのため、OutSystemsでは、OutSystemsの内部テーブルやビューへの書き込みや変更、データベースオブジェクト(テーブル、ビュー、インデックス)の構成の操作、およびクラウドデータベース内でのデータベースロジック(機能、ビュー、手順など)の直接的な作成が制限されます。

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

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

  • Integration Studioで作成された拡張機能により、従来型のコードを記述し、アプリケーションの一部としてデプロイ、実行、監視できます。このコードでは、ローカルサービスとランタイム環境のスコープ全体を再利用できます。

  • 組織の環境のローカルファイルシステムにあるフォルダへのアクセスをリクエストすることで、ユーザーは組織のアプリケーションからファイルを作成してアクセスできるようになります。 

    • このフォルダは、各フロントエンドサーバーに固有のものです。OutSystems Cloudにある他のフロントエンドからはアクセスできません。

    • アプリケーションは、FileSystem拡張機能によって各フロントエンドにあるローカルフォルダへアクセスすることができます。FTPや類似のプロトコルによって、ファイルシステムに直接アクセスすることは許可されていません。

    • このフォルダは、アプリケーションで使用するseedデータを含む大容量ファイルをアップロードする場合や、アプリケーションの一時ファイルを格納する場合、またはファイルシステムへの読み込みや書き込みが必要なサードパーティライブラリの転送フォルダとして使用する場合に主に使用されます。

    • OutSystemsでは、このフォルダはどの時点においてもバックアップされません。ファイルを永続的に保存したい場合は、別のオプションをご利用ください。

  • 低レベルのランタイム設定(HttpRuntimeパラメータまたはカスタムハンドラなど)は、Service Center Factory Configurationコンポーネントをデプロイすることで行えます。

ファイルストレージ

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

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

OutSystemsでは、データモデル内にBLOB(バイナリラージオブジェクト)を格納できます。アプリケーションで視覚的に設計されており、OutSystemsのビルトイン機能からアクセスできます。これはリレーショナルデータベースに格納するようなファイルには最適なシナリオです。OutSystemsはデータベースのバックアップを行うため、お客様のファイルはすぐに保護されます。 

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

オンラインファイルストレージサービスは、本格的なクラウドストレージのスケーラビリティ、信頼性、パフォーマンスを提供し、ユーザーは数テラバイトものファイルを保存することができます。こうしたサービスと連携するには、独自の拡張機能を作成するか、OutSystems Forgeで入手可能な既存のコンポーネントを再利用します。

たとえば、Amazon S3ファイルストレージサービスを選択する場合、OutSystemsコミュニティのメンバーが構築したAmazon S3コンポーネントを使用することができます。このコンポーネントは、拡張機能にAmazon S3 APIをカプセル化し、アプリケーション内の視覚的な要素として簡単に再利用できます。

これは、大量のバイナリ情報がデータベースを占め、アプリケーションサーバーやデータベースに不要な(保存や取得の)負荷がかかる場合に適したオプションです。

OutSystemsがAWS上で稼働している場合でも、S3サービスはAmazonから直接取得する必要があります。 

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

OutSystemsは、お客様のすべての環境とデータベースにおいて、OutSystemsプラットフォームの新規インストールおよびスタックの更新を行います。OutSystemsは、合意したスケジュールに従って更新を行い、業務への影響を最小化します。

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