2024.12.17

パッケージ化が複雑なアプリケーションを Cloudpagingでパッケージ化する方法【トゥモロー・ネット テックブログ】

最新のWindows OSで複雑なアプリケーションを動作させるため

お客様とのミーティングやデモンストレーション、コミュニティイベントでよく尋ねられる質問の1つが、「Cloudpagingコンテナはどのようにして複雑でリソースを多く消費するアプリケーションに対応するのか」ということです。軽量なアプリケーション(例:インターネットブラウザ)を扱う解決策に興味を持つユーザーはほとんどいません。むしろ、多くのユーザーが「複雑なアプリケーションをどのようにパッケージ化できるのか」を知りたがります。デモ中に複雑なレガシーアプリケーションのパッケージ化を含むライブデモを目にすると、通常、「パッケージ化できないものは何か?」という質問に変わります。

実際のところ、Cloudpaging技術の柔軟性により、望むのであればどのアプリケーションでもパッケージ化可能です。ただし、Windowsオペレーティングシステムに密接に結びついているため、パッケージ化を推奨しないアプリケーションが2つあります。それは、Microsoft 365スイート(旧Office 365)と.NET Frameworkです(ただし、.NET Coreおよびデスクトップランタイムは問題なく動作します)。

この記事では、Cloudpagingコンテナを活用して複雑なアプリケーションをパッケージ化し、アプリケーションの互換性を最大化し、展開を迅速化し、更新を効率化する方法をいくつかの例を通じてご紹介します。

Cloudpagingは互換性と展開成功率を最大化

Cloudpagingアプリケーションコンテナは、他のソリューションでは対応できないさまざまなアプリケーションの課題に対処する独自の機能を備えています。そのきめ細かな処理配置レイヤーにより、アプリケーションのコンポーネントをシステムや他のアプリケーションに統合するか、または分離するかを選択する柔軟性を提供します。
たとえば、アプリケーション全体を分離することも、一部のDLLファイルのみを分離し、他のすべてのコンポーネントを分離せずに維持することもできます。

Cloudpagingの配置レイヤー

  • 分離配置(レイヤー4): アセットは「コンテナ」に読み込まれ、アプリケーション自体からのみ見える状態になります。
  • 統合配置レイヤー3): アセットは「コンテナ」に読み込まれ、アプリケーション自体、ローカルシステム、および他のアプリケーションから見える状態になり、まるでネイティブにインストールされているかのように振る舞います。
  • ローカル配置レイヤー2またはレイヤー1): 物理的なディスポジション配置となりで、アプリケーションのアセットをOS上にページングします。非アクティブ化時に元のコンテンツを復元するオプションもあります。

この記事で触れられている課題や、それ以外の課題(たとえば複雑なライセンス管理サービス)も、コンテナ技術と「設定可能なアプリケーションイベント(CAEs)」機能を組み合わせることで対応可能です。この機能により、仮想化プロセスの異なる段階でスクリプトを実行できます。これにより、コマンドラインから実行可能なアクションであれば何でも実行できるという無限の柔軟性が得られます。
次に、Cloudpagingを使用してお客様がどのように複雑なアプリケーションをコンテナ化し、プロビジョニングしているかを見ていきましょう。

CADアプリケーション

CADアプリケーションは、現代の企業で使用される中で最大かつ最もリソースを消費するアプリケーションの一つです。これらのアプリケーションは建設業界や建築業界でしか使用されないと思われがちですが、実際はそうではありません。世界的な大企業の多くが、業種を問わず、一部の従業員が業務にCADアプリケーションを必要としています。

これらのアプリケーションでネイティブインストーラーを使用して展開しようとすると、展開に非常に長い時間がかかる場合があります。また、長時間のインストール中に発生する中断は、展開の失敗につながることがよくあります。さらに、複数の前提条件をインストールする必要があるため、従来のソリューションでは展開失敗が頻発します。
しかし、Cloudpagingコンテナを使用することで、CADアプリケーションの管理にDevOpsの能力を即座に拡張し、展開を加速させ、アクティブなユーザーセッションを含むエンドユーザーへの動的なプロビジョニングと更新が可能になります。また、Cloudpagingによるコンテナ化により、これらのCADアプリケーションを収容するための余分な仮想デスクトップイメージを必要としなくなるのです。これにより、他のアプリケーションとシームレスに共存でき、プラグイン(例:Rhino Inside Revit)との相互運用性を維持しながら、競合を回避できます。

連鎖する依存関係

プルーフ・オブ・コンセプト(POC)の過程では、通常、顧客に代わってアプリケーションをパッケージ化します。この際、顧客は通常、最も複雑で難しいアプリケーションを選んできます。ある医療系のクライアントでは、「RightFax」という製品を選びました。一見すると、仮想化するのが難しいとは思えないアプリケーションですが、RightFaxは複数の前提条件やOfficeアドインをインストールし、インストール完了のために再起動が必要なことも多くあります。このため、デスクトップチームが物理的なエンドポイント全体でRightFaxを更新する際の管理が面倒になっていました。彼らは、RightFaxとそのすべてのコンポーネントをコンテナ化することができればよりオペレーションがスムーズになると考えました。他のソリューションでは、ドライバーやOfficeアドインが原因で動的な配信が不可能だったのです。
Cloudpagingを使用して、Crystal ReportsやVisual C++再頒布可能パッケージのような前提条件の一部を分離配置(レイヤー4)の仮想サンドボックスにパッケージ化しました。一方で、メインアプリケーションとOfficeアドインは統合配置(レイヤー3)にパッケージ化し、アドインとデスクトップ上の他のアプリケーション間の相互運用性を確保しました。このパッケージの作成にはわずか数分しかかからず、連鎖するインストーラーやエンドユーザーデスクトップの再起動による混乱で失われていた膨大な時間とストレスを削減できました。

