お問い合わせ
アカウント ログイン
Jump to section

Red Hat OpenShift で Quarkus を使用して Java アプリケーションを開発する理由

URL をコピー

Java™ は依然として開発者の間で最も人気のあるプログラミング言語ですが、コンテナKubernetes に関しては欠点があります。Quarkus によって、現在 700 万人を超える Java 開発者が、習熟しているフレームワークで新しいアプリケーションの構築を続けられています。

Quarkus アプリケーションはコンテナでの実行が意図されており、デプロイをさらに容易にするために Red Hat OpenShift には Quarkus がネイティブで統合されています。Red Hat OpenShift 上の Quarkus では、開発者は使い慣れたツールを利用したり、Red Hat CodeReady Workspaces などの IDE を使用したクラスタ上でのリモート開発、マネージド構成との統合、サーバーレス・ワークロードのデプロイ、アプリケーション・ストレージの管理を実行したりできます。

Quarkus は、汎用 API クライアントや Kubernetes ConfigMaps を使用した動的アプリケーション構成など、Kubernetes API との統合も可能です。Red Hat OpenShift を購入すると、Quarkus の Red Hat サブスクリプションとサポートが付属します。

Quarkus は開発者を念頭に置いて設計されています。開発者の生産性とは、状況が激しく変化し続ける市場に、新しいアプリケーションを迅速に開発およびデプロイすることで、よりすばやく対応できることです。Quarkus は、迅速な内部ループ開発向けのライブコーディング、Red Hat CodeReady Workspaces などの IDE 統合、従来の Java 標準を超える API などの機能により、開発者の生産性向上を支援します。Quarkus によって開発者は、MicroProfile などの標準、Spring Framework API、その他の既存の一般的なフレームワークを組み合わせて使用し、Kubernetes で Quarkus の効率性を活用できます。

現在の Spring Boot アプリケーションの Quarkus および Red Hat OpenShift への移行は、考えているよりも簡単に実行できます。アプリケーション移行ツールキット (MTA) を使うと、多様な変換パス (Java EE、JDK、Linux、コンテナ化、Quarkus など) に対応するソースコード、さらにはバイナリーを分析して Java アプリケーションのポートフォリオを確認でき、移行プロセスを迅速に進められます。

Spring Boot から Quarkus への移行に対する広範なサポートは、MTA リリース 5.1 で提供されます。

Quarkus は、従来の Java 仮想マシン (JVM) 上で実行されるか、ネイティブにコンパイルされた実行可能ファイルとして実行される、Kubernetes ネイティブの Java アプリケーションを構築するためのフレームワークです。Quarkus は、起動時間とメモリー使用量を最小限に抑えて、既存の Java フレームワークおよび開発者ツールと統合して、アプリケーションの開発とデプロイを迅速化します。Quarkus は、サーバーレス、マイクロサービス、コンテナ、Kubernetes、その他のアプリケーションタイプを扱う Java アプリケーションをハイブリッドクラウドで実行するのに役立ちます。

Quarkus のコンセプト

Quarkus は、OpenJDK などの従来の Java 仮想マシン (JVM) ランタイム向けのコンパクトで効率的なアプリケーションを作成するために設計され、ネイティブな実行可能バイナリーを作成してさらなる最適化を可能にします。ここで重要なことは、ビルドの段階でできるだけ事前作業をしておくことで、この作業はアプリケーションのライフタイムの中で 1 回しか発生しません。ビルド段階で、Quarkus はまずアプリケーションを従来の Java バイトコードにコンパイルし、続いて、構成のロードと解析、アノテーションの処理、フレームワークのメタモデルの構築を行って、すべてを従来の実行可能 Java アプリケーション (JAR ファイル) にまとめます。アプリケーションが起動するランタイムでは、これらのステップを実行するためのメモリー、CPU、時間のいずれも必要ではないため、起動時間が大幅に短縮されます。

ネイティブコンパイル

Quarkus アプリケーションをネイティブ実行可能ファイルにコンパイルすることで、さらに効率を向上できます。Mandrel (GraalVM のダウンストリーム・ディストリビューション) を使用してアプリケーションを分析し、「デッドコード」(ランタイムでアクセスされることのないコードパス) を検出し、これをアプリケーション実行可能ファイルから取り除きます。これによって、起動時間が数十ミリ秒、ランタイムで必要なメモリーが数十メガバイトのコンパクトで軽量なアプリケーションになります。

関連資料

学ぶ

Quarkus をブラウザーで体験する

Red Hat OpenShift 上の Quarkus をブラウザーで直接試します。

ダウンロード

Quarkus アプリケーションを Quarkus の Red Hat ビルドで開発する

お好みの開発環境で新しいプロジェクトを生成し、Quarkus の開発の詳細を学習します。

レポート

IDC Quarkus ラボ検証レポート

開発者と事業者の両方について、効率と開発者の生産性の面で Quarkus と従来の Java とを比較します。

先進的なアプリケーション開発のための Kubernetes 基盤

クラウドネイティブ・アプリケーションのデプロイメントを迅速化するコンテナプラットフォーム。

アプリケーションの構築、デプロイ、スケーリングのためのマネージド・クラウドサービス。

クラウドネイティブ・アプリケーションの開発に適したランタイムとフレームワークを提供します。

コンテナ向けのソフトウェア・デファインド・ストレージ。

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。