Jump to section
価格設定

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

URL をコピー

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

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

関連資料

学ぶ

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

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

ダウンロード

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

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

レポート

IDC Quarkus ラボ検証レポート

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

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

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

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

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