Kubernetes Native

Quarkusアプリケーションはコンテナ内で実行されるように設計されています。

QuarkusとKubernetesの組み合わせは、スケーラブルで高速、かつ軽量なアプリケーションを作成するための理想的な環境を提供します。Quarkusは、ツール、事前に構築された統合、アプリケーションサービスなどにより、開発者の生産性を大幅に向上させます。

Kubernetesネイティブなフレームワークとはどういうことでしょうか?

シングルステップのデプロイメント

Quarkusでは、基盤となるKubernetesフレームワークの複雑な仕組みを理解することなく、マイクロサービスアプリケーションをKubernetesに簡単にデプロイできます。KubernetesやKubernetesのディストリビューションに対応したエクステンションが用意されており、必要最小限の設定変数のみでこのプロセスを促進することができます。

Quarkus Kubernetes エクステンションを使用することで、開発者はJib、Docker、Source-to-Image(S2i)を使用したシングルステップのデプロイメントを実行または自動化することができます。 詳細はガイドをご覧ください。

さらに、Quarkusには、サーバーレスマイクロサービスをAWS Lambda、Azure Functions、Google Cloud FunctionsなどのクラウドプロバイダーやKnativeに簡単にデプロイできるエクステンションが含まれており、Quarkusアプリケーションの高速起動を利用することができます。 詳細はガイドをご覧ください。

トレース & デバック

Quarkusは、トレースやデバッグなど、Kubernetes上の分散型マイクロサービスアプリケーションをトラブルシューティングするためのツールと機能を開発者に提供します。

Quarkusでは、ベンダーを問わないAPIであるOpenTracingを利用して、開発者がコードベースに簡単にトレースを組み込むことができます。分散型トレースは、障害が発生した場所やパフォーマンス低下の原因を特定するのに役立ちます。 詳細はガイドをご覧ください

アプリケーションヘルス & メトリクス

Quarkusは、MicroProfile Health仕様の実装であるSmallRye Healthを活用しています。これにより、自動化されたプロセスがアプリケーションを廃棄すべきか再起動すべきかを判断できなければならないKubernetes環境において、アプリケーションがその状態に関する情報を外部のビューアーに提供できるようになります。 詳細はガイドをご覧ください。

Quarkusは、ランタイムメトリクスとアプリケーションメトリクスのために、Micrometerメトリクスライブラリを利用しています。このライブラリは、最も一般的なモニタリングシステムのためのシンプルなファサードを提供し、ベンダーロックインなしでJVMベースのアプリケーションコードを計測します。詳細はガイドをご覧ください

アプリケーション設定

Quarkusには、開発者がKubernetes ConfigMapsやSecretsをQuarkusアプリケーションを実行しているPodにマウントしたり、Kubernetes Deployment(またはOpenshift DeploymentConfig)に他の変更を加えたりすることなく、設定ソースとして使用できるエクステンションが含まれています。 詳細はガイドを参照してください。

リモート開発

アプリケーションが実行されるのと同じ環境で、アプリケーションの作成やデバッグを行うことができます。クラスタ化されたKubernetes環境において、ローカルで行われた変更がすぐに反映される開発モードでのライブコーディング。 このブログ記事を読むと、詳細な知見が得られます。