独立系ソフトウェア・ベンダー(ISV)向け
独立系ソフトウェア・ベンダー(ISV)は、アプリケーションをホストするために、安全でスケーラブル、かつ信頼性の高いプラットフォームとインフラストラクチャ・サービスを必要としています。クラウドでバックオフィス・システムを実行している情報技術(IT)組織以上に、ISVは、24時間365日の運用や、地理的に多様な導入に対処する必要があります。また、伸縮自在なスケーリングが求められる可能性のある動的な顧客トラフィック・パターンや、アプリケーションをパブリック・インターネットに公開する際のセキュリティ上の課題にも取り組む必要があります。
1つ以上のハイパースケール・クラウド・プロバイダへの移行やそのようなプロバイダでの運用を行うISVには、考慮すべき重要な選択肢とパターンがいくつかあります。アプリケーションをそのままリフト&シフトすべきでしょうか。それとも、よりクラウドネイティブな体制に再設計し、プロバイダのマネージドPaaSサービスの活用を開始する機会として、クラウドへの移行を利用すべきでしょうか。クラウドの導入を機に、データセンター内のフォルト・ドメイン、リージョン内の可用性ドメイン、またはリージョン間の相互接続を活用する機能を採用することで、高可用性(HA)とディザスタ・リカバリ(DR)の体制を変えることができますか。クラウド・プロバイダは、データ、内部ネットワーク、コンピュート・ホスト/コンテナや顧客とのやり取りを保護するために、どのようなツールを提供していますか。最後に、アプリケーションはマルチテナントSaaSとして導入しますか。それとも顧客ごとにシングルテナント構成で導入しますか。
オラクルでは、これまでに数百の社内アプリケーションをOCIに移行しただけでなく、数十社のISVがOCIへの移行を計画して実施するのをクラウド・エンジニアリング・チームが支援してきました。このマイクロサイトでは、ISV向けにガイダンスを提供し、明確なホスティング・パターンを提示します。
また、Oracle Cloudの採用に向けての様々なアプローチの視点から様々なトピックを掘り下げます。
このマイクロサイトは、直線的に読むことを意図したものではありません。下の図は、自分のプロファイルに基づいてこのサイトでたどることができるフローを視覚的に表しています。この導入部を読んだ後、プロセスのセクションに進み、現在のホスティング・モデルに応じてクラウド生まれまたはオンプレミス/コロケーションのセクションをお選びください。次に、貴社のアプリケーション提供モデルに応じて、マルチテナントSaaSまたはシングルテナントSaaSのセクションをお読みください。最後に、すべての読者を対象とした横断的関心事のセクションとまとめをお読みください。
多くのISV SaaSプロバイダは「クラウド生まれ」であり、「クラウドネイティブ」と捉えられがちですが、常にそうであるとは限りません。クラウド生まれということは、通常、レガシー・システムとのつながりにはこだわらず、最新のアプリケーション設計原則に従ったシステムの構築を望むということです。最新のアプリケーション設計とは、12要素アプリとして概説されている原則を具体化したアーキテクチャ・ガイダンスです。これもクラウドネイティブ・アーキテクチャと同じではありませんが、密接に関連しています。オラクルの観点からクラウドネイティブをより深く掘り下げた情報を探している方は、クラウドネイティブ設計に焦点を当てたEブックであるクラウドネイティブ・パターンを確認する価値があります。
SaaSアプリケーションが最新のアプリケーション設計に従って構築されていようと、クラウドネイティブの原則に従って構築されていようと、変わらない主要な推進要因がいくつかあります。
これらの目標から始めたISVは、通常、より分離されたサービス・アーキテクチャを備えています。ワークロード内のアプリケーション・コンポーネントは、多くの場合コンテナとして独立して導入でき、アプリケーション・アーキテクチャは、コンポーネントに障害が発生した場合にアプリケーションの継続性に対処するように構築されています。アプリケーションは、データの一貫性だけでなく、アプリケーションの可用性にも対処する必要があります。
選択した実行時アーキテクチャに応じて、ISVは、モニタリングと通知をインフラストラクチャの制御に統合することになります。OCIは、以下をサポートするサービスを提供します。
コンポーネント間通信では通常、コンポーネントが直接命令ではなくイベントを生成して応答する、非同期パターンを実装します。OCIは、この通信を処理するためによく使用されるサーバーレス・ストリーミング・サービスである、Kafka互換のStreaming Serviceを提供します。このアプローチの利点は、障害時にコンポーネントが保護されることです。これにより、インテリジェントなキューイングまたはルーティングを利用して影響範囲を小さくすることができます。
アプリケーションをインフラストラクチャから切り離すことで、さらなる分離が実現します。伸縮性は多くの場合、クラウド・サービス・プロバイダ(CSP)が提供する自動スケーリング・メカニズムを利用することで達成されます。自動スケーリングは、Oracle Container Engine for Kubernetes (OKE)を利用するコンテナ・レベル、インスタンス・グループ・レベル、またはサーバー・グループ・レベルで行うことができます。
チームが1社のCSPが提供するネイティブPaaSサービスを利用し始めると、時間の経過とともに、一部のSaaSアプリケーションは当初計画されていた標準ベースのアーキテクチャから逸脱し始めます。たとえば次のようなケースが考えられます。1つのクラウド専用のデータ管理サービスを使用する。将来の置換えに備えて実装で適切な抽象化レイヤーを使用せずに、ベンダー独自のNoSQLプラットフォームへの直接API呼出しを埋め込む。ベンダー固有のコードを生成するIDEを利用する。クラウドの移植性を維持するために、ISVは、プラットフォーム・サービスの利便性と、サービスがベンダーに依存する場合に生じる可能性のあるベンダー・ロックインの脅威とのバランスを慎重にとる必要があります。多くのISVは、真のマルチクラウド・フットプリントを目指して、アプリケーションの再最新化のプロセスに着手しています。そのために、こうしたISVは、単一ベンダーのテクノロジや一度しか使われないテクノロジとの緊密な結合ポイントを見直しています。
時間の経過とともに、インフラストラクチャ構成にドリフトが生じる可能性もあります。ほとんどのISVはInfrastructure as Code (IaC)アプローチを採用しており、OCIは業界標準のツールをサポートしていますが、さらに一歩進んでいます。マネージドTerraformサービスであるOCI Resource Managerを使用すると、インフラストラクチャのドリフトをモニタリング、追跡、修復できます。
リフト&シフトの実装では、オンプレミスまたはコロケーション施設で実行されている本番ワークロードをOracle Cloud Infrastructure (OCI)に移行します。場合によっては、OCI内で提供されるネイティブ・クラウド・サービスを利用して、アプリケーションを拡充できます。この「移行&向上」活動は、OCIに移行するもう1つの説得力のある理由です。この後のセクションでは、リフト&シフト・プロセスについて説明し、必要に応じて移行&向上の考慮事項についても触れます。
このシナリオは、設備投資の削減によるメリットを享受し、可用性、セキュリティ、パフォーマンスに関する運用上の複雑さの一部をオラクルなどのクラウド・サービス・プロバイダ(CSP)に委任することを検討しているISVに最適です。通常、ISVは次の戦略のいずれかを実装します。
これらの戦略を組み合せて、一部のワークロードはそのまま移動し、他のワークロードは、OCIマネージド・サービス(PaaS)を活用するように変更するという方法を取るのもまったく問題ありません。
リフト&シフト
リフト&シフトのクラウド移行戦略で行うのは、オンプレミス・アプリケーションをOCIに移動することであるため、その結果の導入はオンプレミス導入に非常に似ています。このプロセスの最初のステップは、OCIの機能を実行し戦略的目標を達成できるようにするワークロード/アプリケーションを特定することです。データ・レジデンシ、レイテンシ、接続の要件に応じて選択できる多くのホスティング・タイプがあります。次のホスティング・タイプのうちいずれを選択しても、OCIの総合的なポートフォリオにアクセスできます。
ホスティング・タイプ | 説明 |
---|---|
パブリック・クラウド | IaaS、PaaS、SaaSサービスの幅広いプラットフォーム |
ガバメント・クラウド(制限された領域) | ガバメント・クラウド(制限された領域) - 公共法人の制限された領域に導入されたIaaS、PaaS、SaaSサービスの幅広いプラットフォーム |
Dedicated Region Cloud@Customer | データセンターに導入されたIaaS、PaaS、SaaSサービスの幅広いプラットフォーム |
Roving Edge Infrastructure | Ruggedized Oracle Roving Edge Device (Oracle RED)に導入され、ネットワークのエッジや接続されていない場所でクラウド・コンピューティングおよびストレージ・サービスを提供する、IaaS、PaaS、SaaSサービスの幅広いプラットフォーム |
Oracle Cloud VMWare | VMwareベースのワークロードをクラウドに移動するか、クラウドが含まれるようにオンプレミスのVCenterを拡張します。アプリケーションを再設計したり操作を再構築したりする必要はありません。 |
クラウド・アーキテクチャを設計するときは、オラクルが様々なネットワーク接続オプションをサポートしていることを理解してください。これにより、OCIリソースを、データセンター内で実行されているコンポーネントと混在させるハイブリッド・クラウド・ソリューション、またはOCIフットプリントを別のクラウド・サービス・プロバイダと相互接続するマルチクラウド・ソリューションを構築できます。これらのアプローチはどちらも非常に一般的であり、データ・レジデンシの要件やITのSLA、その他の要件を満たすために、オンプレミスまたは他のクラウド・ベンダー環境で実行されている既存のアプリケーションのワークロード依存関係をより容易に移行するのに役立ちます。
OCIは、この通信をパブリック・インターネット、IPSec VPN、または専用接続(FastConnect)で可能にします。次の表は、これらの各アプローチの特徴の一部を示しています。
方法 | レイテンシ | コスト | 信頼性 | セキュリティ |
---|---|---|---|---|
パブリック・インターネット | 可変 | 可変 | 可変 | 最も安全性が低い |
IPSec VPN | 可変 | 可変 | 可変 | トラフィックは暗号化されるが、トンネルはパブリック・インターネットを経由 |
OCI FastConnect | 低い、予測可能 | 予測可能 | 最も信頼性が高い | 最も安全性が高い。トラフィックはプライベート接続を通過 |
さらに、上記のテクノロジを使用すればOCIと他のどのクラウドの間でもクラウド対クラウドの相互接続が可能ですが、オラクルはMicrosoft Azureとパートナーシップを結び、世界中の多くの地域でOCIとMicrosoft Azureの間に製品化された低レイテンシの相互接続を提供しています。
オラクルは、競合他社のパブリック・クラウドや仮想化/非仮想化オンプレミス環境など、様々なソースからOCIへの移行の自動化に特化した多数のパートナーを有しています。移行ベンダーを網羅したリストはMarketplaceでご覧いただけます。注目すべき例として、RackwareやZConverterがあります。
他のクラウドまたはオンプレミス環境からのOracle Databaseの移行を検討する場合、オラクルには、オフライン移行またはゼロ・ダウンタイム/ライブ移行を容易にする多数のツールが用意されています。たとえば、Zero Downtime Migration (ZDM)、OCI Database Migration (DMS)、GoldenGate、DataPump、RMANなどがあります。選択するツールは、ソース・データベースとターゲット・データベースの特性、およびオペレーティング環境によって異なります。詳細は、OCIのデータベース・クラウド移行ランディング・ページを確認してください。
移行&向上
移行&向上のクラウド移行戦略で行うのは、既存のサービスを拡充するか、クラウド製品に置き換えることです。チームがクラウドへの移行に適した候補を特定するプロセスを進める際には、サービスを拡充または置き換えるオポチュニティを検討することを念頭に置く必要があります。たとえば、ミッションクリティカルなアプリケーションをサポートするオンプレミス・データベースを、マネージドDatabase Cloud Service、自動運転の優れたAutonomous Database、またはExadata Cloud Service (クラウドでOracle Databaseを実行するための最速のプラットフォーム)に移行することで、既存のオンプレミス・アプリケーションを改良できます。
さらに、Oracle Cloud Infrastructureを採用すると、次のようなサービスのポートフォリオ全体にアクセスできます。
SaaSベンダー向けのマルチテナント提供モデルは、共有インフラストラクチャで実行されているソフトウェアを利用して、個々のISVエンド・カスタマ(テナント)をサポートします。
顧客データは通常、一連の共有表に保存され、すべてのアプリケーション・レイヤーが顧客の一意の識別子を認識します。アプリケーション自体は、マルチクライアントに対応するように設計されています。通常、アプリケーション自体がユーザー・サブスクリプションの管理に対しても責任を負います。さらに、インフラストラクチャは、サポートする必要のある顧客、トランザクション、規制の数に基づいてサーバー・グループに分類する必要があります。
このモデルを選ぶ理由
マルチテナント・モデルはISV (独立系ソフトウェア・ベンダー)に利点をもたらします。マルチテナント・モデルで提供されるスケール・メリットを利用すると、様々な面が効率化されます。サーバー・グループの構成は周知であるため、インフラストラクチャの管理とモニタリングで効率が向上します。新しいサービス領域の立ち上げは簡単で、インフラストラクチャ自動化コードを実行した後、アプリケーションを導入するだけです。一連の共通インフラストラクチャには、モニタリング用に一元化された画面も用意されています。
共通のコンピュート、ストレージ、データベースでホストされたお客様は、よりシンプルなアプリケーション導入戦略を実現しています。このモデルを利用するISVの場合、コード・ベースは通常1つであるため、顧客基盤全体に更新プログラムを簡単に導入できます。このモデルを利用する多くのISVは、顧客が機能フラグを利用して新しい機能をオプトインできるようにしています。
もちろん、このモデルにも一長一短があります。特定のデータ・レジデンシ要件のある顧客をサポートするには、地域別の導入戦略が必要であり、顧客が競合他社と同じサーバーに収容されないことをビジネス要件とするようなシナリオも考えられます。アプリケーションのアーキテクチャによっては、顧客がノイジー・ネイバー(うるさい隣人)シナリオにさらされる可能性があります。サーバー・グループが飽和状態になると、ISVは、顧客を使用率の低い新しいサーバー・グループに移行するか、既存のグループの容量を拡張するかを決定する必要があります。
マルチテナントSaaSモデルを適切にサポートしようとすると、意図しない影響が生じます。その1つが、アプリケーション・アーキテクチャを十分に検討し、シングルテナント・アーキテクチャよりも高いレベルで計画する必要があることです。適切なアクセス制御とデータ分離モデルを最初からアプリケーション・フレームワークに組み込む必要があり、ISVは、これをすべて実現するためのエンジニアリング・スキルが社内にあることを確認する必要があります。
オラクルは、自社のクラウド・アーキテクトが関与し、アプリケーションの最新化とクラウドの成功に向けての調整についてアドバイスすることで、ギャップを埋められるよう支援します。オラクルのアーキテクトは、様々な分野で他のISVと連携しており、同様の問題を扱った際の経験とベスト・プラクティスをクラウドの変革に生かすことができます。
サーバー・グループの分離
マルチテナント・モデルの重要な構成要素の1つに、ホストされたテナントの共有環境があります。ISVは、実行時に顧客データを適切に分離して保護するようにSaaSアプリケーションが設計されていることを確認する必要があります。また、アプリケーションをホストしている様々なサーバー・グループで行われている処理を適切に管理、モニタリング、維持できることも必要です。
特定の地域の顧客を他の地域(またはサブ地域)の顧客から隔離するための特定の要件がある場合もあります。このタイプの分離は、ワークロードをOCIリージョンとコンパートメントの組合せに導入することで実現できます。たとえば、医療市場と一般製造市場の両方にサービスを販売する米国のSaaSベンダーがあるとします。このベンダーは、リージョンおよびコンパートメント構造を使用して、それらのワークロードを分離し、差別化された機能(医療ワークロードのHIPPA/HITRUSTコンプライアンスなど)を提供できます。
マルチテナント・モデルから始めたISVの場合、1つの自然な流れとして、顧客データをより適切に分離できるようにサービスを進化させることになります。通常、この進化はまずデータ・レベルで起こりますが、Oracle Databaseはマルチテナント・モデルをサポートしているため、独立したプラガブル・データベースを1つのコンテナ・データベースに埋め込むことができます。
シングルテナント提供モデルでは、専用インフラストラクチャで実行されるソフトウェアを使用して、個々のISVエンド・カスタマをサポートします。複数の顧客が同じコンピュート・サイクルを共有し、共通のデータベース表内にデータが混在するマルチテナント・モデルとは異なり、シングルテナント・モデルでは、顧客ごとに異なるコンピュートVM、異なるデータベース、異なるサポート・インフラストラクチャ(ロード・バランサ、メッセージ・キューなど)を利用します。
このモデルを選ぶ理由
シングルテナント・モデルは、ISV (独立系ソフトウェア・ベンダー)に多くの利点をもたらします。各顧客/テナントが別々のコンピュート、ストレージ、データベースでホストされていることは、セキュリティとパフォーマンスのどちらの観点から見ても、関心の分離の顕著な例です。顧客「A」は、悪意のある行動によっても、意図せずリソースの公正な割当て分を超えて消費した場合でも、顧客「B」に影響を与えることはできません。さらに、壊滅的な障害の影響範囲は小さくなります。1つのコンポーネント(データベース、メッセージ・キューなど)の障害が影響する可能性があるのは、SaaSアプリケーション全体ではなく1社の顧客です。各テナントには、独自の機能とパッチでカスタマイズされたそれぞれ異なる環境があり、きわめて顧客中心の提供モデルを実現しています。
もちろん、このモデルにも一長一短があります。たとえば、顧客中心の環境を提供することで得られるすべてのメリットは、構成管理の負担の増加やモニタリングとメンテナンスの増加によって相殺される可能性があります。このアプローチのその他の多くのメリットは、マルチテナント・モデルでも得られますが、ISVのSaaSアプリケーションをより厳密に設計し実装することが必要になります。
最終的に、その決定は、ISVがSaaSアプリケーションを可能にするマルチテナントに投資したいかどうかに尽きますが、社内にそのためのソフトウェア・エンジニアリング・スキルがあるかどうかに大きく左右されます。ない場合は、ソフトウェア・プラットフォームやハイパースケール・クラウド・プロバイダによって提供される固有のコンパートメント機能を利用することを選択できます。各ISVは、それぞれに固有の状況に基づいてこの選択を行う必要があります。
オラクルは、自社のクラウド・アーキテクトが関与し、アプリケーションの最新化とクラウドの成功に向けての調整についてアドバイスすることで、こうした選択ができるよう支援します。オラクルのアーキテクトは、様々な分野で他のISVと連携しており、同様の問題を扱った際の経験とベスト・プラクティスをクラウドの変革に生かすことができます。
テナントの分離
シングルテナント・モデルの重要な構成要素の1つに、テナントごとに分離された環境があります。ISVは、顧客ごとに専用のコンピュート、ネットワーク、ストレージ、メッセージング、およびデータベースのリソースをプロビジョニングする必要があります。プロビジョニングは、これらのリソースが実行時と管理の両方の観点から互いに分離されるように行う必要があります。
OCIは、OCIリソース間の強力な論理的分離を可能にする、コンパートメントと呼ばれる独自の機能を提供します。ネットワーク、コンピュートなどを含む顧客環境全体をコンパートメント内に配置し、これらのリソースへのアクセスを制御するOCIポリシーを作成できます。この2つのコアOCI機能を使用することで、顧客「A」を顧客「B」から効果的に分離し、リソース、管理または情報面の相互汚染を防ぐことができます。コンパートメントは階層型であるため、ネストさせることができ、このアプローチを使用して複雑な顧客設定をモデル化できます。たとえば、現実的な顧客が複数の部門で、いくつかの共通の企業リソースを維持しながら、事業単位間の分離を望んでいる場合を考えてみてください。
最も確実に分離を行うことができるのはコンパートメント・モデルですが、アプリケーションの特定の層で利用できるいくつかの中間的なアプローチがあります。これらのアプローチでは、テナントの分離方法をカスタマイズしなくても、リソース使用率を向上させることができます。たとえば、テナントごとに別々のデータベース・システムを作成するのではなく、Oracle Databaseのマルチテナント機能を活用して、複数のプラガブル・スキーマを使用する1つのコンテナ・データベースを実装できます。このアプローチにより、複数のデータベース・クラスタを立ち上げるオーバーヘッドを削減しながら、データベースの分離を実施できます。アプリケーション・スキーマの書換えは不要です。オラクルの仮想マシンとベアメタルDatabase-as-a-Serviceは、最も要求の厳しいワークロードに使用できるAutonomous Dedicated Databaseと同様に、すぐに使用できるマルチテナンシをサポートしています。
この中間アプローチの使用は、データ層でのみサポートされているわけではありません。アプリケーションがコンテナ化されている場合は、オラクルのContainer Engine for Kubernetes (OKE)を利用して、複数の顧客コンテナを1つのインフラストラクチャに導入できます。その後、名前空間、ロールベースのアクセス制御(RBAC)、シークレット、リソース割当て制限などのネイティブKubernetesプリミティブを活用して、テナントの分離を維持します。データベースの場合と同様に、アプリケーションをテナント対応に書き直すのではなく、基盤となるクラウド・サービスの機能を活用するだけです。
ISVは、OCIの幅広いサービスとサポートにより、顧客に提供する価値を高めることができます。
貴社は「クラウド生まれ」のISVで、ハイパースケーラーの本来の機能を活用して、シングルテナントSaaSインフラストラクチャを構築しているかもしれません。オンプレミスから始めて、マルチテナントSaaSアプリケーションをクラウドのみに存在するように移行している場合もあるでしょう。あるいは、これらのアプローチの順序を入れ替えて実施していることも考えられます。どのような道をたどったかに関係なく、クラウドを利用するすべてのISVは、セキュリティ、可観測性、ビジネス継続性、自動化などの主要な横断的関心事に対処する必要があります。この後のセクションでは、これらの機能上の課題に対応し、競合他社と差別化する上でのオラクルの位置付けを確認します。
オラクルのアプローチでは、セキュリティはデフォルトで常に「オン」であり、シンプルかつ規範的であることが必要です。また、お客様がコストとセキュリティのどちらかを選ぶ必要はないとオラクルは考えており、マーケットプレイスを通じて代替手段を提供するパートナーとともに、すべてのセキュリティ関連サービスを無料または低コストで提供するよう努めています。お客様が侵入を受けるのは、脆弱性を防ぐツールが存在しないからではなく、そうしたツールが大半の組織にとって高価すぎるか、操作が難しすぎるからであるというのがオラクルの考えです。
オラクルは、セキュリティはクラウド・プロバイダとISVの間の共有責任であると考えています。オラクルは、分離されたネットワーク仮想化やハードウェアのRoot-Of-Trustなどの特定のコア機能を提供し、ISVがセキュリティ体制のカスタマイズに使用できるツールとサービスでそれらの機能を強化しています。ISVがセキュリティ製品の概要をお知りになりたい場合は、セキュリティ・ランディング・ページとクラウドのセキュリティ・アーキテクチャを確認することから始めてください。
コア・セキュリティは、ロールベースのアクセス制御を直感的なポリシー・フレームワークと統合する、堅牢なIdentity & Access Management (IAM)の実装から始まります。この機能は、ユーザー、グループ、アイデンティティ・フェデレーション、インスタンス/リソース・プリンシパル認可などの様々なトピックを対象とします。IAMの対象外ですが、もう1つのコア・セキュリティの概念は、ネットワーク・セキュリティ・ルール、グループ、リストの使用によるユーザー定義ネットワークに関連しています。
Oracle Cloud Infrastructure (OCI)で安全な技術アーキテクチャの開発を始める場合の出発点として最適なのは、セキュリティのベスト・プラクティスをカタログ化するベンダー中立の組織であるCenter for Internet Security (CIS)です。CISは、OCIアプリケーション用のセキュア・ベンチマークを開発し、オラクルは、ISVがTerraformを介してCISの推奨事項を実装するのに役立つ自動化を開発しています。
OCIは、以下のようなその他の基本的なセキュリティ・サービスを数多く提供しています。
スタックの上位には、Maximum Security ZonesというOCI独自の機能があり、OCIのセキュリティ・ポリシーを自動的に設定して適用します。これにより、セキュリティのベスト・プラクティスを使用して宣言型のセキュリティを適用できるようになり、最もクリティカルなリソースのセキュリティに対して事後対応ではなく事前対応のアプローチが提供されます。
最後に、Cloud GuardがOCIエステート全体に対して提供し、Data Safeがデータベース・ワークロードに対して提供するセキュリティ体制管理がなければ、セキュリティのプロセスは完成しません。どちらのサービスもOCIのお客様に無料で提供され、誤って構成されたリソースや安全でない活動が、すぐに使用できるセキュリティ方策や、SIEM/SOCシステムへのデータの送信により、自動化された方法で迅速に検出および修正されます。
すべての組織は、運用をサポートし将来のIT計画を立てるために、クラウド・エステートのパフォーマンスに関するインサイトを収集する機能を必要としています。ISVは特に、アプリケーションのパフォーマンスのより詳細なインスツルメンテーションを必要とすることが多いカスタム・アプリケーションを実行しているため、より豊富な機能を必要とします。さらに、ISVは、24時間365日の外部コンシューマ・ベースでクラウド規模でワークロードを実行している可能性があり、通常のバックオフィス・システムよりも高いレベルのアップタイムが必要になります。
基本レベルでは、OCIはMonitoringサービスを提供しています。このサービスは、OCI上のワークロードのパフォーマンスに関するリアルタイムのインサイトを可能にし、健全性とパフォーマンスに関してすぐに使用可能なメトリックを提供します。ユーザーは、異常を検出して対応するようにアラームを構成できます。このサービスは、ワークロードによって生成されたログに加えてOCIログを表示する、コア・サービスのLoggingと組み合せて利用されます。前述のサービスのいずれかで特定された状態や問題は、オラクルのNotificationsサービスによって処理できます。このサービスは、可用性が高く低レイテンシのパブリッシュ/サブスクライブ・システムを提供します。また、サーバーレス関数(自動修復用)、電子メール、またはメッセージ配信パートナー(SMS、Slack、PagerDutyなど)にアラートを送信します。
スタックの上位では、オラクルは、ロギング、アプリケーション・パフォーマンス、データベース・パフォーマンス、運用の領域でより詳細な分析を提供する、多数の機械学習(ML)駆動型サービスを提供しています。Logging Analyticsを使用すると、すべてのログ・データのモニタリング、集約、索引付け、分析を行い、MLを使用して問題のあるクラスタと異常を視覚的に検出できます。Application Performance Monitoringは、標準に準拠した(OpenTracingおよびOpenMetrics)サービスであり、カスタム・アプリケーション(多くのISVが提供するKubernetes/docker環境から派生したマイクロ・サービス・テレメトリをネイティブでサポート)の合成モニタリング、分散トレース、トランザクション実行分析を可能にします。Database ManagementはOracle DatabaseフリートとOperations Insightsのモニタリング機能を提供しており、管理者はML分析を使用してパフォーマンスの問題を発見し、消費量を予測して、容量を計画できるようになります。組織はこれらの機能を使用して、データに基づく意思決定を行い、リソースの使用を最適化し、サービス停止を事前に回避し、パフォーマンスを向上させることができます。
これらの可観測性機能はすべて、OCIの統合サービスとして提供されます。豊富な「無償利用枠」が用意されているため、ISVは制限付きのシナリオでサービスを利用し、初期の成功に基づいて使用量を増やすことができます。
ISVのビジネス継続性の要件は、多くの場合、従来のISV組織のものよりも厳しくなります。人的資源管理(HCM)システムやエンタープライズ・リソース・プランニング(ERP)システムなどの従来のバックオフィス・システムでダウンタイムが発生すれば問題になる可能性がありますが、ほとんどのISVのビジネスの生命線である顧客対応システムでは、一時的な中断さえも許容できません。このため、高可用性(HA)やディザスタ・リカバリ(DR)などの概念は非常に重要であり、ISVは、これらの分野でOCIが提供する機能を最大限に活用する必要があります。
高可用性
OCIリージョンとは、1つ以上の可用性ドメインで構成される局所的な地理的領域であり、それぞれが3つのフォルト・ドメインで構成されます。高可用性は、可用性ドメイン内のフォルト・ドメインの冗長性によって確保されます。
可用性ドメインとは、リージョン内にある1つ以上のデータセンターです。可用性ドメインは互いに分離され、耐障害性を備えており、同時に障害が発生する可能性はほとんどありません。可用性ドメインは、電源や冷却装置などの物理インフラストラクチャ、または内部の可用性ドメイン・ネットワークを共有しないため、1つの可用性ドメインに影響する障害が他のドメインの可用性に影響する可能性はほとんどありません。
フォルト・ドメインとは、可用性ドメイン内のハードウェアとインフラストラクチャのグループです。各可用性ドメインには、3つのフォルト・ドメインが含まれています。フォルト・ドメインを使用すると、インスタンスを分散させて、1つの可用性ドメイン内の同じ物理ハードウェア上に存在しないようにすることができます。そのため、あるフォルト・ドメインに影響する予期しないハードウェアの障害またはコンピュート・ハードウェアのメンテナンスが、他のフォルト・ドメインのインスタンスに影響することはありません。
リージョン内のすべての可用性ドメインは、低レイテンシ、高帯域幅のネットワークで相互に接続されます。可用性ドメイン間のこの予測可能な暗号化された相互接続により、高可用性とディザスタ・リカバリの両方のための構成要素が提供されます。
保護の対象となる障害のクラスに応じて、複数のリージョン、複数の可用性ドメイン、または複数のフォルト・ドメインにまたがるソリューションを設計できます。
また、OCIには、ネットワーク・リソース、ストレージ・システム、データベース・リソースを局所的な障害から保護するための機能とユーザーが選択可能なオプションが数多く用意されています。まずは、OCIアーキテクチャ・センターの高可用性ソリューション・プレイブックをよく読み、運用モデルに適した選択を行うことをお薦めします。
ディザスタ・リカバリ
障害とは、ネットワークの停止から機器の故障、自然災害まで、アプリケーションを危険にさらすあらゆるイベントのことです。適切に設計されたディザスタ・リカバリ(DR)計画により、障害から迅速に復旧し、ユーザーにサービスを提供し続けることができます。OCIのDR機能は、前のセクションで説明した広範なHA機能に基づいています。
ディザスタ・リカバリ戦略を検討するときは、最初に目標復旧時間(RTO)と目標復旧時点(RPO)を検討する必要があります。RTOとは、障害発生後に特定のアプリケーションを復元する際の目標時間で、復元はこの時間内に行う必要があります。通常、アプリケーションがクリティカルであればあるほど、RTOは短くなります。RPOとは、障害が発生してからビジネスに影響し始めるまでに、アプリケーションがデータの損失を許容できる期間です。
次に、設計対象となる障害シナリオのタイプを決定する必要があります。保護しようとしているのは、アプリケーションの障害、ネットワークの障害、データセンターの障害、またはリージョン単位でのサービス停止からですか。それとも、これらすべてからですか。この質問への回答とRTO/RPOの決定事項を基に、DR戦略を推進することができます。
OCIには、コンピュート、ネットワーク、ストレージ、アプリケーション、データベースの各レベルで耐障害性アーキテクチャを構築するためのガイダンスが用意されています。これらのツールを使用して、アプリケーションが2つのリージョンで同時に機能し、リージョン「a」での障害にリージョン「b」が対処できるアクティブ-アクティブ・アーキテクチャを構築できます。これには、プライマリ・リージョンの障害発生時にセカンダリ・リージョンがプライマリになってトラフィックを引き受けるウォーム・バックアップ・シナリオ、ビジネス・オペレーションを復元するために手動/自動ステップを混在させる必要があるコールド・バックアップ・シナリオ、あるいはこれら2つのハイブリッドな組合せがあります。
まずは、OCIアーキテクチャ・センターのディザスタ・リカバリ・ソリューション・プレイブックをよく読み、運用モデルに適した選択を行うことをお薦めします。
SaaSアプリケーションを実行し、OCIのコンパートメントを利用して分離を実現しているISVは、自社および顧客がリソースの管理を改善できるように、いくつかの関連するプリミティブについて検討することをお薦めします。各OCIテナンシは通常、一定の年間予算が事前構成されており、超過分にペナルティは発生しませんが、ほとんどのISVはリソース使用率を厳密に制御することを望んでいます。
ISVは、テナンシ内の様々なコンパートメント間でテナンシ全体のリソースを分割するためのツールとして、コンパートメントの割当て制限を検討することから始める必要があります。このプリミティブを使用すると、CPUやストレージ・ブロックなどの一般的なリソース、またはGPUやExadataなどの特殊なリソースをコンパートメント全体に割り当てて、テナントに割り当てられるリソースのサイズが大きくなりすぎないように、また一部の特殊なリソースが適所に割り当てられるようにすることができます。
割当て制限はクラウド・リソースに対して機能します。予算の割当てを管理する場合、ISVはOCIの予算を確認する必要があります。この機能を使用すると、各コンパートメントに使用予算を設定し、予算がソフト制限に近づいたとき、またはハード制限を超えたときにアラートを受信できます。この機能は、ISVが複数の顧客にまたがって支出を管理し、将来のリソース増加の必要性を予測するのに役立ちます。
チャージバック
ISVごとにSaaSサービスの価格は異なりますが、多くの価格設定モデルへの一般的な入力の1つに売上原価(COGS)があります。製品の開発と提供にかかるコストを知らなければ、製品の価格を公正に設定する方法と、様々な消費者間でその価格を調整する方法を知ることは困難です。
SaaSサービスには、エンジニアリングやマーケティングのコストなど、価格設定のための入力が数多くありますが、重要な要素の1つはクラウド・ホスティングのコストです。この領域では、OCIのコスト分析が役立ちます。顧客テナント全体の使用状況をコンパートメントやコスト追跡タグによって分割して、動的に視覚化することができます。これらのツールを使用すると、各顧客をホストするためのコストがどれだけかかっているかを理解し、顧客に提示する価格を調整する必要があるかどうかを判断することができます。
視覚化された情報よりも詳細なデータが必要な場合は、より詳細な使用状況データを機械可読形式でエクスポートし、任意のツールを使用してさらに分析することができます。また、ハイブリッド・クラウド環境で運用している場合は、CloudHealthのようなサードパーティのマルチクラウド・ツールを使用して、統合分析を自由に行うことができます。
環境の構築を手作業で行っている組織はほとんどありません。ISVは特に、Terraform、Ansible、PuppetなどのInfrastructure-as-Code (IaC)ツールを使用したインフラストラクチャのオーケストレーションと設定管理の価値を認識しています。IaCは、組織の規模、技術的なフットプリント、導入アプローチに関係なく理想的であると同時に、地域別のフットプリントとインストール基盤を絶えず拡大している成長中のISVにとって特に重要です。自動化がないと、メンテナンスのオーバーヘッドが指数関数的に増大し、管理が困難になります。
OCIは、クラウドニュートラルな自動化戦略の実装を可能にする、業界標準の多数の自動化ツールに対してサポートを提供します。これには、HashiCorp Terraform、Ansible、Chefの製品化されたサポートが含まれます。OCIのすべての機能はSDKとCLIを介して利用できるため、Puppetなどの他の様々なツールと簡単に統合できます。
さらに、OCIはResource Managerと呼ばれるマネージド・サービスを提供することで、Terraformの機能を基盤としています。OCIのお客様に無料で提供されるこのサービスは、TerraformをOCIのポリシー・ベースのセキュリティ・モデルの範囲内から実行できるようにし、すぐに使用できる状態管理、テンプレート作成、リソース検出、GitHub/GitLab統合を提供します。
ISVでは、コードがソフトウェア開発ライフサイクルを進んでいく過程で、自動化されたビルド・ツールとデプロイ・ツールを使用します。シングルテナント提供モデルを検討する場合、1つのデプロイメントが数百のテナント・インスタンスに提供される可能性があるため、強力な自動化がさらに重要になります。それに加えて、これらのデプロイメントは、ダウンタイムを排除するためにローリング方式で実行する必要があることが多く、個々の顧客向けに特定のブランチベースのカスタマイズを処理できるだけの柔軟性も必要です。
OCIは、市場に出ている業界トップクラスのCI/CDツールの大部分をサポートしています。Jenkins、Jenkins-X、Spinnaker、TravisCI、GitHub Actions、CircleCIなどのうち、いずれを使用している場合でも、ソフトウェア・エコシステム内の誰かが任意のツールをOCIで使用しているはずです。
さらに、OCIは使いやすいDevOps Serviceを提供しています。これは、開発者向けのエンドツーエンドの継続的インテグレーションおよび継続的デリバリ(CI/CD)プラットフォームです。ISVは、このサービスを利用して、OCIでソフトウェアを簡単にビルド、テスト、デプロイしたり、ホストされたプライベートGitリポジトリでソース・コードを管理したりできます。
オラクルは、どのISVにも独自の経緯やソース環境、技術アーキテクチャ、導入モデル、ビジネスおよび技術要件があることを認識しています。Oracle Cloud Infrastructure (OCI)に移行するための「万能」アプローチはありません。こうした独自の要素をすべて検討し、OCIの機能を活用するときに考慮に入れる必要があります。
オラクルの「上質な」ISV移行アプローチの重要な要素は、アーキテクト、ビジネス・コンサルタント、専門エンジニアを集結してクラウド・ソリューションの設計を支援するエンゲージメント・プロセスと、ISVと協力してワークロードをOCIに移動するCloud Lift Servicesです。
オラクルがISVの分野でユニークなのは、戦略、Go-to-Market (GTM)、アーキテクチャ、実装の各レイヤーでお客様に1対1でエンゲージし、オラクルのエキスパートと貴社をペアにして、クラウドでの要件を共同で満たしたいと考えている点です。