第1章 Fuse 7 アプリケーションの Red Hat build of Apache Camel for Quarkus への移行の概要
Fuse
Red Hat Fuse は、Apache Camel や Apache Karaf などのオープンソースコミュニティーに基づくアジャイル統合ソリューションです。Red Hat Fuse は軽量かつ柔軟性のある統合プラットフォームで、オンプレミスのクラウドの迅速な統合を可能にします。
Red Hat Fuse は、次の 3 つの異なるランタイムを使用して実行できます。
- OSGi アプリケーションをサポートする Karaf
- Spring Boot
- JBoss EAP (Enterprise Application Platform)
Red Hat build of Apache Camel for Quarkus
Red Hat build of Apache Camel for Quarkus は、Apache Camel とその膨大なコンポーネントライブラリーの統合機能を Quarkus ランタイムに提供します。Red Hat build of Camel Quarkus は、多くの Camel コンポーネントに Quarkus エクステンションを提供します。
Camel Quarkus は、Camel 3 に追加された多くのパフォーマンス上の改善点を活用します。これにより、メモリーフットプリントが削減され、リフレクションへの依存が減り、起動時間が短縮されます。
Red Hat build of Apache Camel for Quarkus アプリケーションでは、Java DSL を使用して Camel ルートを定義するため、Fuse アプリケーションで使用する Camel ルートを CEQ に移行できます。
Camel on EAP
OSGI 依存関係管理の概念に従う Karaf と、JEE 仕様に従う EAP は、コンテナー化されたアプリケーションの採用によって影響を受けるアプリケーションサーバーです。
コンテナーは、アプリケーションをパッケージ化するための主要な方法として出現しました。その結果、デプロイメント、スケーリング、クラスタリング、負荷分散を含むアプリケーション管理の役割が、アプリケーションサーバーから Kubernetes を使用したコンテナーオーケストレーションに移りました。
EAP は Red Hat Openshift で引き続きサポートされますが、Camel 3 は EAP サーバーではサポートされなくなりました。したがって、EAP サーバー上で Fuse 7 アプリケーションを実行している場合は、アプリケーションを Red Hat Build of Apache Camel for Spring Boot または Red Hat build of Apache Camel for Quarkus に移行することを検討する必要があります。その際には、移行プロセスを利用して、モノリスアーキテクチャーからマイクロサービスアーキテクチャーへのアプリケーションの再設計、または部分的な再設計を検討することを推奨します。
Openshift を使用しない場合は、Spring Boot および Quarkus 用にアプリケーションをデプロイする際には RHEL 仮想マシンが引き続き有効なアプローチであり、Quarkus はネイティブコンパイル機能のメリットも享受します。このようなプラットフォーム上でマイクロサービスアーキテクチャーの管理をサポートするツールを評価することが重要です。
Red Hat は、Red Hat Ansible for Middleware コレクション を使用し、Ansible を通じてこの機能を提供します。
1.1. 標準的な移行パス リンクのコピーリンクがクリップボードにコピーされました!
1.1.1. XML パス リンクのコピーリンクがクリップボードにコピーされました!
Spring XML または Blueprint XML で記述された Fuse アプリケーションは、XML ベースのフレーバーに移行する必要があり、Spring Boot または Quarkus ランタイムのどちらかをターゲットにできます (移行手順はどちらも同じです)。
1.1.2. Java パス リンクのコピーリンクがクリップボードにコピーされました!
Java DSL で記述された Fuse アプリケーションは Java ベースのフレーバーに移行する必要があり、移行手順は同じままで Spring Boot または Quarkus ランタイムのいずれかをターゲットにできます。