Kubernetes Native
Quarkusアプリケーションはコンテナ内で実行されるように設計されています。
QuarkusとKubernetesの組み合わせは、スケーラブルで高速、かつ軽量なアプリケーションを作成するための理想的な環境を提供します。Quarkusは、ツール、事前に構築された統合、アプリケーションサービスなどにより、開発者の生産性を大幅に向上させます。
Kubernetesネイティブなフレームワークとはどういうことでしょうか?
シングルステップのデプロイメント
Quarkusでは、基盤となるKubernetesフレームワークの複雑な仕組みを理解することなく、マイクロサービスアプリケーションをKubernetesに簡単にデプロイできます。KubernetesやKubernetesのディストリビューションに対応したエクステンションが用意されており、必要最小限の設定変数のみでこのプロセスを促進することができます。
Quarkus Kubernetesエクステンションを使用すると、開発者はJib、Docker、Source-to-Image (S2i) を使用してシングルステップのデプロイメントを実行または自動化できます。これには、自動再デプロイをトリガーするためのDeploymentConfigの作成も含まれます。
さらに、Quarkusには、サーバーレスマイクロサービスをAWS Lambda、Azure Functions、Google Cloud FunctionsなどのクラウドプロバイダーやKnativeに簡単にデプロイし、Quarkusアプリケーションの高速な起動時間を活用できるエクステンションが含まれています。
トレース & デバッグ
Quarkusは、トレースやデバッグなど、Kubernetes上の分散型マイクロサービスアプリケーションをトラブルシューティングするためのツールと機能を開発者に提供します。
Quarkusは、ベンダーに依存しないAPIである OpenTelemetry を利用し、開発者がコードベースにトレースを簡単に組み込むのを支援します。分散トレースは、障害の発生箇所とパフォーマンス低下の原因を特定するのに役立ちます。
アプリケーションヘルス
Quarkusは、MicroProfile Health仕様の実装であるSmallRye Healthを活用しています。これにより、アプリケーションはKubernetes環境でその状態に関する情報を外部のビューアーに提供できます。Kubernetes環境では、自動化されたプロセスがアプリケーションを破棄すべきか再起動すべきかを判断できる必要があります。
アプリケーションメトリクス
Quarkusは、ランタイムおよびアプリケーションメトリクスに Micrometer メトリクスライブラリを利用しています。これは、最も人気のある監視システムに対するシンプルなファサードを提供し、ベンダーロックインなしでJVMベースのアプリケーションコードを計装できます。アプリケーション固有のメトリクスや組み込みメトリクスは、Micrometerを使用して公開できます。
アプリケーション設定
Quarkusには、Kubernetes ConfigMapsとSecretsを設定ソースとして使用できるエクステンションが含まれており、Quarkusアプリケーションを実行しているPodにそれらをマウントしたり、Kubernetes Deployment (またはOpenshift DeploymentConfig) に他の変更を加えたりする必要はありません。
リモート開発
アプリケーションが実行されるのと同じ環境で、アプリケーションを作成しデバッグします。開発モードでのライブコーディングでは、ローカルで行われた変更はクラスター化されたKubernetes環境に即座に反映されます。