Visual Studio

Visual Studioはお問い合わせの多いアプリケーションの1つです。これはまた非常に大規模なアプリケーションで、多数の依存関係をインストールします。そのサイズは40GBを超えることもあります。さらに、異なる開発者がそれぞれ異なるワークフローや追加のインストールパックを必要とするため、複雑さが増します。
プラグインは別としても、Visual Studioをネイティブのインストールメディアを使用して高性能の開発用デスクトップにインストールする際、初回起動には依然として長い時間がかかります。
要するに、このアプリケーションはデスクトップ管理者がプロビジョニングする際に課題をもたらし、開発者にとってはフラストレーションの原因となります。一部の企業は、フルローカル管理者権限を持つアカウントを提供することで課題を解決しようとしますが、これはリスクを増大させます。厳密に管理された環境では、Visual Studioに関連するすべてのインストーラーを解析してパッケージ化することが非常に面倒で時間がかかります。
Cloudpagingアプリケーションコンテナを使用することで、多数の依存関係をインストールする際のリスクを排除するだけでなく、これらをコンテナに取り込むことも可能です。また、追加のワークロード用のコンテナを作成し、それらを開発者に提供する内容を組み合わせることもできます。そのことで初回起動のパフォーマンスは大幅に向上させることが可能です。Cloudpagingでは、アプリケーションの最初の5~10%だけを起動に必要な分だけプロビジョニングするためです。初回起動時間は、ML(機械学習)を活用したプリフェッチ機能を使用することでさらに改善可能です。この機能は、アプリケーション起動に必要なコンポーネントを特定し、開発者が作業を開始するのに十分な部分だけを動的にプロビジョニングします。その後、開発者が作業を進める間に、Cloudpagingは残りのアプリケーションコンポーネントをバックグラウンドで継続的にプロビジョニングします。

カスタムインストールマネージャー

一部のベンダーは、企業のITチームがアプリケーションを管理するために使用する独自のインストールマネージャー製品を提供しています。このことは、従来のソフトウェア配布ソリューションを使用する場合、企業はインストールマネージャーソフトウェア自体の保守を従業員が使用するソフトウェアの管理に加えて行う必要があり、さらに複雑さが増す要因になっています。
インストールは通常、ソフトウェア配布ソリューションを介して管理されますが、デバイス上でインストールマネージャーを実行することで行われます。このインストールマネージャーやその関連プロセスの特注性は、最も経験豊富なデスクトップ管理者にとっても難しいものです。
そこで、Cloudpagingを活用することで、すべてのデスクトップにインストールマネージャーを展開する必要性を回避できます。代わりに、パッケージングマシンにインストールマネージャーを含め、それを使用してメインアプリケーションをCloudpaging・コンテナにキャプチャすることができます。このコンテナは、物理および仮想のWindowsデスクトップ環境で再利用可能です。

Javaアプリケーション

Cloudpagingコンテナを使用したJavaアプリケーションの管理に関するお問い合わせが急増しています。その理由はさまざまですが、ライセンス変更、Java Web Startの廃止などが背景にあるのでしょう。
Cloudpagingを活用して、レガシーバージョンのJavaやランタイム環境を安全に管理することができ、ユーザーターゲティングの標準化が可能になり、必要な従業員のみにJavaを提供することが可能です。また、Cloudpagingコンテナを利用して、Java Web Startのオープンソース代替品を安全にプロビジョニングしていすることもできます。

Cloudpagingは複雑なアプリケーション展開の成功を実現するソリューション

この記事では、Cloudpagingアプリケーションコンテナのユースケースの一部を紹介しました。
どのような課題であっても、Cloudpaningはアプリケーションをコンテナ化し、複雑なアプリケーションポートフォリオの管理で生じる頭痛の種を解消するお手伝いが可能です。
詳細は是非お問合せください。

製品についてより詳しく知りたい方は、下記より是非お問合せください。
https://www.tomorrow-net.co.jp/contact/

本ブログは下記の英語ブログの抄訳です
https://www.numecent.com/2024/10/30/package-difficult-applications-into-cloudpaging-containers/

関連記事

Windows 11のマイグレーションを成功に導くためには?
レガシーアプリケーションの脆弱性回避と延命~Numecent Cloudpagingによるパッケージ化のメリットとは
Numecent Cloudpaging(クラウドページング)とは? アプリケーション仮想化で注目される技術について特徴や導入メリットを解説

この記事の筆者

株式会社トゥモロー・ネット

クラウドソリューション本部

製品のお問い合わせはこちらから

トゥモロー・ネットは「ITをもとに楽しい未来へつなごう」という経営理念のもと、感動や喜びのある、より良い社会へと導く企業を目指し、最先端のテクノロジーとサステナブルなインフラを提供しています。設立以来培ってきたハードウェア・ソフトウェア製造・販売、運用、保守などインフラに関わる豊富な実績と近年注力するAIサービスのコンサルティング、開発、運用、サポートにより、国内システムインテグレーション市場においてユニークなポジションを確立しています。
インフラからAIサービスまで包括的に提供することで、システム全体の柔軟性、ユーザビリティ、コストの最適化、パフォーマンス向上など、お客様の細かなニーズに沿った提案を行っています。

ページトップへ戻るボタン