AEM Assets as a Cloud Serviceのアセットマイクロサービス(Tech Blog)

Adobe Experience Manager Assets as a Cloud Serviceは、大規模なアセットの管理やダイナミックメディア操作を処理するために、アセットマイクロサービスが独自の役割を果たしています。今回はこのアセットマイクロサービスについて紹介させていただきます。

風になびくタルチョ(Asset Microservicesのイメージ画像)

By Miki Hagiwara

Posted on 07-01-2021

Adobe Experience Manager Assets as a Cloud Serviceは、大規模なアセットの管理やダイナミックメディアの操作を処理するために、クラウドネイティブなソリューションを提供します。この投稿では、Adobe Experience Manager Assets as a Cloud Serviceの利点と、クラウドサービスに独自に実装されたこのアセットマイクロサービスが、アセット処理のパフォーマンスと速度にどの様に貢献しているか紹介させていただきます。

まず、Adobe Experience Manager Assets as a Cloud Serviceとアセットマイクロサービスについては、両方が常に最新の機能を備えていると言うことがポイントです。Adobeは、AEM Assetsとアセットマイクロサービスの両方に日次のホットフィックスのリリースと同様に、アセットマイクロサービスの基本イメージを日次でアップデートしています。さらに、Adobe Experience Manager Assets as a Cloud Serviceでは新機能を月次でリリースし、アセットマイクロサービスは新機能を週次でリリースしています。

Adobe Experience Manager Assets as a Cloud Serviceのアーキテクチャーは、アセット処理のパフォーマンスを向上させるために独自の設計が実装されています。具体的には、Webブラウザーなどのクライアントからアップロード要求がAdobe Experience Managerに送信された後、バイナリアセットはクラウドストレージに直接アップロードされます。これが完了するとAEMに通知が行われ、AEMからアセット処理要求がアセットマイクロサービスに送信されます。アセットマイクロサービスはクラウドネイティブな方法で、アセットを処理します。処理プロファイルはAEMプラクティショナー(AEM実務担当者)によりAEM Assets上で構成され、生成するレンディションやその他のタスクが指定されます。

全体像は以下の様になります:

図:AEM Assetsとアセットマイクロサービス/事前にプラクティショナーが構成したプロファイルに基づき、アセットが処理される。

AEM Assetsとアセットマイクロサービス

このクラウドネイティブなアセットマイクロサービスを使用することで、以下の様なメリットがあります。

さらに、後続処理を行うためのカスタムワークフローを設定することができます。たとえば、ワークフローを使用してエンタープライズシステムからデータをフェッチし、アセットプロパティに追加することができます。この方法における利点、そしてリソースの節約ポイントは、ワークフローランチャーを使用せずに、直接、実行できることです。これによりリソースを大幅に節約できます。

このアーキテクチャーを採用したことにより、Adobeは、アセットのアップロード処理が2倍から10倍高速になると見積もっています。さらに需要が増加しても、マイクロサービスを使用したアーキテクチャーになっているため、柔軟に拡張できます。この図は、マイクロサービスアーキテクチャを使用することで何が発生するかと、その利点を詳細に示しています。

図:アセットマイクロサービスのフロー/①アップロード、②アセット処理、③後続処理ワークフロー

アセットマイクロサービスのフロー

アセットがクラウドストレージに直接読み込まれるので、このアーキテクチャーはより高速な処理を提供できます。これにより、ネットワークのボトルネックが回避され、アプリケーションの負荷が軽減されます。さらに、グローバルに分散されたユーザーはグローバルCDNエッジネットワークを使用してサポートされます。 セキュアなプロセスの全体像は次のようになります。

図:アセットをクラウドストレージへ、直接、取り込み/アップロードはCDN経由で署名されたURLに直接アップロード

アセットをクラウドストレージへ、直接、取り込み

これはオンプレミス版やAdobe Managed Services版のAEMを大幅に改善したものとなっています。この図はAEM as a Cloud Serviceのアセット処理をAEM6.5およびその前のバージョンと比較したものです。

図:クラウドサービスと以前のバージョンの比較/ストレージ直なのでアセットの取り込みに帯域幅をフル活用できる。

クラウドサービスと以前のバージョンの比較

ご覧のとおり、最適化されたルーティングがCDNエッジネットワークを介して提供されるため、遅延が減少し、帯域幅の制約が少なくなります。古いバージョンのAEMでは仮想マシンのサイズによって制限がかかっていました。さらに、バイナリクラウドストレージにアップロードされる前に、JVMを介してストリーミングされ、読み取り/書き込み操作に依存してディスク上に永続化されていました。クラウドネイティブソリューションは、これらの効率を大幅に向上させます。

アセットマイクロサービスは、サーバーレスのAdobe I/Oランタイムで実行されます。以前のバージョンのAEMではワークフローを並行して処理するため、使用できるCPUのコア数に依存していました。これがアセットマイクロサービスに完全にオフロードされ、自動的にスケーリングされます。さらに、標準の処理プロファイル以上のことを実行したい場合に、Adobe I/Oはテナントと完全に分離されたサードパーティのコードを実行できます。これにより柔軟なスケーリングとともに、カスタムアセット処理の驚異的なパワーを利用することができます。

図:アセットマイクロサービスの構成/VMのスペックに依存せず、自動的なスケーリングも行われる。

さらにプロセスを確認して、Dynamic Mediaがどのように適合するかを理解しましょう:

  1. ユーザーはアセットをクラウドストレージにアップロードし、アップロードを確認するメッセージをAEMに送信します。
  2. AEMは、これらのアセットを処理するためにアセットマイクロサービスを呼び出します。同時に、AEMはDynamic Mediaも呼び出します。この時、直接、クラウドストレージからバイナリアセットをプルします。

図:アセットマイクロサービスとDynamic Mediaの連携/アセットマイクロサービスと同時にDynamic Mediaが呼び出される。

アセットマイクロサービスと統合されたAEM Assetsはアセット処理を高速化し、そしてDynamic Mediaを使用するためのパワフルなアーキテクチャーを提供します。Adobe Experience Leagueではデジタルアセット、アセットマイクロサービス、Dynamic Media、そしてAdobe I/Oについて学ぶためのチュートリアルやビデオなどを提供しています。

この記事は2021年4月に公開されたAdvantages of AEM Assets as a Cloud Serviceを抄訳したものです。

Topics: デジタルトランスフォーメーション, 体験構築とコンテンツ活用, DX 活用事例, コンテンツ管理,

Products: Experience Cloud, Experience Manager,