Quarkus とは

URL をコピー

Quarkus は、Java 仮想マシン (JVM) およびネイティブコンパイルのために作成されたフルスタックの Kubernetes ネイティブ Java フレームワークで、Java をコンテナに最適化し、サーバーレスクラウドKubernetes の各環境で効果的なプラットフォームとして使用できるようにします。

Quarkus は、一般的な Java 標準、フレームワーク、および Eclipse MicroProfile、Spring、Apache Kafka、RESTEasy (JAX-RS)、Hibernate ORM (JPA)、Spring、Infinispan、Camel およびその他多数のライブラリと連携して機能します。

Quarkus のディペンデンシーインジェクション (依存性の注入) ソリューションは CDI (コンテキストと依存性注入) をベースとし、拡張フレームワークを備えているので、機能の拡張、およびフレームワークの設定、起動、アプリケーションへの統合が可能です。拡張機能の追加は依存性の追加と同様に容易で、Quarkus ツールを使用できます。

また、正しい情報を GraalVM (Java および JavaScript を含むさまざまな言語で作成されたアプリケーションを実行する汎用仮想マシン) に提供してアプリケーションをネイティブにコンパイルします。

 

Quarkus は、最初から簡単に使える設計で、わずかな設定または設定不要で動作する機能を備えています。

開発者は任意の Java フレームワークを選択してアプリケーションで使用でき、アプリケーションは JVM モードで実行することも、コンパイルしてネイティブモードで実行することもできます。

開発者の使いやすさを主眼として設計された Quarkus には、次の機能も搭載されています。

  • 開発者がコード変更の影響を即座に確認してすぐにトラブルシューティングできる、ライブコーディング
  • 組み込みのマネージドイベントバスによる統一された命令型およびリアクティブ・プログラミング
  • 統一された構成
  • ネイティブ実行可能ファイルの容易な生成

Red Hat のリソース

アプリケーションがパブリッククラウドでホストされていても内部でホストされている Kubernetes クラスタ内にあっても、高速起動や低メモリー消費などの特長は、全体的なホストのコストを抑制するために重要です。

コンテナファーストの理念に基づいて構築されており、メモリー消費量を抑えて起動時間を短縮できるよう、次の方法で最適化されています。

  • 最高レベルの Graal/SubstrateVM のサポート
  • Build-time メタデータ処理
  • リフレクション使用の削減
  • ネイティブイメージのプリブート

つまり、Quarkus でアプリケーションを構築すると従来の Java と比較してメモリー使用量が 10 分の 1 になります。起動時間は高速になり (300 倍程度)、いずれもクラウドリソースのコスト削減に大きく貢献します。

Quarkus はアプリケーション開発時に、馴染みのある命令型コードとノンブロッキングでリアクティブなスタイルをシームレスに組み合わせています。

これは、命令型モデルの処理に慣れていてやり方を変えたくない Java 開発者にも、クラウドネイティブやリアクティブアプローチで作業する開発者にも便利です。

Quarkus 開発モデルは、どのようなアプリケーションを開発する場合でも自己適応できます。

Quarkus はサーバーレス・アーキテクチャ、マイクロサービス、コンテナ、Kubernetes、Function-as-a-Service (FaaS)、クラウドのすべてを考慮して作成されているので、これらからなる新しい領域で Java を実行する効果的なソリューションとなっています。

Quarkus での命令型とリアクティブの組み合わせについて詳しく知る
ハブ

Red Hat 公式ブログ

Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

プラットフォームエンジニアが Red Hat OpenShift を選ぶ理由

Red Hat OpenShift は、開発基盤の効果的な構築と管理を可能にするツールを提供し、プラットフォームエンジニアリングによる DevOps を支える協業プラットフォームです。

アプリケーションの移行とは

アプリケーションの移行とは、アプリケーションをある環境から別の環境へと移すことでワークロードを改善できるプロセスのことです。

SDK (ソフトウェア開発キット) とは | Red Hat

SDK はソフトウェア開発キット (Software Development Kit) の略称で、プラグラムや API、開発ドキュメント等を含む、アプリケーション開発に必要なツール一式を指します。

アプリケーションの開発と提供リソース

関連記事