Cloud Publishing Microservice のアーキテクチャとパフォーマンス分析
この記事では、新しいクラウドパブリッシングマイクロサービスのアーキテクチャとパフォーマンスの数に関するインサイトを共有します。
クラウド上の既存の公開ワークフローに関する問題
DITA 公開は、主に使用可能なシステムメモリと CPU に依存する、リソースを集中的に消費するプロセスです。 公開者が多数のトピックを含む大きなマップを公開している場合や、複数の並列公開リクエストがトリガーされている場合は、これらのリソースの必要性がさらに高まります。
新しいサービスを使用していない場合、すべての公開は、AEMクラウドサーバーも実行している同じ Kubernetes(k8) ポッドで行われます。 一般的な k8 ポッドは、使用できるメモリと CPU の容量に制限があります。 AEM Guide のユーザーが大規模なワークロードまたは並列ワークロードを公開している場合、この制限は迅速に違反する可能性があります。 K8 は、設定された制限を超えるリソースを使用しようとしているポッドを再起動します。このポッドは、AEMクラウドインスタンス自体に重大な影響を与える可能性があります。
このリソースの制約は、クラウド上で複数の同時および大規模な公開ワークロードを実行できる専用サービスを考え出す主な動機となりました。
新しいアーキテクチャの概要
このサービスは、App Builder、IO Eventing、IMS など、Adobeの最先端のクラウドソリューションを使用して、サーバーレスのオファーを作成します。 これらのサービスは、Kubernetes や docker など、広く受け入れられている業界標準に基づいています。
新しい発行マイクロサービスへの各リクエストは、分離された Docker コンテナで実行されます。このコンテナは、一度に 1 つの発行リクエストのみを実行します。 新しい公開リクエストが受け取られた場合、複数の新しいコンテナが自動的に作成されます。 この単一のコンテナは、リクエスト設定ごとに使用でき、セキュリティ上のリスクを冒すことなく、マイクロサービスが最高のパフォーマンスを顧客に提供できます。 これらのコンテナは、公開が終了すると破棄され、未使用のリソースが解放されます。
これらの通信はすべて、JWT ベースの認証と承認を使用したAdobe IMSによって保護され、HTTPS 経由で実行されます。
{width="600"}
パフォーマンス分析
この節では、マイクロサービスのパフォーマンスの数を示します。 古いクラウドアーキテクチャは同時公開や非常に大きなマップの公開で問題を抱えていたので、マイクロサービスのパフォーマンスとAEMガイドのオンプレミス機能を比較します。
オンプレミスで大きなマップを公開する場合は、Java ヒープパラメーターを調整する必要が生じる場合があります。調整しないと、メモリ不足エラーが発生する場合があります。 クラウド上では、マイクロサービスは既にプロファイル化されており、最適な Java ヒープおよびその他の設定が初期設定で用意されています。
クラウド上でのパブリッシュとオンプレミスでのパブリッシュの比較
-
クラウド
新しいサービスを使用してクラウドで単一の公開を実行する場合、単一のオンプレミス公開と比較すると、公開に少し時間がかかる場合があります。 このわずかな時間の増加は、新しいクラウドアーキテクチャの分散性が原因です。
{width="600"}
-
オンプレミス
AEMが実行されている同じポッド/マシンで完全な公開がおこなわれるので、古いクラウドアーキテクチャやオンプレミスでは、単一公開の結果がより適しています。
{width="600"}
クラウドでの複数の公開の実行とオンプレミスでの複数の公開の実行
-
クラウド
このシナリオでは、新しい公開マイクロサービスが表示されます。 以下の画像からわかるように、同時公開ジョブが複数増えるにつれ、クラウドでは公開時間を大幅に増やすことなくジョブを公開できます。
{width="600"}
-
オンプレミス
オンプレミスサーバーで同時に公開すると、パフォーマンスが大幅に低下します。 パブリッシャーがさらに多くのマップを同時にパブリッシュする場合、このパフォーマンス低下はより厳しくなります。
{width="600"}
その他のメリット
マイクロサービスに送信される正しい公開コンテンツを取得するには、各公開リクエストの一部をAEMインスタンスで実行する必要があります。 新しいクラウドアーキテクチャでは、古いアーキテクチャと同様に、AEMワークフローの代わりにAEMジョブが使用されます。 この変更により、AEMガイドの管理者は、他のAEMジョブやワークフロー設定に影響を与えることなく、クラウドの公開キューの設定を個別におこなうことができます。
新しいパブリッシュマイクロサービスの設定方法の詳細については、次を参照してください。 Microservice の設定