OutSystemsのアーキテクチャは、高性能ローコードを構成する欠かせない要素です。多層的なエコシステムでアプリケーションの高速開発を支え、システムオブレコードの拡張、複雑な社内業務プロセスの変革、クリティカルな基幹業務システムの書き換え、高性能かつ世界水準のモバイルアプリやWebアプリの開発を可能にします。

OutSystemsでは、複数のデプロイオプションの中から自社のインフラやテクノロジースタックに最適なものを選択することができます。
クラウドベースのインフラでは、OutSystemsとユーザーが共同でクラウド環境を管理します。詳細については、オンラインヘルプの「OutSystems Cloudの共有責任モデル」をご覧ください。
目次

ODCは、クラウドネイティブのアプリ開発プラットフォームです。戦略性の高いミッションクリティカルなニーズへの対応を可能にします。クラウドネイティブのインフラ、管理、運用のベストプラクティスを反映した最新のアーキテクチャにより、拡張性の高いモジュール型環境での開発やデプロイを実現します。一般的なローコードプラットフォームとは、主に次のような点で異なります。
開発プラットフォームには、アプリの開発やデプロイを支援する機能を提供する複数のサービスが含まれています。どのプラットフォームサービスも、セキュアなWebサービスインターフェイスを備えた回復力の高いマイクロサービス設計を利用しています。開発者、DevOpsエンジニア、アーキテクトは、ODC StudioとODC Portalを使用してこれらのサービスを扱います。サービスはいずれもマルチテナントであり、自動リカバリや継続的アップグレードを利用できます。ODCでは、アプリケーションは常時稼働しており、可用性が高く、グローバルなコンテンツ配信ネットワーク(CDN)を利用しています。そのため、アプリケーションのコンテンツを世界中どこにでも低遅延で届けることができます。
ODCのインフラODCをホストするインフラは、非本番ステージであってもユーザーのアプリケーションに高いレジリエンスを提供できるよう、複数の可用性ゾーン(AZ)で稼働しています。APIゲートウェイで負荷分散が行われ、トラフィックは自動で健全なインスタンスにルーティングされます。ランタイムにもビルトインのアプリケーション健全性監視が用意されており、インスタンスに問題が発生した場合には、適宜シームレスに新しいインスタンスの立ち上げとリプレースが行われます。
Aurora Serverless V2の使用により、データベース内のデータは自動で3つのAZに同時書き込みされます。また、継続的に順次バックアップもされるので、バックアップの保存期間内であればどの時点にでも復元することができます。
OutSystems Developer Cloudのランタイムはプラットフォームから独立しており、デプロイされたアプリのホスティングや実行を行う複数の独立したステージによって構成されています。ステージが分離されているため、複数のチームが独自に並行してデリバリー作業を行うことができます。これが、ソフトウェア開発の継続的統合アプローチを支えているのです。
ODCは、コンテナを使用して自動的に拡張を行います。設定や構成を行う必要はありません。増加した負荷に対応できるようアプリケーションのインスタンスが追加でデプロイされ、可用性に基づきトラフィックが自動的に負荷分散されます。オートスケールは、アプリケーションの計算能力に限られた話ではありません。ODCデータベースも、負荷に応じて自動でスケールアップまたはスケールダウンされます。
インフラの配置OutSystemsでは、世界中に物理的に分散しているインフラにアプリケーションを自由にデプロイすることができます。OutSystemsをサブスクライブすると、ODCで使用するリージョンを以下から選択できます。
アプリケーションのパフォーマンスやデータ転送を最適化するためにも、できれば距離(および遅延)を低減できるリージョンにOutSystemsのインスタンスを配置するようにしてください。法規制への対応として、特定のデータを特定のリージョンにとどめておけるようなリージョン選択をすることもできます。
OutSystems 11 Cloud(OutSystems Cloud)はパブリッククラウドです。物理インフラは、Amazon Web Services(AWS)のデータセンターでホスティングされています。ユーザーごとに、専用の仮想プライベートクラウド(VPC)で保護された専用の仮想マシンのセットとデータベースインスタンスが存在します。VPCは、インターネットやAWSクラウド内の他の仮想ネットワークから論理的に分離されています。
OutSystems CloudのセキュリティOutSystems Cloudでは、AWSセキュリティグループのレイヤーをファイアウォールとして使用して、ユーザーの環境とインターネットの間で許可されるトラフィックを制御します。また、OutSystemsは悪意のあるトラフィックが実行中のアプリケーションにアクセスすることを防ぐWeb Application Firewall(WAF)を使用して各環境を保護します。進化するセキュリティの脅威への柔軟な対応、最大限の可用性、OutSystems製品の進化との互換性を確保するため、すべてのユーザーにこのWAFのポリシーが適用されます。
高可用性とコンプライアンスOutSystems Cloudの高可用性オプションを活用すると、フロントエンドサーバーを複数のAWSの可用性ゾーンにデプロイし、プライマリデータベースとは異なる可用性ゾーンにデータベースレプリカを設定することができます。
コンプライアンスの強化が必要な場合は、優れたコンプライアンスを備えたOutSystems Cloudにアップグレードすることができます。これにより、SOC2 Type II準拠のクラウドプラットフォームのセキュリティ、リスク管理、監視がさらに強化されます。このオプションを選択すると、インフラ面では以下が追加されます。
以下の図は、優れたコンプライアンスを備えたOutSystems Cloudにおける、高可用性オプション付きStandardエディションの基本的設定のアーキテクチャを示したものです。

OutSystems Cloudをサブスクライブすると、OutSystemsはユーザーが選択した環境の数やタイプに応じたOutSystemsインフラをクラウド内でプロビジョニング、インストール、構成します。
また、各ユーザーに、仮想サーバー、ストレージ、ネットワーク、OS、データベース、OutSystemsソフトウェアからなる 専用のインフラ を割り当てます。
OutSystemsインフラは、ユーザーが選択したスタックでデプロイされます。可能な組み合わせは以下のとおりです。
OSデータベースWindows Server 2022
MS SQL Server 2016 Standard Edition
Oracle 12 Standard Edition
OutSystemsインフラは、以下の選択肢のうちユーザーが選択したリージョンにデプロイされます。
オプションで、本番データベース内の保存データの暗号化を明示的に依頼できます。保存データの暗号化をアクティベートすると、データベースのバックアップも暗号化されます。
ユーザーがOutSystems Sentryのサブスクリプションをアップグレードすると、OutSystemsは必要となるインフラアップグレードを行います。
OutSystemsのPaaSクラウド対応デプロイオプション(OutSystems Cloud)とIaaSセルフマネージドデプロイオプション(OutSystems 11)のプラットフォームアーキテクチャは同じです。OutSystemsのアーキテクチャが提供するコンポーネント、ツール、環境、コード生成などを使用すると、標準的な.NETアプリケーションサーバーで稼働する拡張性の高いアプリを作成できます。OutSystemsは、専有技術でユーザーを囲い込むようなことはしません。
環境、ツール、コンポーネントOutSystemsプラットフォームには、アプリケーションのライフサイクル管理プロセスすべてをカバーできる環境、ツール、コンポーネントがそろっています。開発ツールは以下のとおりです。
管理コンソールOutSystemsの管理コンソールには以下のようなものがあります。
OutSystemsプラットフォームでは、アプリケーションの実行にランタイムエンジンや専有のインタープリタは使用しません。
不安やリスクのない実装ベンダーやプラットフォームを変更した場合、OutSystemsで開発したアプリはどうなるでしょうか。OutSystemsはベンダーロックインのない唯一のソリューションであり、不安やリスクなく実装することができます。OutSystemsでは、アプリケーションの実行に特定のランタイムエンジンを使用しません。OutSystemsプラットフォームは、ユーザーのアプリケーションモデルから標準的なWebアプリケーションサーバーで実行できる標準の.NETアプリケーションを生成します。つまり、実行にOutSystemsを必要としないのです。

そのため、万が一OutSystemsプラットフォームを使用しなくなったとしても、アプリケーションのソースコードをデタッチすることができます。デタッチしたコードは通常の.NETアプリケーションと同様に管理でき、任意のIDEやバージョン管理システムで扱うことができます。OutSystemsにロックインされてツールを変更できないという事態には陥りません。OutSystemsの使用を中止したとしても知的財産権が失われることはなく、独自の環境でアプリケーションを変わらず実行し続けられるという安心感を得ることができるのです。
